linux常用命令解析

2019-12-24  本文已影响0人  Tc2952

本文原址:靠谱网

前言

本篇文章是基于博主学习过程中积累的命令整理,会在职业生涯中持续更新,差不多都是常用命令,方便查阅备忘之用。

本篇教程常用命令分类如下

系统信息;

系统性能;

文件和目录;

文件权限;

文件查找;

查看文件内容;

文件处理;

用户与权限;

磁盘管理;

压缩与解压;

其他常用命令。

一、系统信息

                                                                   命令                                  命令含义

uname显示系统信息

cat /proc/version查看linux版本信息

hostnamectl查看系统内核、系统版本信息

cal 2019显示2019年日历

ifconfig查看网卡信息

cat /proc/cpuinfo显示CPU的信息

cat /proc/cpuinfo | grep 'physical id'| sort | uniq | wc -l查看物理CPU个数

cat /proc/cpuinfo|grep 'cpu cores'|uniq查看每个物理CPU的核心数

cat /proc/cpuinfo|grep 'processor'|wc -l查看逻辑CPU个数(CPU线程数)

ping测试连接情况

二、系统性能

     命令                           命令含义       示例                    示例说明备注

top实时的显示cpu、内存、进程等使用情况(类似于windows下的任务管理器)top -d 3 -p 8243 -u mysql-d为界面刷新间隔时间,默认为5秒,-p指定进程id,-u指定用户名top命令的交互以及top各输出参数含义

free查看系统内存及虚拟内存使用情况free -h以人类可读的方式显示内存信息

iostat查看系统磁盘io负载分析、cpu使用情况iostat 2 5每2秒显示一次统计情况,一共显示5次

du计算文件大小du -h /usr/local/nginx/显示指定路径下的各个文件的大小并汇总

df显示磁盘的空间使用情况df -h人类可读的方式显示磁盘空间信息

systemctl查看正在运行的服务

三、文件和目录

                                   命令                                                                 命令含义

cd进入当前登录用的的家目录(Change Directory的缩写)

cd ..返回上一级目录

cd -返回上次所在的目录

cd /返回到根目录

cd ./a/b进入当前a目录下的b目录(相对路径)

cd /usr/local进入指定目录(绝对路径)

pwd显示工作路径(Print Working Directory的缩写)

ls -a列出目录下所有的文件(包括隐藏文件、文件夹)

file 文件或目录显示文件类型

mkdir abc在当前目录下创建目录abc,mkdir是make directory的缩写

mkdir -p /a/b/c递归创建目录,-p表示父目录不存在时,先创建父目录

touch abc.txt创建文件abc.txt

rm 文件删除文件

rm -r 文件或目录删除目录及目录下所有的文件

rm -rf 文件或目录强制删除!不询问

mv /usr/local/a /var/b移动a到var目录下并且改名为b

cp -ai /usr/local/abc /var/复制abc目录或者文件到var目录下(-a表示文件的属性也复制,目录下所有文件都复制,-i表示覆盖前询问)

scp -r /usr/local/abc.txt root@192.168.0.121:/root/远程传输文件:将本机的abc.txt传输到121服务器下的root目录下

ln -s /usr/local/abc.txt /usr/local/创建文件的软连接,快捷方式名字不变

ln -s /usr/local/abc.txt /usr/local/def.txt创建文件的软连接,快捷方式名字变为def.txt

ln -s /usr/local /var/对目录创建软连接

ln /usr/local/abc.txt /usr/local/创建文件的硬连接

四、文件权限

命令:chmod

命令含义:change mode的缩写,变更文件或目录的权限。

语法1chmod [-cfvR] [{ugoa}{+-=}{rwx}] 文件或目录

语法2chmod [-cfvR] [421] 文件或目录

参数说明

                参数                                                                                     参数含义

-c若该文件权限确实已经更改,才显示其更改动作

-f若该文件权限法务被更改也不要显示错误讯息

-v显示权限变更的详细信息

-R对当前目录下的所有文件和子目录进行相同权限的变更

mode参数格式:[ugoa][+-=][rwxX][数字]

                 参数                                                                           参数含义

u表示该文件的拥有者

g表示与该文件的拥有者属于同一个group中

o表示其他以外的人

a所有

+增加权限

-取消全校

=唯一设定权限

r可读取

w可写入

x可执行

X只有当该文件是个子目录或者该文件以及被设定过为可执行

数字参数时权限含义

    权限数值      权限     二进制                                                          具体作用

4r00000100read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。

2w00000010write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。

1x00000001execute,执行。当前用户可以执行文件,当前用户可以进入目录。

示例

                示例                                                                                   示例说明

chmod u=rwx,g=rw,o=r test.txt给test.txt文件所有者设置读写执行的权限,给所在组设置读写权限,给其它组设置只读权限

chmod -v u-x,g+x test.txt为test.txt文件所有者去除执行权限,为所在组增加执行权限,并打印变更权限详细信息

chmod +x test.txt为test.txt文件的所有者、所在组、其他组都增加执行权限

chmod 764 test.txt第一个数字7表示变更文件所有者权限为读写执行,第二个数字6表示变更文件所在组权限为读写,第三个数字4表示变更其他组权限为只读

chmod 600 test.txt给test.txt文件所有者设置读写的权限,其他所有人和组都无任何权限

命令:chown

命令含义:change owner的缩写,更改所有者和所属组。

语法chown [-cfvR] user[:group] 文件或目录

user: 表示新的文件拥有者的使用者 ID

group: 表示新的文件拥有者的使用者组(group)

示例

                                    示例                                                        示例说明

chown tom test.txt更改所属用户为tom

chown :people test.txt更改所属组为people

chown -R tom:people /usr/a目录更改a目录及子目录的所有者为tom、所属组为people

五、文件查找

命令:locate

命令含义:在mlocate数据库中搜索条目.

语法locate [OPTION]… [PATTERN]…

特点

①.非实时,模糊匹配,查找是根据全系统文件数据库进行的;

②.如果文件数据库不存在,则不能查找;

③.updatedb,手动生成文件数据库;

④.基于索引查找,查找速度快;

参数说明

                        参数                                                                         参数含义

-A, –all只显示匹配所有模式的条目

-b, –basename只匹配路径名的基本名称

-c, –count只显示找到的条目的数目

-d, –database DBPATH使用 DBPATH,而非默认数据(即:/var/lib/mlocate/mlocate.db)

-e, –existing只显示当前存在的文件条目

-L, –follow当文件存在时跟随蔓延的符号链接(默认)

-h, –help显示帮助信息

-i, –ignore-case匹配模式时忽略大小写区别

-l, –limit, -n LIMIT限制为 LIMIT项目的输出(或 计数)

-m, –mmap被忽略,用于向后兼容

-P, –nofollow, -H当检查文件时不跟随蔓延的符号链接

-0, –null输出时以 NUL 分隔项目

-S, –statistics不搜索项目,显示有关每个已用数据库的统计信息

-q, –quiet不报告关于读取数据库的错误消息

-r, –regexp REGEXP搜索基本正则表达式 REGEXP 而不是模式

–regex模式是扩展正则表达式

-s, –stdio被忽略,用于向后兼容

-V, –version显示版本信息

-w, –wholename匹配完整路径名(默认)

示例

                   示例                                                                          示例说明

locate /etc/sh搜索目录下所有以 sh 开头的文件

locate passwd查找包含某个字符串的相关文件

locate -n 5 passwd限定显示数量

locate -i -n 5 passwd查找时不区分大小写

命令:find

命令含义:功能强大的系统查找命令.

语法find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path…] [expression]

常用参数说明

              常用参数                                                                             参数含义

-name按名称查找

-size按大小查找

-user按属性查找

-type按类型查找

-iname忽略大小写

示例

                               示例                                                          示例说明

find /home -name "*.txt"在/home目录下查找以.txt结尾的文件名

find /home -iname "*.txt"在/home目录下查找以.txt结尾的文件名并忽略大小写

find . -name ".txt" -o -name ".pdf"当前目录及子目录下查找所有以.txt或者以.pdf结尾的文件

find . -type f -atime -7当前目录下搜索最近七天内被访问过的所有文件

find . -type f -atime +7当前目录下搜索超过七天内被访问过的所有文件

find . -type f -amin +10当前目录下搜索访问时间超过10分钟的所有文件

find . -type f -size +10k当前目录下搜索大于10KB的文件

find . -type f -size 10M当前目录下搜索等于10MB的文件

find . -type f -name "*.txt" -delete删除当前目录下所有.txt文件

find . -name "*.java" ! -perm 644找出当前目录下权限不是644的java文件

find . -perm 777当前目录下搜索出权限为777的文件和目录

find . -user tom找出当前目录用户tom拥有的所有文件和目录

find . -empty要列出所有长度为零的文件

find /etc -maxdepth 4 -mindepth 2 -name passwd查找etc目录下,查找子目录最大深度为4层、最小深度为2层,并且文件名为passwd的文件或目录

find . -type f -name ‘*.mp3’ -exec cp {} /tmp ‘;’查找当前目录下所有的MP3文件,并且复制到tmp目录

说明:find命令的功能和参数及其强大和复杂,这里只列出了比较常用的参数、语法和示例。详情可查阅:find

六、查看文件内容

                              命令                                                                         命令含义

cat [-n] 文件名显示文件内容,-n表示连行号一起显示

less 文件名一页一页的显示文件内容(按q退出浏览)

head [-n] 文件名显示文件头n行内容,n指定显示多少行

tail -n 3 -f 文件名显示文件尾3行内容,并在文件更新时实时追加显示,没有-n默认10行

sed -n ‘/tomcat/p’ 文件名显示包括关键词所在行

less 文件名grep tomcat

七、文件处理

                 命令                                                                        命令含义

echo "test" > abc.txt将字符串”test”写入(覆盖)到abc.txt文件中,原有文本内容会被覆盖,没有abc.txt文件则会创建

echo "test" >> abc.txt将字符串”test”追加到abc.txt文本中

wc -lwcm abc.txt统计文本信息:-l表示统计行数,-w统计单词,-c统计字节数,-m统计字符数

vim abc.txt查看编辑文件

八、用户与权限

命令:useradd

命令含义:添加用户

语法useradd [options] LOGIN

参数说明

            参数                                                                               参数含义

-c<备注>加上备注文字。备注文字会保存在passwd的备注栏位中。

-d<登入目录>指定用户登入时的启始目录。

-D变更预设值.

-e<有效期限>指定帐号的有效期限。

-f<缓冲天数>指定在密码过期后多少天即关闭该帐号。

-g<群组>指定用户所属的群组。

-G<群组>指定用户所属的附加群组。

-m自动建立用户的登入目录。

-M不要自动建立用户的登入目录。

-n取消建立以用户名称为名的群组.

-r建立系统帐号。

-s指定用户登入后所使用的shell。

-u指定用户ID。

命令:userdel

命令含义:删除用户

语法userdel [options] LOGIN

参数说明

               参数                                                                                参数含义

-f强制删除用户,即使用户当前已登录;

-r删除用户的同时,删除与用户相关的所有文件。

命令:usermod

命令含义:用于修改用户账号

语法usermod [options] LOGIN

参数说明

                  参数                                                                                    参数含义

-a|–append把用户追加到某些组中,仅与-G选项一起使用

-c|–comment修改/etc/passwd文件第五段comment

-d|–home修改用户的家目录通常和-m选项一起使用

-e|–expiredate指定用户帐号禁用的日期,格式YY-MM-DD

-f|–inactive密码过期多少天后禁用该帐号,0:密码过期就禁用帐号,-1:禁用此功能,默认值是-1

-g|–gid修改用户的gid,改组一定存在

-G|–groups把用户追加到某些组中,仅与-a选项一起使用

-l|–login修改用户的登录名称

-L|–lock锁定用户的密码

-m|–move-home修改用户的家目录通常和-d选项一起使用

-s|–shell修改用户的shell

-u|–uid修改用户的uid,该uid必须唯一

-U|–unlock解锁用户的密码

命令:groupadd

命令含义:添加组

语法groupadd [options] GROUP

参数说明

              参数                                                                                参数含义

-g gid指定组id

-r创建系统组

-f如果组已经存在,则成功退出;如果已经使用GID,则取消-g。

命令:groupdel

命令含义:删除组

语法groupdel [options] GROUP

命令:groupmod

命令含义:用于修改组信息

语法groupmod [options] GROUP

参数说明

                      参数                                                                        参数含义

-g GID修改组 ID;

-n新组名 修改组名

命令:passwd

命令含义:用来更改用户的密码

语法passwd [OPTION…] <accountName>

                        参数                                                                     参数含义

-k, –keep-tokens保留即将过期的用户在期满后能仍能使用;

-d, –delete删除用户密码,仅能以root权限操作;

-l, –lock锁住用户无权更改其密码,仅能通过root权限操作;

-u, –unlock解除锁定;

-f, –force强制操作;仅root权限才能操作;

-x, –maximum=DAYS两次密码修正的最大天数,后面接数字;仅能root权限操作;

-n, –minimum=DAYS两次密码修改的最小天数,后面接数字,仅能root权限操作;

-w, –warning=DAYS在距多少天提醒用户修改密码;仅能root权限操作;

-i, –inactive=DAYS在密码过期后多少天,用户被禁掉,仅能以root操作;

-S, –status查询用户的密码状态,仅能root用户操作;

九、磁盘管理

                                                            命令                                       命令含义

df -h显示磁盘的空间使用情况 及挂载点

df -h /var/log(显示log所在分区(挂载点)、目录所在磁盘及可用的磁盘容量)

du -sm /var/log/* | sort -rn根据占用磁盘空间大小排序(MB)某目录下文件和目录大小

fdisk -l查所有分区及总容量,加/dev/sda为查硬盘a的分区)

fdisk /dev/sdb对硬盘sdb进行分区

mount /dev/sda1 /mnt硬盘sda1挂载到/mnt目录(mount 装置文件名 挂载点)

mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS挂载iso文件

umount /dev/sda1取消挂载(umount 装置文件名或挂载点)

十、解压、缩压与打包、解包

命令:tar

命令含义:文件、目录打包、解包,并且支持将多个文件包成一个文件,同时还可通过gzip/bzip将该文件压缩。

语法1tar [-czvf] 打包后文件名 文件或目录

语法2tar [-xzvf] 需要解包的文件名

常用参数说明

      常用参数                                                                          参数含义

-c新建打包文件,同 -v 一起使用 查看过程中打包文件名

-C解压到对应的文件目录。

-x解包文件

-f后面接要处理的文件

-j通过bzip2方式压缩或解压,最后以.tar.br2 为后缀。压缩后大小小于.tar.gz

-z通过gzip方式压缩或解压,最后以.tar.gz 为后缀

-v压缩或解压过程中,显示出来过程

-t查看打包文件中内容,重点文件名

-r添加文件到已经压缩的文件

-u更新压缩文件中的内容。

-p保留绝对路径,即允许备份数据中含有根目录

-P保留数据原来权限及属性。

示例

                                       示例                                                           示例说明

tar -czvf fileName.tar.gz .压缩当前目录所有文件和目录到fileName.tar.gz包中

tar -xzvf fileName.tar.gz解压fileName.tar.gz

tar -tf 压缩文件名查看文件名

tar -tvf 压缩文件查看文件:所属权限、用户名用户组、日期等

tar -zcvf bak.tar.gz bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz

tar -jcvf bak.tar.bz2 bak.tar使用bzip2将打包文件bak.tar压缩为bak.tar.bz2

tar -rvf bak.tar /etc/password将/etc/password追加文件到bak.tar中

tar -cvf bak.tar .将当前目录的文件打包为bak.tar

tar -cvf log.tar log2012.log仅打包,不压缩!

tar -czvf log.tar.gz log2012.log打包后,以 gzip 压缩

tar -czvf log.tar.bz2 log2012.log打包后,以 bzip2 压缩

说明:tar仅为打包解包命令,需要解压缩则需要跟上相应参数或指定包后缀格式

命令:zip/unzip

命令含义:压缩(解压)文件,压缩文件后缀为.zip

语法1zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

语法2unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]

常用参数说明

            常用参数                                                                                  参数含义

-q不显示指令执行过程。

-r递归处理,将指定目录下的所有文件和子目录一并处理。

-P压缩时为压缩包添加密码

-o不必先询问用户,unzip执行后覆盖原有文件。

-d解压时指定解压文件存放目录

-t检查压缩文件是否正确。

-j不处理压缩文件中原有的目录路径。

示例

                               示例                                                                 示例说明

zip -r fileName.zip a目录把a目录以及子目录压缩为fileName.zip

unzip fileName.zip -d a目录fileName.zip解压到a目录里面

zip -r abc123.zip abc 123.txt把abc文件夹和123.txt压缩成为abc123.zip

unzip fileName.zip把fileName.zip直接解压到当前目录下

unzip abc*.zip把abc12.zip、abc23.zip、abc34.zip同时解压到当前目录

unzip -v fileName.zip查看把/home目录下面的fileName.zip里面的内容

unzip -t fileName.zip验证fileName.zip是否完整

unzip -j fileName.zip把fileName.zip里面的所有文件解压到第一级目录

十一、其他常用命令

通用命令

                                       命令                                                          命令含义

ls -l|grep "^-"| wc -l查看当前目录下的文件数量(不包含子目录中的文件)

last显示近期用户或终端的成功登录情况。

echo > /var/log/wtmp清除登陆系统成功的记录(此文件默认打开时乱码)

lastb记录失败的登录尝试

echo > /var/log/btmp清除登陆系统失败的记录

history -c清除历史执行命令

echo 3 > /proc/sys/vm/drop_caches释放缓存空间

适用于CentOS、RedHat系统

命令                                                                    命令含义

yum install 软件安装软件

yum list installed |grep java列出已安装的java软件

yum remove java-1.8.0-openjdk.x86_64卸载软件(卸载JDK)

yum update [软件]更新软件、软件库

wget -P /usr/local https://网址下载文件到指定目录

rpm -ivh wps-office-版本.x86_64.rpm安装rpm包(包要先下载并且要先装依赖包,这里推荐使用yum安装软件可自动下载依赖包)

适用于适用于Ubuntu、Debian系统系统

                       命令                                                                        命令含义

apt-get install 软件安装软件

上一篇下一篇

猜你喜欢

热点阅读