Linux编程:linux常用命令

文章较长,可用右侧标题栏快速查看

命令格式

Linux系统中的命令遵循如下的基本格式:

command [options] [arguments]

其中command表示命令的名称;options表示选项,定义了命令的执行特性;arguments表示命令作用的对象。如下示例:

$rm –r dir

该语句的功能为删除目录dir,其中rm为命令的名称,表示删除文件;-r为选项,表示删除目录中的文件和子目录;dir为命令作用的对象,该对象是一个目录。Linux系统中的命令都遵循以上格式,命令中的选项和参数可酌情缺省。

命令的选项有两种,分别为长选项和短选项。以上示例中的选项“-r”为短选项,对应的长选项为“--recursive”。长/短选项的区别在于,多个短选项可以组合使用,但长选项只能单独使用。例如,rm命令还有一个常用选项“-f”,表示在进行删除时不再确认,该选项可与“-r”组成组合选项“-rf”,表示直接删除目录中的文件和子目录,不再一一确认;若使用长选项实现以上功能,则需使用以下命令:

rm –recursive –force dir

与短选项相比,长选项显然比较麻烦,因此Linux命令中通常不使用长选项。

文件处理与管理命令

Linux操作系统中秉持“一切皆文件”的思想,将其中的文件、设备等统统当做文件来操作与处理,因此,文件处理与管理文件命令是Linux常用命令的基础,也是至关重要的一部分。文件处理与管理命令又可细分为四类,分别为:文件处理命令、文件查看命令、权限管理命令和文件搜索命令。

下面将从每种命令的功能入手,结合案例,对各个文件处理与管理命令依次进行讲解。

1. 文件处理命令

常用的文件处理命令有:ls、cd、pwd、touch、mkdir、cp、mv、rm、rmdir等,涵盖了文件的属性查看、目录切换、目录查看、删除、复制等功能。

① ls

ls命令的原意为list,即“列出”,用于列出参数的属性信息,其命令格式如下:

ls [选项] [参数]

ls的参数通常为文件或目录,其常用的选项列表如表1所示。

表1 ls命令常用选项

参数说明
-l以详细信息的形式展示出当前目录下的文件
-a显示当前目录下的全部文件(包括隐藏文件)
-d查看目录属性
-t按创建时间顺序列出文件
-i输出文件的inode编号
-R列出当前目录下的所有文件信息,并以递归地方式显示各个子目录中的文件和子目录信息

案例1:显示当前目录下的所有文件信息。

[itheima@localhost ~]$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

当参数缺省时,ls命令默认列出当前目录中的内容。

案例2:显示当前目录下的所有文件信息。

[itheima@localhost ~]$ ls -a
.       .dmrc    .gtk-bookmarks     .pulse
..       Documents  .gtk-bookmarks.LSTSNY .pulse-cookie
(……)

当显示所有文件信息时,我们发现结果中多了许多以“.”开头的文件,这些文件是Linux中的隐藏文件。隐藏文件中又有两个特殊的文件:“.”和“..”,分别代表当前目录和上一级目录(由于使用“ls -a”命令时,显示的内容较多,因此将部分显示内容省略。以上输出结果中的“(……)”代表省略内容,而非实际输出内容,被省略部分不影响知识讲解,在之后的案例中可能遇到同种情况,将不再赘述。)

② cd

cd命令的原意为“change directory”,即更改目录。若执行该命令的用户具有切换目录的权限,cd命令将更改当前工作目录到对象目录。该命令的格式如下:

cd 参数

cd命令没有选项,其参数不可省略。

案例3:使用cd命令切换目录。

[itheima@localhost ~]$ cd ./Public
[itheima@localhost Public]$ cd ..
[itheima@localhost ~]$ cd /etc/yum
[itheima@localhost yum]$ cd ~

以上共有四条路径切换命令,其对应的功能依次如下:

● 切换工作路径到当前目录下的Public目录中;

● 切换工作路径到上一级目录;

● 切换工作路径到etc目录下的yum目录中;

● 切换工作路径为当前用户的家目录。

③ pwd

pwd命令的原意为“print working directory”,即打印当前工作目录的绝对路径。该命令可直接使用,用法及打印结果如下案例所示:

案例4:使用pwd命令获取当前目录。

[itheima@localhost ~]$ pwd
/home/itheima

④ touch

touch命令的主要功能,是将已存在文件的时间标签更新为系统的当前时间,若指定的文件不存在,该命令将会创建一个新文件,所以该命令有个附加功能,即创建新的空文件。touch命令的格式如下:

touch 参数

touch命令的参数可以是文件,也可以是一个目录。

案例5:修改文件file的时间标签为当前时间。

[itheima@localhost ~]$ ls -l file
-rw-rw-r--. 1 itheima itheima 0 Sep 13 08:30 file
[itheima@localhost ~]$ touch file
[itheima@localhost ~]$ ls -l file
-rw-rw-r--. 1 itheima itheima 0 Sep 13 08:31 file

在该案例中,先使用ls -l命令打印了文件file的属性信息,再使用touch命令对file进行操作,之后再次打印文件file的属性信息,对比两次打印结果,可知touch成功更新了文件file的时间标签。

⑤ mkdir

mkdir命令的原意为“make directory”,即创建目录。mkdir命令的格式如下:

mkdir [选项] 参数

mkdir命令的参数一般为目录或路径名,当参数为目录时,为保证新目录可成功创建,使用该命令前应确保新建目录不与其同路径下的目录重名;当参数为路径时,需保证路径中的目录都已存在,或通过选项创建路径中缺失的目录。mkdir命令的常用选项如表2所示。

表2 mkdir命令常用选项

参数说明
-p若路径中的目录不存在,则先创建目录;
-v查看文件创建过程。

案例6:在当前路径下的“itheima”目录中创建“bxg”目录。

[itheima@localhost ~]$ mkdir ./itheima/bxg
mkdir: cannot create directory `./itheima/bxg': No such file or directory
[itheima@localhost ~]$ mkdir -p ./itheima/bxg
[itheima@localhost ~]$ ls
a    Documents itheima Pictures Templates
Desktop Downloads Music  Public  Videos

如上所示,若路径中的目录不存在,又未使用参数-p,将会报错,提示没有发现相应文件或目录;之后添加-p选项,则会在先路径中创建itheima目录,之后再在itheima目录中创建子目录bxg。

⑥ cp

cp命令的原意为“copy”,即拷贝,该命令的功能为将一个或多个源文件复制到指定的目录,其命令格式如下:

cp [选项] [源文件或目录] [目的目录]

默认情况下,该命令不能复制目录,若要复制目录,需同时使用“-R”选项。cp命令常用的选项如表3所示。

表3 cp命令常用选项

参数说明
-R递归处理,将指定目录下的文件及子目录一并处理
-p拷贝的同时不修改文件属性,包括所有者、所属组、权限和时间
-f强行复制文件或目录,无论目的文件或目录是否已经存在

案例7:将当前路径下的文件a复制到目录dir中。

[itheima@localhost ~]$ cp a ./dir

案例8:将当前目录下的Public目录复制到./itheima/bxg。

[itheima@localhost ~]$ cp -R Public ./itheima/bxg

⑦ mv

mv命令的原意为“move”,该命令用于移动文件或目录,若同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则该命令会将前面指定的多个文件或目录复制到最后一个目录中。其命令格式如下:

mv 源文件或目录 目的目录

若该命令操作的对象是相同路径下的两个文件,则其功能为修改文件名。

案例9:将文件a移动到目录./itheima/bxg中

cast@localhost ~]$ mv a ./itheima/bxg

案例10:使用mv命令修改文件名。

#mv file file2
[itheima@localhost ~]$ mv ./itheima/a ./itheima/b
[itheima@localhost ~]$ cd ./itheima
[itheima@localhost itheima]$ ls
b bxg

根据以上展示的结果可知,mv命令将目录itheima中的文件a的文件名改为了b。

⑧ rm

rm命令的原意为“remove”,功能为删除目录中的文件或目录,该命令可同时删除多个对象,其命令格式如下:

rm [选项] 文件或目录

若要使用rm命令删除目录,需再参数前添加-r选项。除-r外,rm常用的选项列表如表4所示。

表4 rm命令常用选项

参数说明
-f强制删除文件或目录
-rf选项-r与-f结合,删除目录中所有文件和子目录,并且不一一确认
-i在删除文件或目录时对要删除的内容逐一进行确认(y/n)

案例11:删除家目录下的目录itheima。

[itheima@localhost ~]$ rm itheima
rm: cannot remove `itheima': Is a directory
[itheima@localhost ~]$ rm -ri itheima
rm: descend into directory `itheima'? y
rm: remove regular empty file `itheima/b'? y
rm: descend into directory `itheima/bxg'? y
rm: remove directory `itheima/bxg/Public'? y
rm: remove regular empty file `itheima/bxg/a'? y
rm: remove directory `itheima/bxg'? y
rm: remove directory `itheima'? y
[itheima@localhost ~]$

注意:

使用rm删除的文件无法恢复,在删除文件之前,一定要再三确认。

⑨ rmdir

rmdir命令的原意为“remove directory”,该命令与rm命令类似,但该命令仅用于删除目录。rmdir的命令格式如下:

rmdir [-p] 目录

rmdir命令可删除指定路径中的一个或多个空目录,若在命令中添加参数-p,此条命令将会在删除指定目录后检测其上层目录,若该目录的上层目录已变成空目录,则将其一并删除。

案例12:删除itheima目录下的bxg目录。

[itheima@localhost ~]$ rmdir itheima/bxg
[itheima@localhost ~]$ mkdir -p itheima/bxg

2. 文件查看命令

文件查看命令主要用于查看文件中存储的内容,常用的文件查看命令有:cat、more、head、tail等。

① cat

cat命令的愿意为“concatenate and display files”,即连接和显示文件,cat的功能为将文件中的内容打印到输出设备,该命令的格式如下:

cat 文件名

案例13:打印etc目录下用户信息文件中的内容,该文件的路径为/etc/passwd。

[itheima@localhost ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
……

② more

more命令用于分页显示文件内容,more的命令格式如下:

more [文件名]

在使用more命令分页显示文件内容时,可以使用快捷键进行翻页等操作,其快捷键如下表5所示。

表5 more快捷键说明

快捷键说明
f/Space显示下一页
Enter显示下一行
q/Q退出

案例14:分页显示etc目录下用户信息文件中的内容。

[itheima@localhost ~]$ more /etc/passwd

(打印结果不再展示,读者可自行实验)

③ head

head命令也用于查看文件内容,但该命令可指定只查看文件的前n行。head命令的格式如下:

head -n filename

其中n为要查看的行数,filename为待查看文件的文件名。

案例15:使用head命令查看etc目录下passwd文件中前两行内容。

[itheima@localhost ~]$ head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

④ tail

tail命令与head命令的相反,用于查看文件的后n行内容。tail命令的格式如下:

tail -n filename

其中n为要查看的行数,filename为待查看文件的文件名。

案例16:使用tail命令查看etc目录下passwd文件后三行内容。

[itheima@localhost ~]$ tail -3 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
itheima:x:500:500:itheima:/home/itheima:/bin/bash

3. 权限管理命令

根据用户的权限,Linux系统中的用户大体分为两类:超级用户root和普通用户。其中超级用户拥有操作Linux系统的所有权限,但为保证系统安全,一般不使用超级用户登陆,而是创建普通用户,使用普通用户进行一系列操作。为避免普通用户权限过大,或权限不足,通常需要由root用户创建拥有不同权限的多个用户,或变更某个用户的权限,此时便需用到一系列的权限管理命令。

在学习权限管理命令之前,我们需先了解Linux系统中用户与文件、与其它用户的关系,与文件权限的含义。根据用户与文件的关系,Linux系统中将用户分为文件或目录的拥有者、同组用户、其他组用户和全部用户;又根据用户对文件的权限,将用户权限分为读取权限(read)、写入权限(write)和执行权限(execute)。表6列出了文件与目录拥有对应权限时的含义。

表6 权限说明

权限对应字符文件目录
读权限r可查看文件内容可以列出目录中的内容
写权限w可修改文件内容可以在目录中创建、删除文件
执行权限x可执行该文件可以进入目录

常用的权限管理命令有:chmod、chown、chgrp等,使用这些命令往往需要管理员权限,但登录时系统默认的是普通用户,因此我们应先将用户切换到root。切换用户时使用的命令是“su”,其用法如下:

[itheima@localhost ~]$ su
Password:

经过如上操作后,此时的工作目录切换为root用户的根目录。若需要切换回原用户时,使用“exit”命令退出即可,示例如下:

[root@localhost itheima]# exit
exit

当然普通用户也可使用权限管理命令,但只能操作属于该用户的文件,若想对其它用户的文件进行操作,需要先提升自身的权限。提升用户权限的命令为sudo,该命令将在第4章中讲解,此处则以root用户为主,讲解相应命令。下面我们将从功能入手,结合案例,来讲解常用的权限管理命令。

① chmod

chmod命令的原意为“change the permissions mode of file”,其功能为变更文件或目录的权限,该命令的格式如下:

chmod [{augo}{+-=}] [文件或目录]

其中“a”表示所有用户,“u”表示用户名user,“g”表示组名group,“o”表示其它;“+”表示添加权限,“-”表示取消权限,“=”表示设定权限。

案例17:创建一个目录b,为目录b设置权限,要求:用户自己拥有读取、写入及执行权限,同组用户拥有读取和执行权限,其他组用户拥有读取权限。

[root@localhost itheima]# mkdir b
[root@localhost itheima]# ls -l b
-rw-r--r-- 1 root root 0 Sep 14 02:46 b
[root@localhost itheima]# chmod u+x,g+x b
[root@localhost itheima]# ls -l b
-rwxr-xr-- 1 root root 0 Sep 14 02:46 b

除了上述方法外,还可以以数值的形式表示权限。

使用数值表示权限时,可以方便地设置某个文件的所有者权限、所在组权限与其它人的权限。不同的权限对应不同的数值:读权限对应的数值为4,写权限对应的数值为2,执行权限对应的数值为1。简单来说,若设置某个文件的权限为777,则表示所有用户对该文件或用户都有读权限、写权限和可执行权限。

案例18:在itheima目录中创建bxg目录,为bxg目录设置权限,要求:用户自己拥有读取、写入及执行权限,同组用户拥有读取和执行权限,其他组用户拥有读取权限。

[root@localhost itheima]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Sep 14 03:00 bxg
[root@localhost itheima]# chmod 754 bxg
[root@localhost itheima]# ls -l
total 4
drwxr-xr-- 2 root root 4096 Sep 14 03:00 bxg

对比两次打印结果可知,bxg目录的权限由755变为了754,即其它用户的权限由可读可执行,变为了只读。

在管理权限时,若权限的变动较小,可以使用字符方式进行设置;若权限的变动较大,多个对象的多项权限都要发生改变,使用数值表示法进行设置更为方便。

② chown

chown命令的原意为“change the owner of file”,其功能为更改文件或目录的所有者。默认情况下文件的所有者为创建该文件的用户,或在文件被创建时通过命令指定的用户,但在需要时,可使用chown对文件的所有者进行修改。该命令的格式如下:

命令格式:chmod [用户] [文件或目录]

案例19:改变文件file的所有者为itheima。

[root@localhost itheima]# ls -l
total 4
drwxr-xr--. 2 root root 4096 Sep 14 03:00 bxg
[root@localhost itheima]# chown itheima bxg
[root@localhost itheima]# ls -l
total 4
drwxr-xr--. 2 itheima root 4096 Sep 14 03:00 bxg

对比两次打印结果可知,目录bxg的所有者由root变为了itheima。

③ chgrp

chgrp命令的原意为“change file group”,用于更改文件或目录的所属组。一般情况下,文件或目录与创建该文件的用户属于同一组,或在被创建时通过选项指定所属组,但在需要时,可通过chgrp命令更改文件的所属组。chgrp命令的格式如下:

chgrp [组名] [文件或目录]

案例20:修改目录bxg的所属组为itheima。

[root@localhost itheima]# chgrp itheima bxg
[root@localhost itheima]# ls -l
total 4
drwxr-xr--. 2 itheima itheima 4096 Sep 14 03:00 bxg

由以上输出结果可看出,目录bxg的所属组由root变为了itheima。

4. 文件搜索命令

文件搜索命令可根据文件名或关键字,搜索文件所在路径,或根据关键字符搜索文件内容。常用的文件搜索命令有:which、find、locate、grep等,下面我们将从其功能入手,结合案例,来讲解这些命令。

① which

我们所使用的每一条Linux命令也以文件的形式保存在系统中,使用which命令可查看命令所在的目录。which命令的格式如下:

which 命令

案例21:查找命令ls所在的路径。

[itheima@localhost ~]$ which ls
alias ls='ls --color=auto'
  /bin/ls

与which类似,whereis也能找到命令所在的位置,不同的是,which还能找到命令的别名记录,而whereis可以同时展示命令帮助文档所在的路径。

② find

find命令可借助搜索关键字查找文件或目录,该命令的格式如下:

find 搜索路径 [选项] 搜索关键字

其中搜索关键字可以为文件名、文件大小、文件所有者等。find常用的选项列表如表7。

表7 find命令常用选项

参数说明
-name根据文件名查找
-size根据文件大小查找
-user根据文件所有者查找

案例22:按文件名在etc目录下查找passwd文件。

[root@localhost itheima]# find /etc -name passwd
/etc/pam.d/passwd
/etc/passwd

③ locate

locate命令也可借助搜索关键字查找文件或目录,该命令的格式如下:

locate [选项] 搜索关键字

案例23:搜索etc目录下所有以pas开头的文件。

[root@localhost itheima]# locate /etc/pas
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

locate的功能与“find -name”相同,但在速度上,locate要比find命令快很多,因为它不是搜索Linux的整个目录,而是搜索数据库/var/lib/locatedb。但是即便你确定某个文件存在时,locate也有可能搜索不到该文件,如以上案例搜索结果就不理想。

这是因为,这个数据库中包含本地所有文件信息,Linux系统一般自动创建这个数据库,并每天自动更新一次,所以使用locate命令查不到最新变动的文件。为了避免此种情况,可以在使用locate命令之前,先使用updatedb命令,手动更新数据库。具体演示如下。

[root@localhost itheima]# updatedb
[root@localhost itheima]# locate /etc/pas
/etc/passwd
/etc/passwd-
/etc/passwd.OLD

④ grep

grep命令用于在文件中搜索与字符串匹配的行并输出,该命令的格式如下:

grep 指定字符 源文件

案例24:查找etc目录下的services文件中包含root的行。

[root@localhost itheima]# grep root /etc/services
rootd      1094/tcp        # ROOTD
rootd      1094/udp        # ROOTD
[root@localhost itheima]#

image-20200629175128765多学一招:文件详细信息

我们可使用“ls –l /etc”显示目录/etc中文件的详细信息:

[itheima@localhost ~]$ ls -l /etc | more
total 1396
drwxr-xr-x 3 root root    97 Jun 30 18:20 abrt
-rw-r--r-- 1 root root    16 Jun 30 18:25 adjtime
-rw-r--r-- 1 root root   1518 Jun 7 2013 aliases
-rw-r--r-- 1 root root  12288 Jun 30 10:27 aliases.db
……

由以上输出结果可以看出,使用“ls –l”命令查看目录信息时,会得到目录文件数量统计和一个由空格划分的7个字段的列表,该列表的每个字段所表示的信息依次为:文件类型与权限、文件硬链接数、文件所有者、文件所有者所属组、文件所占空间、文件最近访问/修改时间、文件名。下面对这些信息进行讲解。

① 文件名

列表中每行信息的最后一个字段为该文件的文件名。若文件是一个链接文件,则文件名中会有一个“->”,该符号之后为其所指文件的文件名。

② 文件类型与权限

此部分对应列表中每行信息的第一个字段,共由10个字符组成:

第1个字符代表文件的类型,不同的文件对应不同的字符,其中字符“-”表示该文件是一个普通文件,字母“d”表示该文件是一个目录(directory),字母“l”表示该文件是一个链接文件。这三类是较为常见的文件类型。其次还有字符“b”、“c”、“p”、“s”,依次代表“块(block)设备文件”、“字符(character)设备文件”、命令管道文件和与shell编程有关的socket文件。

第2~第10个字符,符每3位为一组,依次代表所有者对应权限、所有者所在组对应权限与其它用户对应的权限。

③ 文件硬链接数

若一个文件不是目录,则该字段表示这个文件所具有的硬链接数。

④ 文件所有者

该字段表示当前文件属于哪个用户。

⑤ 文件所有者所属组

该字段表示当前文件所有者的所属组。

⑥ 文件所占空间

该字段表示文件大小,若该文件是一个目录,则其表示的是该目录的大小,而非该目录以及它的子目录与文件的总大小。

⑦ 文件最近访问/修改时间

顾名思义,即文件最近被访问或者被修改的时间,此项可以使用“touch”命令来修改。

网络管理与通信命令

为保证服务器的稳定性,服务器一般都搭建在基于Linux操作系统的主机中。现如今最常用的服务器为web服务器,该服务器与网络密不可分,因此可掌握一些网络管理与通信命令,以方便查看、配置网络属性及进行网间通信。Linux系统中常用的网络管理命令与通信命令有:ifconfig、netstat、ping、write、wall等。

① ifconfig

ifconfig命令的原意为“interfaces config”,其功能为配置和显示Linux内核中网络接口参数,该命令的格式为:

ifconfig [参数]

ifconfig命令的参数可以省略,表示查看本机的网络配置信息。

案例25:显示Linux内核中网络接口的参数。

[itheima@localhost ~]$ **ifconfig**
eth1   Link encap:Ethernet HWaddr 00:0C:29:5F:F7:38 
​     inet6 addr: fe80::20c:29ff:fe5f:f738/64 Scope:Link
​     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
​     RX packets:436 errors:0 dropped:0 overruns:0 frame:0
……

② netstat

netstat命令用于打印Linux系统中网络系统的状态信息,该命令的格式如下:

netstat [选项]

可以通过netstat的选项有选择地打印不同网络端口的状态信息,该命令常用的选项列表如表1所示。

表1 netstat命令常用选项

参数说明
-a显示所有端口
-at列出所有tcp端口
-au列出所有udp端口

案例26:显示系统中的所有端口。

[itheima@localhost ~]$ netstat -a

③ ping

ping命令用于测试主机之间网络的连通性,默认情况下该命令会一直打印测试结果(可使用快捷键组合Ctrl+D停止打印)。ping命令的格式如下:

ping [选项] [参数]

ping常用的选项列表如表2。

表2 ping命令常用选项

参数说明
-c设置回应次数
-s设置数据包大小
-v详细显示指令的执行过程

案例27:使用ping命令测试网络是否连通(以测试百度为例)。

[itheima@localhost ~]$ ping www.baidu.com
PING www.a.shifen.com (220.181.111.188) 56(84) bytes of data.
64 bytes from 220.181.111.188: icmp_seq=1 ttl=128 time=5.21 ms
64 bytes from 220.181.111.188: icmp_seq=2 ttl=128 time=4.00 ms

④ write

write命令可使当前用户向另一个用户发送信息(,以快捷键组合Ctrl+D结束),该命令的格式如下:

write 用户名

案例28:使用用户root向用户itheima发送信息。

[root@localhost itheima]# write itheima
write: itheima is logged in more than once; writing to pts/1
hello itheima

用户itheima的控制台如下所示:

[itheima@localhost ~]$ 
Message from itheima@ localhost (as root) on pts/0 at 03:37 ...
hello itheima
EOF

⑤ wall

write命令可使用root用户向所有用户(观察itheima的用户)发送信息,以快捷键组合Ctrl+D结束,该命令的格式如下:

wall [message]

案例29:使用root用户向所有用户(观察itheima的用户)发送信息(,以快捷键组合Ctrl+D结束)。

[root@localhost itheima]# 

Broadcast message from root@bogon (pts/0) (Wed Sep 14 03:34:12 2016):



hello itheima

用户itheima观察到的结果如下所示:

[itheima@localhost ~]$ 

Broadcast message from root@bogon (pts/0) (Wed Sep 14 03:34:12 2016):



hello itheima

压缩解压命令

与Windows平台一样,Linux系统中也可以压缩或解压文件。Linux中常见压缩文件的格式为.gz、*.zip、.bz2,每种压缩格式的文件对应不同的压缩解压命令,下面将分别针对这几种格式,对Linux中常用的压缩解压命令进行讲解。

① gzip/gunzip

gzip命令用于压缩文件,获得.gz格式的压缩包,压缩后不保存源文件。若同时列出多个文件,则每个文件会被单独压缩。gzip命令的格式如下:

gzip [选项] 文件

使用命令“#gzip –s file.gz”可以解压.gz格式的压缩包,但Linux系统还提供了gunzip命令,该命令也用于解压.gz格式的压缩包,其命令格式如下:

gunzip [选项] [压缩包包名]

案例30:使用解压命令解压.gz格式的压缩文件。

# gunzip file.gz

② zip/unzip

zip命令用于压缩文件或目录,获得.zip格式的压缩包,压缩时会保留源文件。该命令的格式如下:

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

zip命令的选项-r表示压缩的是一个目录。

与zip对应的解压命令为unzip,该命令的格式如下:

unzip [选项] 压缩包包名

案例31:压缩目录test,设置压缩包名称为test.zip

# zip –r test.zip ./test

③ bzip2

bzip命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包,该命令的格式如下:

bzip2 [选项] [文件]
bzip命令对应的解压命令为bunzip2,bunzip2的命令格式如下:
bunzip2 [压缩包名]

案例32:使用bzip2命令压缩文件,并保留其源文件。

# bzip2 –k file

其中选项-k表示保留源文件。

④ tar

tar命令用于打包多个目录或文件,该命令通常与压缩命令一起使用,其命令格式如下:

tar [选项] 目录

tar常用的选项列表如表1。

表1 tar命令常用参数

参数说明
-c产生.tar打包文件
-v打包时显示详细信息
-f指定压缩后的文件名
-z打包,同时通过gzip指令压缩备份文件,压缩后格式为.tar.gz
-x从打包文件中还原文件。

案例33:打包目录newdir,通过gzip指令进行压缩,指定压缩包名为newdir.tar.gz;之后解压获得的压缩包到当前目录。

#tar –zcvf newdir.tar.gz newdir
#tar –zxvf newdir.tar.gz

帮助命令

为了帮助用户使用Linux操作系统中的命令,系统配置了一些帮助文档,只要掌握几个简单的帮助命令,用户就可以进一步查看其余各种命令的帮助信息。常用的帮助命令有:man、info、help、whatis、whoami等,下面将对这几个命令逐一进行讲解。

① man

man命令用于获取Linux系统的帮助文档——manpage中的帮助信息,该命令的格式如下:

man [选项] 命令/配置文件

man常用的选项列表如表1。

表1 man命令常用参数

参数说明
-a在所有的man帮助手册中搜索
-p指定内容时,使用分页程序
-M指定man手册搜索的路径

案例34:查看ls命令的帮助信息。

# man ls

man帮助文档分为9个章节,使用“man COMMAND”命令可以分章节查看整个man命令手册,若想要使用man查看命令的库函数,则需要使用以下格式:

man 章节号 命令名

案例35:查看命令sleep的库函数。

#man 3 sleep

② info

info命令用于调用Linux下的帮助文档,获取帮助信息。相比man文档,该帮助信息更易理解,也更友好。该命令的格式如下:

info [选项] [参数]

info常用的选项列表如表2。

表2 info命令常用参数

参数说明
-d添加包含info格式帮助文档的目录
-f指定内容时,使用分页程序
-n指定首先访问的info帮助文件的节点
-o输出被选择的节点内容到指定的文件

③ whatis

whatis命令用于查询命令的功能,并将查询结果打印到终端。该命令的格式如下:

whatis [命令名称]

案例36:查询命令ls的功能。

[itheima@localhost ~]$ whatis ls
ls (1)        - list directory contents
ls (1p)       - list directory contents

④ whoami

whoami命令用于打印当前有效的用户名称,即查看当前正在操作的用户信息,其命令格式如下:

whoami

案例37:查看当前用户。

[itheima@localhost ~]$ whoami
itheima

Linux从入门到精通

配套资料(+企鹅:49.89.138.68)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值