Linux 常用命令

Ø  简介

本文主要记录 Linux 中的常用命令,包括如下内容:

1.   文件处理命令

2.   权限管理命令

3.   文件搜索命令

4.   字符串处理命令

5.   帮助命令

6.   压缩解压命令

7.   网络通信命令

8.   其他命令

 

Ø  预备知识

Linux 中,文件没有后缀名,只要是可执行文件

1.   文件命名规则

1)   Linux 中文件名严格区分大小写

2)   除了"/"之外,所有的字符都是合法的;

3)   有些字符最好不要用,如:空格符、制表符、退格符和字符@#$%等;

4)   避免使用"."作为普通文件名的第一个字符,因为以"."为第一个字符的文件名,在 Linux 中是作为隐藏文件的。

 

2.   命令格式

命令格式:命令 [-选项] [参数]

例如:# ls  或者    # ls -l     或者    # ls -l /etc

说明:

1.   执行一个命令,实际是在执行一个程序;

2.   选项当有多个选项时,可以写在一起;

3.   由于命令选项可能比较多,不必记住所有选项,可现用现查。

 

4.   命令目录说明

/sbin /usr/sbin      #root 用户执行的命令

/bin usr/bin         #all users 所有用户都能执行的命令

1)   bin: 表示 binary(二进制);

2)   usr: 表示 user(用户);

3)   sbin: 表示 super(超级、超人)

 

5.   目录符号

./file1                         # ./ 表示当前目录下的 file1

../file2                       # ../ 表示上级目录下的 file2

~/file3                         # ~/ 表示宿主目录下的 file3

/fiel4                         # / 表示跟目录下的 file4

/bak//etc.20200411.tar.gz      #多个"/"也只会认为是一个目录

 

6.   通配符

1)   * 匹配多个任意字符或表示所有,例如:

# ls /etc/*.conf    #查找 etc 目录下以 .conf 结尾的文件或目录

# rm -rf * /dir4    #表示删除 dir4 目录下的所有文件和目录

 

2)   ? 匹配任何单个字符

# ls /etc/???.conf  #查找 etc 目录下前面为3个字符,并且以 .conf 结尾的文件或目录

 

3)   [] 匹配任何包含在括号中的单个字符

# rm -rf dir[134]   #表示删除 dir1 dir3 dir4 目录

 

1.   文件处理命令

1)   ls(list)

功能描述

查看目录中文件

语法

ls [选项] [文件或目录]

    -a(all) 显示所有文件,包括隐藏文件

    -l(long) 显示详细信息

    -h-l 选项一起使用,输出文件大小(如:1K22M)

    -L 查看软链接目录中的文件

    -d(directory) 查看当前目录详细信息

    -R 如果存在目录,一并递归显示目录中的文件列表

    -i(inode) 查看文件的 i 节点(数字标识),每个文件或目录必须有一个 I 节点,一个 I 节点就是一个数字,是系统标识文件或目录的内部标识。

执行权限

所有用户

命令所在路径

/usr/bin/ls

示例:

# ls                            #查看当前目录中的文件

# ls /root                      #查看指定目录中的文件,/表示根目录

# ls ../                       #查看上级目录中的文件列表

# ls -l /etc/virc /etc/vimrc    #同时查看多个文件的详细信息

# ls -lL /sbin                 #查看软链接目录中的文件(/sbin 为软链接)

# ls -lhR /learn               #递归查看 learn 目录中子目录的文件列表

# ls /etc/*.conf            #查找 etc 目录下以 .conf 结尾的文件或目录

 

n  目录和文件详细信息解释,例如:

drwxr-xr-x.  20 root root 3340 1   9 19:27 dev

drwxr-xr-x

1个字符 d 表示文件类型,常见的文件类型有:

l  d 目录(directory)

l  - 二进制文件,在 Linux 中二进制文件是非常常见的

l  l 软链接文件(link)

 

后面9个字符表示三类不同用户的对该文件的权限,权限分别为:r (read)w (write)x 执行(execute)

l  rwx 所有者的权限,使用 u(user owner)表示;

l  r-x 所属组的权限,使用 g(group)表示;

l  r-x 其他人的权限,使用 o(others)表示。

20

硬链接数

root

所有者

root

所属组

3340

文件大小,不是准确的计算目录中所有文件的大小,只是包含目录和子目录中的大小。在 Linux 中数据块(block)是最小存储的单位,默认为512个字节,可以调整数据块的大小。

1 9 19:27

文件的创建时间或最后的修改时间

dev

文件或目录的名称

           

2)   tree

功能描述

以树状结构,列出指定目录的所有文件及目录

语法

tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

    -a 列出所有文件和目录(默认选项)

    -C在文件和目录清单添加颜色,便于区分各种类型

    -D 列出文件和目录修改时间

    -p 列出权限标识

说明:CentOS 7.6 默认没有安装 tree 软件包

# tree /learn

bash: tree: 未找到命令...

# yum -y install tree       #使用 yum 按下即可

示例:

# tree -a /learn           #列出所有文件和目录

 

3)   cd(change directory)

功能描述

切换目录

语法

cd [目录]

示例:

# cd /                  #切换到根目录

# cd ~      # cd     #切换到当前用户的宿主目录

# cd ..                 #切换到上级目录

# cd /etc/abrt          #切换到指定目录

# cd !$                 #却换到上一次使用的目录

 

4)   pwd(print working directory)

功能描述

显示当前所在的工作目录

语法

pwd

示例:

[root@localhost abrt]# pwd

/etc/abrt

 

5)   mkdir(make directories)

功能描述

创建新目录

语法

mkdir [选项] [目录名]

    -p 父目录不存在则创建,通常用于一次创建多层目录;但如果不加 -p 选项时,会报错

示例:

# mkdir learn                   #在当前目录下创建目录

# mkdir /learn1                 #或者在指定目录下创建

# ls -ld /learn                 #查看目录详细信息

drwxr-xr-x. 2 root root 6 1   9 21:19 /learn

# mkdir -p ./dir1/dir2/dir3     #同时创建多层目录

# mkdir /web /bak               #同时创建 webbak 目录

注意:同一目录下不能存相同的文件名和目录名。

 

6)   touch

功能描述

创建空文件(二进制文件)

语法

touch [文件名]

示例:

# touch learn           #创建文件(默认权限为644

# touch "a b"           #创建文件名为 a b 的文件

# touch -- -abc         #创建文件名为 -abc 的文件

# touch ./dir1/file1 ; echo content1 >> ./dir1/file1    #创建文件并在文件中追加内容

 

7)   rm(remove)

功能描述

删除文件或目录

删除目录还可以使用 rmdir 命令,例如:# rmdir dir1

语法

rm [-rf] [文件或目录]

    -r 删除目录

    -f 是否删除确认,f 表示不确认

示例:

# rm yum.conf                  #删除文件

# rm -rf xdg                   #删除目录,并取消提示

# rm -f "a b"                  #删除文件名为 a b 的文件

# \rm -- -abc                  #删除文件名为 -abc 的文件

# rm -rf /web /bak             #同时删除 webbak 目录

# rm -rf /learn/*              #删除 /learn 目录下的所有文件及目录

或者

# rm -rf * /learn              #删除 /learn 目录下的所有文件及目录

 

8)   cp(copy)

功能描述

复制文件或目录

语法

cp [-rpf] [源文件或目录] [目标目录]

    -r 复制目录

    -R递归地复制目录

    -f 覆盖已经存在的目标文件而不给出提示

    -p 拷贝文件,保存文件属性与源文件相同

    -u如果存在的目的地有相同的,或者更新的修改时间,不复制非目录(文件).

示例:

[root@localhost learn]# cp /etc/yum.conf /etc/virc /learn   #复制 yum.conf virc 文件到 learn 目录下

[root@localhost learn]# cp -r /etc/yum /etc/xml /learn      #复制 yumxml 目录到 learn 目录下

[root@localhost learn]# ls

virc  xml  yum  yum.conf

[root@localhost skel]# cp -rf . /home/user2 #拷贝当前目录的所有文件到指定目录

注意:复制目录时必须指定 -r 选项。

[root@localhost etc]# cp -r /etc/skel/. /home/buser1    #拷贝 skel 目录下的所有文件到指定目录

 

9)   mv(move)

功能描述

移动文件或目录,或者更改文件名或目录名

语法

mv [选项] [源文件或目录] [目标文件或目录]

    -f 覆盖目标文件或目录不给任何提示

示例:

[root@localhost learn]# mv /learn/virc /learn/yum          #移动文件

[root@localhost learn]# mv /learn/yum/virc /learn/abc.test  #移动文件并改名

[root@localhost learn]# mv xml yum/testxml                 #移动目录并改名

 

10)  cat(concatenate and display files)

功能描述

查看文件的内容

语法

cat [文件名]

示例:

[root@localhost yum]# cat version-groups.conf   #查看当前目录下的文件

[root@localhost yum]# cat /etc/issue           #查看指定目录下的文件

 

注意:当文件内容比较多时,cat 不能显示文件所有内容,这时可以使用 more 命令。

 

11)  more

功能描述

分页显示文件内容

语法

more [文件名]

f键或空格:     显示下一页

b:           返回上一页

enter(回车): 显示上一行

q:           退出

示例:

[root@localhost yum]# more /etc/services

 

12)  head

功能描述

查看文件的前几行

语法

head -num [文件名]

    -num 显示文件的最后 num 行,默认为10

示例:

# head -5 /etc/services     #查看文件前5

 

13)  tail

功能描述

查看文件的最后几行

语法

tail -num [文件名]

    -num 显示文件的前 num 行,默认为10

    -f 动态显示文件内容

示例:

# tail -10f /learn/file1    #监视 file1 文件的信息(当文件内容发生改变时,会自动刷新)

 

注意:这一功能通常可以用于监视文件日志。

 

14)  ln(link)

功能描述

创建链接文件

语法

ln -s [源文件] [目标文件]

    -s 创建软链接

示例:

1.   创建软链接

# ln -s /learn/file1 dir1/file1.s       #注意:需要使用绝对路径

# ls -l dir1/file1.s file1

lrwxrwxrwx. 1 root root 12 1  12 15:27 dir1/file1.s -> /learn/file1

-rw-r--r--. 1 root root 17 1  12 15:19 file1

# ls -i file1 dir1/file1.s              #查看I节点

33624865 dir1/file1.s   1668263 file1   #i节点不同

 

软链接的特点:

1)   软链接的文件类型以 l 表示;

2)   所有用户都具有 rwx 的权限,但是这并不代表对源文件也具有这些权限,具体的权限任然要看用户对源文件的权限;

3)   大小比较小,只是一个文件的符号链接;

4)   日期为创建软链接的日期,与源文件不一样;

5)   软链接有一个 ->,表示指向的源文件;

6)   软链接类似于 Windows 中的快捷方式。

 

2.   创建硬链接

# ln file1 dir2/file1.h

# ls -l file1 dir2/file1.h

-rw-r--r--. 2 root root 17 1  12 15:19 dir2/file1.h

-rw-r--r--. 2 root root 17 1  12 15:19 file1

# ls -i file1 dir2/file1.h              #查看I节点

1668263 dir2/file1.h  1668263 file1     #i节点相同

 

硬链接的特点:

1)   硬链接的所有属性与源文件完全相同,如权限、内容、大小、日期等;

2)   硬链接就类似于拷贝cp -p + 同步更新;

3)   硬链接是同步更新的,任何一个硬链接文件改变,其他文件都会随之改变;

 

3.   软链接与硬链接的区别

1)   创建软链接需要指明源文件的绝对路径,而硬链接只需要指明相对路径;

2)   如果源文件删除,软链接也不能被访问了,而硬链接则不影响;

3)   软链接与源文件不属于同一个 I 节点,而硬链接与源文件属于同一个 I 节点,所以它们能同步更新;

4)   软件链接是引用源文件的路径,所以当源文件被删除后,如果之后再在原来的路径下创建相同的文件,软链接又可以被访问了;而硬链接则引用的是 I 节点,新创建的文件是另一个 I 节点,所以不能同步更新了。

5)   软链接可以跨文件系统(分区),而硬链接不可以;

 

15)  wc

功能描述

用于计算文件的 Byte 数、行数、字数等

语法

wc [-clw] [文件]

    -c  只显示 bytes

    -l  只显示行数

    -w  只显示字数

示例:

[root@localhost ~]# wc -l /etc/passwd

45 /etc/passwd      #表示该文件中有45

 

16)  file

功能描述

用于判断任何一个文件的文件类型

语法

file [选项] [文件]

示例:

# file file1    #判断 file1 文件的类型

 

17)  awk

功能描述

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫 AWK 是因为其取了三位创始人 Alfred AhoPeter Weinberger, Brian Kernighan    Family Name 的首字符。

说明:与该命令类似的还有一个 sed

语法

awk [选项参数] 'script' var=value file(s)

    -F 指定输入文件的分隔符(如F:),默认为空格(空格不能指定 -F,因为默认就为空格)

示例:

查找 UID 0的用户名:

# awk -F: '$3==0 {print $1}' /etc/passwd

 

查找密码为空的用户:

# awk -F: 'length($2)==0 {print $1}' /etc/shadow

 

查找 systemd 进程的 PID,注意字符串比较需要加双引号("")

# ps -le | grep system$ | awk '$14=="systemd" {print $4}'

 

查找第一列和最后一列

# ls -l | awk '{print $2,$NF}'

 

查找指定行中的指定的列,并转为 int 类型

# df | awk 'NR==2{print int($5)}'   #输出:15

 

18)  cut

功能描述

在文件的每一行中提取片断

语法

cut [OPTION]... [FILE]...

-c以字符为单位进行分割;

-d自定义分隔符,默认为制表符;

-f-d 一起使用,指定显示哪个区域

示例:

# head -n 1 /etc/passwd | cut -d ":" -f 1

说明:根据":"进行分割,提取用户名,很类似 awk 的功能

 

2.   权限管理命令

1)   chmod(change the permissions mode of a file)

功能描述

改变文件或目录权限

语法

chmod [-R] [{ugo}{+-=}{rwxs}] [文件或目录]

    -R 同时改变子目录和文件的权限

    u 所有者,+ 授予权限,r 可读权限,s(SetUID=4)

    g 所属组,- 撤销权限,w 可写权限,s(SetGID=2)

    o 其他人,= 赋予权限,x 可执行权限,t(粘着位=1)

    a 所有人(所有者、所属组、所有人)

    [mode=421] [文件或目录]

SetUID当一个可执行程序具有 SetUID 权限时,用户执行这个程序时,将以这个程序所有者的身份执行。

 

SetGID当一个可执行程序具有 SetGID 权限时,用户执行这个程序时,将以这个程序所属组的身份执行。

 

粘着位/粘滞位(Sticky bit):如果一个权限为777的目录具有粘着位,那么每个用户都可以在这个目录下创建文件,但是只能删除所有者是自己的文件(自己创建的文件),不能删除其他人的文件(比如临时文件的应用)。

$ ls -ld /tmp

drwxrwxrwt. 42 root root 4096 3  22 20:15 /tmp

 

示例:

1.   使用 rwxst 方式授权

# chmod u+x file2           #授予所有者可执行权限

# chmod g+w,o+x file2       #同时授予多个权限

# chmod g-r file2           #撤销所属组读取权限

# chmod o=rwx file2         #授予其他人可读、可写、可执行权限

# chmod a+x file2           #授予所有人、所属组、其他人可执行权限

# chmod u+s /bin/touch      #授予 SetUID

# chmod g+s /bin/touch      #授予 SetGID

# chmod o+t dir1            #授予粘着位

 

2.   使用数字(mode=[4|2|1]421)方式授权(推荐)

r=4 w=2 x=1,表示权限例如:

rwxr-xr--,为754,其中:所有者为7,所属组为5,其他人为4

rw-r-x—x,为651,其中:所有者为6,所属组为5,所有人为1

 

通过数字转为字母,可以包含的数字:76543210,例如:

751 -> rwxr-x-x     345 -> -wxr—r-x    527 -> r-x-w-rwx

306 -> -wx---rw-    612 -> rw---x-w-    316 -> -wx—xrw-

 

# chmod 651 file1

# ls -l file1

-rw-r-x--x. 2 root root 21 1  12 16:23 file1

 

SetUID(mode=4),使用数字授予 SetUID

# chmod 4755 /bin/touch

# ls -l /bin/touch

-rwsr-xr-x. 1 root root 62568 10 31 2018 /bin/touch

此时,所有者的执行权限就为 s(SetUID)了。

# chmod 4655 file1      #逻辑上应该是一个可执行文件,才有意义

# ls -l file1

-rwSr-xr-x. 2 root root 49 3  22 18:13 file1

注意:当一个文件没有 x 权限,而设置了 SetUIDS会显示为大写

 

SetGID(mode=2),使用数字授予 SetGID

# chmod 2755 /bin/touch

# ls -l /bin/touch

-rwxr-sr-x. 1 root root 62568 10 31 2018 /bin/touch

注意:同时授予 SetUID SetGID 可以使用 6755.

 

粘着位/粘滞位(mode=1),使用数字授予粘着位:

# chmod 1777 dir1

 

3.   目录与文件权限总结

n  目录权限

权限

含义

代表性命令

r–

可以列出目录中的文件列表

ls

w–

可以在目录中创建、删除文件

mkdirtouchrm

x–执行

可以进入目录

cd

 

n  文件权限

权限

含义

代表性命令

r–

可以查看文件内容

catmoreheadtail

w–

可以修改文件内容

echovi

x–执行

可以执行文件

命令、脚本

   

2)   chown(change file ownership)

功能描述

改变文件或目录的所有者

语法

chown [-R] [用户] [文件或目录]

    -R 同时改变子目录和文件的所有者

示例:

# chown user1 dir4          #修改 dir4 目录的所有者为 user1

# chgrp buser2 ./ sh_auth   #修改当前目录和 sh_auth 的所有者为 busr2

# chown -R buser1.mygroup1 file3    #同时改变所有者和所属组

 

3)   chgrp(change file group ownership)

功能描述

改变文件或目录的所属组

语法

chgrp [-R] [用户组] [文件或目录]

    -R 同时改变子目录和文件的所属组

示例:

# chgrp adm /learn/file1    #修改 file1 文件的所属组为 amd 系统组

# chgrp group5 ./ sh_auth   #修改当前目录和 sh_auth 的所属组为group5

 

4)   umask

功能描述

显示或设置文件和目录的缺省权限

语法

umask [-S]

    -S rwx 形式显示新建文件或目录缺省权限

注意:该设置仅在系统当前运行期间有效,重启后任然回到原始状态,如果需要永久生效,任然需要修改配置文件。

示例:

# umask         #显示权限掩码值

0022

l  0 特殊权限位;

l  022 用户权限位(权限掩码值),实际的权限数字应改为:777 – 022 = 755

 

# ls -ld dir5

drwxr-xr-x. 2 root root 6 1  12 21:19 dir5   #目录缺省权限为755

 

# ls -l dir5/file5

-rw-r--r--. 1 root root 0 1  12 21:20 dir5/file5 #文件缺省权限为644

Linux 权限规则:缺省创建的文件不能授予可执行的 x 权限。

 

# umask -S      #显示权限字母

u=rwx,g=rx,o=rx

 

# umask 027     #修改默认的缺省权限

注意:这里的指定的任然是权限掩码值,表示没有的权限,即777 – 750 = 027

# umask -S

u=rwx,g=rx,o=

 

3.   文件搜索命令

1)   which

功能描述

查找系统命令所在目录

语法

which [命令名称]

示例:

# which ls

alias ls='ls --color=auto'     #which 可以查看到命令的别名

/usr/bin/ls

 

2)   whereis

功能描述

查找二进制文件、源代码文件、man 手册页,或帮助文件

语法

whereis [options] [-BMS directory... -f] name...

    -b 只查找二进制文件;

    -m 只查找帮助文件;

    -s 只查找源代码文件

示例:

# whereis pwd           #查找 pwd 命令的所文件

# whereis -m pwd        #只查找 pwd 命令帮助文件

 

3)   find

功能描述

查找文件或目录(比较复杂的命令)

语法

find [搜索路径] -name [搜索关键字]

    -name 根据文件名查找

    -user 所有者

    -uid 用户ID

    -group

    -gid ID

    -inum i节点

    -type 文件类型

    -size 文件大小

    -perm 文件权限

示例:

# find /learn               #查看 learn 目录下的所有文件

# find /learn -name test1   #查找名称为 test1 的文件或目录

# find /learn -user user1   #查找所有者为 user1 的文件或目录

 

1.   使用通配符查找

# find /etc -name init*     #查找以 init 为前缀的文件或目录

# find /etc -name *init*    #查找包含 init 的文件或目录

# find /etc -name init???   #查找 init 后面为三位字符的文件或目录

/etc/inittab

# find ./ -name "su*"       #注意:特殊情况可以加""进行搜索

 

2.   根据 i 节点查找

通常用于查找一些比较奇怪的文件名,例如:

# find . -inum 1668260  #注意:必须先查出i节点数字

./-abc

 

3.   根据文件类型查找

# find /etc -name init* -a -type f      #查找二进制文件

文件类型:f 二进制文件,l 软链接文件,d 目录

 

4.   根据文件大小查找

# find / -size +204800      #查找大于100MB的文件或目录

注意:这里的大小是数据块的数量,通常一个数据块为512字节,换算公式:

1KB = (512字节 * 2) = 2block

100MB = 102400KB = 204800block

    小于

大于 +

等于 find / -size 204800

 

5.   根据文件权限查找

# find / -perm -4000 -o -perm -2000 > /bak/set_uid_gid.list 2> /dev/null   #将查找到所有设置了 SetUID SetGID 的所有目录和文件

 

6.   根据文件的时间查找

1)   ctimeatimemtime

2)   分钟 cminaminmmin

c-change 改变,表示文件属性被修改过:所有者、所属组、权限等;

a-assess 访问,表示文件被浏览过:catmorevi等;

m-modify 修改,表示文件的内容被修改过:echovi等。

同样,可以使用:-+、或者等于的时间范围来查找。

 

[root@localhost learn]# find /learn -mmin -60   #查找修改时间小于60分钟的文件和目录,注意:包含当前目录

/learn

/learn/file0103

 

7.   连接符

1)   -a and 逻辑与

2)   -o or 逻辑或

[root@localhost learn]# find /learn -size +163840 -a -size -204800    # /learn 下查找大于80M小于100MB的文件

[root@localhost learn]# find /etc -name act* -o -size +4096 #查找以 act 开头的或者大于2M的文件

 

8.   连接执行符

语法:find … -exec 命令 {} \;(固定写法)

{} find 查询的结果

\ 转义符,命令将执行本身的含义

; 语句的结束

 

使用转义符的示例:[root@localhost learn]# \rm file01033 #使用命令本身的含义,即取消别名功能(不询问)

 

查找 inittab 文件,并执行 ls 命令:

# find /etc -name inittab -exec ls -l {} \;

-rw-r--r--. 1 root root 511 10 31 2018 /etc/inittab

 

-exec 直接执行,不询问

# find /learn -name dir4 -exec rm -r {} \;

 

-ok 询问确认后,再执行相应命令

# find /learn -name dir4 -ok rm -r {} \;

 

4)   locate(list files in databases)

功能描述

查找文件或目录(UNIX 中不支持)

语法

locate [搜索关键字]

示例:

# locate file1  #查找文件名为 file1 的文件

/learn/file1

# locate /learn file1   #同时查找目录和文件

 

n  locate find 的区别

1.   locate 的速度比 find 要快很多,find 是在硬盘的目录中进行查找;而 locate 是在定期更新的文件数据库中进行检索,所以速度非常快;

2.   find 可以查找实时的文件,但是 locate 对查找的文件有延迟,新建的文件可能会找不到,因为还没更新到数据库中。这时可以结合 updatedb 命令强制更新数据库。

 

5)   updatedb(update the slocate database)

功能描述

更新整个系统目录文件的数据库

语法

updatedb

执行权限

root

示例:

# updatedb      #注意:默认只有 root 有执行权限

 

6)   grep

功能描述

在文件中搜索字符串匹配的行并输出(类似于 Windows 中的 Ctrl + F

语法

grep [选项] [搜索字符串] [文件路径]

    -v 排除指定字符串中的行

    -E 同时匹配多个关键字

    -i 忽略大小写

示例:

# grep ftp /etc/services

# grep root /etc/passwd /etc/shadow             #同时查找多个文件

# grep -v "^#" /etc/inittab            #排除注释行(行以首字母#开始的)

# ps -le | grep systemd$               #查找以 systemd 结尾的进程

# who | grep -v root                   #排除包含 root 的行

# ls -lL /sbin | grep shut*             #查找前缀为 shut 的文件

# ls -lL /sbin | grep -E "shutdown|useradd"     #同时匹配多个关键字

 

4.   帮助命令

1)   man(manual)

功能描述

获得命令或配置文件的帮助信息

语法

man [命令或配置文件]

示例:

# man ls            #查看命令帮助信息(默认类型为1

# man services      #查看配置文件帮助信息,注意:直接写配置文件名称,不能加路径

 

注意:如果当命令和配置文件同名时,默认优先查看命令的帮助。在 Linux 中帮助类型分为9,分别为1~9。其中1表示命令的帮助,5表示配置文件的帮助。

# whereis -m ls     #可以通过 whereis 命令查看帮助文件所在目录

ls: /usr/share/man/man1/ls.1.gz     #man1 目录,则使用 man 1 ls 查询

# man 1 passwd      #查看命令的帮助(类型为1

# man 5 passwd      #查看配置文件的帮助(类型为5

 

2)   info(information)

功能描述

查看帮助信息(UNIX 中不支持)

语法

info [任何关键字]

示例:

# info ls

 

注意:使用方式与 man 命令类似,只是呈现帮助的信息与 man 有所不同,根据个人喜好选择使用 man 或者 info 即可。

 

3)   whatis apropos makewhatis(search the whatis database for strings)

功能描述

查看命令简短的描述信息

语法

whatis apropos [任何关键字]

示例:

# whatis ls         #查看命令的简要描述信息

# ls –help         #查看命令的选项帮助信息

# apropos fstab     #查看包含 fstab 文件名的配置文件描述信息

 

locate 一样,如果安装了新的软件,配置文件或命令的帮组信息改变后,也需要更新索引数据库。即使用 makewhatis 命令,建立 whatis apropos 搜索使用的数据库,当使用这两个命令发生错误时,就是 whatis database 没有建立。

# makewhatis       #执行失败(未找到命令?)

 

4)   help

查看 shell 内置命令的帮助信息,例如:

# help cd

# help pwd

 

5.   压缩解压命令

1)   gzip(GUN zip)

功能描述

压缩文件,压缩后的文件格式为:.gz

语法

gzip [选项] [文件]

    -1 快速压缩(压缩文件较大);

    -9 最佳状态压缩(压缩文件较小)

    -d 解压缩 .gz 文件

示例:

# gzip file1            #压缩后的文件为为 file1.gz

# gzip -d file.gz       #解压缩

或者

# gunzip file1.gz       #解压缩

 

n  gzip 压缩的特点:

1.   只能压缩文件,不能压缩目录,所以通常使用 tar 命令来目录的压缩

2.   压缩后会删除原来的文件;

3.   压缩比非常惊人(比较好)。

 

2)   bzip2

功能描述

压缩文件,压缩后的文件格式:.bz2

说明:bzip2 gzip 的升级版

语法

bzip2 [-k] [文件]

    -k 压缩文件后保原文件

示例:

# bzip2 -k file1            #压缩并保留原文件

# bunzip2 -k file1.bz2      #解压并保留原文件

 

3)   tar

功能描述

打包目录,压缩后的文件格式:.tar.gz

说明:tar.gz 会保持文件和目录原有的属性。

语法

tar [选项] [打包后的文件名] [目录]

    -c 创建 tar 包文件

-r 追加文件到 tar 包中的结尾(tar 包使用)

-u 仅将较新的文件追加到 tar 包中(tar 包使用)

-x 解包 tar 文件

    -z gzip tar 包文件压缩或解压

    -t 列出压缩文件中文件目录

    -C 指定解包的目录

    -f 指定压缩或解压后的文件名

    -v 可选的,显示打包时或解压时的详细信息

    --delete tar 包中删除指定文件

提示:tar 命令在使用时,选项可以省略"-",例如:tar zcvf 即可。

示例:

# tar -cf tar2.tar dir2                #打包为 tar 文件

# tar -tf tar2.tar                     #列出 tar 包中的文件列表

# tar -rf tar2.tar file2               # file 追加至 tar 包中

# tar --delete file2 -f tar2.tar        #删除 tar 包中的指定文件

 

# tar -cf dir6.tar dir6                #先打包

# gzip dir6.tar                        #再压缩

或者

# tar -zcvf dir5.tar.gz dir5            #打包并压缩

# tar -zcvf dir3/ntar.tar.gz /learn/dir1 /learn/file2

##同时打包、压缩多个文件和目录

注意:这里指定打包文件的绝对路径,解压时才可以解压到对应目录下

 

# tar -ztf dir3/ntar.tar.gz            #查看压缩文件中的内容(不解包)

# tar -zxf dir3/ntar.tar.gz             #默认解压缩到当前目录(会根据压缩目录结构,在当前目录下创建压缩时的目录)

# tar -zxvf dir3/ntar.tar.gz -C /       #解压到根目录(保持压缩时的目录结构)

或者

# cd /; tar -zxf /learn/dir3/ntar.tar.gz; cd /learn     #解压到压缩前的目录中,再返回当前目录

# tar -zxf dir3/ntar.tar.gz learn/file2 #解压压缩包中的指定文件

 

4)   zip

功能描述

压缩文件或目录,压缩后的文件格式:.zip

.zip 是唯一支持 windows linux 通用的压缩格式

语法

zip [-r] [压缩后文件名] [文件或目录]

    -r 压缩目录

    -f 更新压缩文件

    -F 修理压缩文件

示例:

# zip file1.zip file1       #压缩文件

# zip -r dir6.zip dir6      #压缩目录(好像也不需要 -r 的选项)

# unzip dir5.zip           #解压到当前目录

# unzip -d ./dir5 dir6.zip  #解压到当前目录下的dir5目录中

 

n  gzip 的区别

1.   可以压缩目录;

2.   压缩后不会删除源文件;

3.   压缩后显示压缩比;

4.   是兼容 Windows 最好的格式。

 

Ø  总结

命令

支持压缩目录

删除源文件

显示压缩比

压缩比

后缀

兼容WIN

gzip

不支持

删除

.gz

不兼容

bzip2

不支持

可选择

.bz2

不兼容

tar

支持

不删除

未验证

.rar.gz

不兼容

zip

支持

不删除

未验证

.zip

兼容

 

6.   网络通信命令

1)   write

功能描述

向另外一个用户发信息,以 Ctrl + D 为结束

语法

write <用户名>

示例:

# write user1

abc

 

2)   wall

功能描述

向所有用户广播信息

语法

wall [message] [文件名]

示例:

# wall abcdef       #发送广播

# mesg n            #设置不接收广播(y 表示接受)

注意:普通用户不能屏蔽 root 用户的广播信息

 

3)   mail(发送邮件)

 

4)   ping

功能描述

测试网络连通性

语法

ping [-cs] IP地址

    -c 指定发送请求次数

    -s 指定发送请求包的大小,最大为

示例:

$ ping 172.20.10.4          #ping其他IP地址

# ping 192.168.1.150       #如果ping不通,ping自身的IP地址,如果能ping通自身IP地址,说明本机网络是没问题的

# ping 127.0.0.1           #ping回环地址,只要安装了 TCP/IP 协议都可以ping

# ping -c 3 172.20.10.4     #指定发送3次请求

 

5)   ifconfig

功能描述

查看网路设置信息

语法

ifconfig [-a] [网卡设备标识]

    -a 显示所有网卡信息

示例:

# ifconfig -a

ens33: inet 192.168.1.150  netmask 255.255.255.0  broadcast 192.168.1.255

# ifconfig ens33 192.168.1.151  #临时设置IP(测试不成功,虚拟机能设置,但不能访问)

 

7.   其他命令

1)   shutdown

功能描述

关机

语法

shutdown [选项]

    -h 指定关机时间

示例:

# shutdown -h now       #立刻关机(或者 init 0

# shutdown -h 20        #20分钟后关机

 

2)   reboot

功能描述

重启系统

语法

reboot

示例:

# reboot        #立刻重启(或者 init 6

 

3)   echo

功能描述

用于输出指定的字符串

语法

echo [选项] [字符串]

示例:

# echo string                      #输出:string

# echo "string"                     #""双引号是可以省略的,输出:string

# let i=10;let j=20;echo $i $j      #同时输出多个变量,结果:10 20

 

4)   md5sum

功能描述

用于输出指定的字符串

语法

md5sum [选项] [文件]

示例:

# md5sum /etc/passwd       # passwd 文件进行加密并输出

25e59433d7cbfb42bd9ab43b9b7d074a  /etc/passwd

# echo 123 | md5sum

ba1f2511fc30423bdbb183fe33f3dd0f  -

 

5)   date

功能描述

显示或设置系统日期和时间

语法

date [选项]... [+格式]

date [选项] [MMDDhhmm[[CC]YY][.ss]]

示例:

# date                  #查看系统时间

2020 04 08日 星期三 22:37:16 CST

# date +%F" "%H:%M:%S   #加空格输出2020-04-18 16:23:49

格式化输出:

# date +%F      #年月日:2020-04-08

# date +%D      #月日年:04/08/20

# date +%Y      #四位年:2020

# date +%y      #两位年:20

# date +%m      #两位月:04

# date +%d      #两位日:08

# date +%H      #两位小时:22

# date +%M      #两位分钟:40

# date +%S      #两位秒:25

更多查看 man date

 

6)   查看操作系统版本

# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

 

7)   查看操作系统位数

# getconf LONG_BIT

64

posted @ 2020-08-22 22:32  Abeam  阅读(342)  评论(0编辑  收藏  举报