第5章
Ubuntu操作系统下常用命令




在安装好Ubuntu操作系统的环境后,从本章起,将要深入学习Ubuntu字符环境下的操作,为将来成为一名专业的开发者做准备。本章学习Ubuntu字符环境下的目录结构、文件名与类型、目录的基本操作、文件的基本操作、改变访问权限与归属、文件内容的查看、文件内容的查询、文件的查找、备份与压缩、X Window下文件与目录操作和gedit编辑器的使用。
5.1系统管理与维护 
5.1.1pwd命令
1. 作用

pwd命令为当前路径显示命令。该命令用来查看当前所在的文件路径。
2. 格式



pwd[选项参数]




命令的“选项参数”使用“”开头,命令会根据具体的选项参数执行不同的操作。在命令格式中,使用“[ ]”括起来的内容表示它不是必需的,例如使用pwd命令可以不带选项参数。
3. 常见选项参数
pwd命令的组成一般分为两部分,每部分之间使用空格隔开。pwd命令常见选项参数及其含义说明如表51所示。


表51pwd命令常见选项参数及其含义说明



选 项 参 数含 义 说 明



L显示当前的路径,有连接文件时,直接显示连接文件的路径
P显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件

4. 使用示例
使用pwd命令确定现在的工作目录,代码及运行结果如图51所示。


图51当前工作目录显示


在使用pwd命令知道了自己的工作目录后,如果想知道当前有效的用户名称,可以使用whoami命令确定现在的用户名称,图52所示为执行的操作结果。



图52确定当前操作用户名称


5. 使用说明
用户在使用Linux系统时,总是处在某个目录下,该目录称为用户的工作目录(working directory)。每个用户都有一个个人目录,也称为home目录,位置一般是在目录“/home”的下面。pwd命令显示用户当前所处的目录,这是一个非常常用的命令。在Ubuntu操作系统字符界面中,如果不知道自己当前所处的目录,就要使用它。这个命令和DOS环境下的不带任何参数的cd命令的作用是一样的。



5.1.2cd命令
1. 作用

cd命令为目录切换命令,用来进入某一个目录。只使用cd命令时,默认进入Ubuntu操作系统的计算机根目录文件夹下面,产生的文件列表与计算机根目录里面的文件一一对应。
2. 格式 



cd[路径]



其中,路径是填写需要进入的目录路径。
3. 使用示例
cd命令改变当前所处的目录或处理绝对目录和相对目录,如果用户当前处于“/home/ubuntu”目录,想进入“/root”目录,具体操作如图53所示。



图53切换当前工作目录


4. 使用说明
Linux命令分为shell内置命令和外部命令两种。shell内置命令是指shell本身自带的命令,这些命令没有执行文件; 外部命令是单独开发的命令,因此这些命令会有对应的执行文件。Linux系统中的大部分命令都是外部命令,而cd命令则是一个典型的shell内置命令,所以cd命令没有执行文件所在的路径。
5.1.3ls命令
1. 作用

ls是list的缩写。ls命令用来查看当前工作目录所包含的文件夹,配合不同的字母可以实现组合命令。
2. 格式 



ls[选项参数] 



同一种命令可能有不同的选项,不同的选项其实现的功能不同。shell命令可以带参数运行,也可以不带参数运行。
3. 常见选项参数
ls命令常见选项参数及其含义说明如表52所示。


表52ls命令常见选项参数及其含义说明



选 项  参 数含 义 说 明

a显示所有文件及目录(包括开头的隐藏文件也会列出)
l除文件名称外,也将文件类型、权限、拥有者和文件大小等信息详细列出
r将文件以相反次序显示(原来按照英文字母次序)
t将文件按照建立时间的先后次序列出 
A同 a ,但不列出“.”(目前目录) 及“..”(父目录)
F在列出的文件名称后加一符号; 例如可执行档则加“”,目录则加“/”
R若目录下有文件,则以下的文件也会按照次序列出

4.  使用示例
1) 用ls命令列出当前目录中的文件和文件夹
步骤1: 利用mkdir命令在当前目录创建一个子目录; 
步骤2: 分别使用图54列出的命令在当前目录中创建两个文件,它们的文件名分别为dog和cat2010; 
步骤3: 用ls命令列出当前目录中的所有文件和目录,操作结果如图54所示。



图54显示当前目录中的文件和文件夹


2) 显示隐藏文件
使用命令“ls a”,具体显示结果如图55所示。Linux系统用颜色来区分文件类别,一般情况下,默认蓝色代表目录,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件,灰色代表其他文件。




图55显示文件夹中隐藏文件


5. 使用说明
可以在命令字符界面直接输入ls命令,系统将列出当前工作目录的所有内容。该命令也可以搭配不同的选项参数,实现不同的输出显示。
5.1.4su和sudo命令
1. 作用

su命令用于变更为其他用户的身份。sudo命令用来切换用户身份为root用户,只有切换到root用户时,才有充足的访问权限。也就是说,经由sudo命令所执行的指令就好像是root用户亲自执行。
2. 格式



suroot

sudo[选项参数] 



3. 常见选项参数
sudo命令常见选项参数及其含义说明如表53所示。


表53sudo命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

V显示版本编号 
h显示版本编号及指令的使用方式说明 
l显示自己(执行 sudo 的用户)的权限 
p改变询问密码的提示符 

4. 使用示例
1) 从普通用户切换到root用户
在字符界面输入su,操作结果如图56所示。



图56普通用户切换到root用户


passwd命令用来修改用户密码,该用户既可以是普通用户也可以是root用户,还可以查询某一用户密码的状态,这一查询功能只有root用户可以使用。
2) 修改Ubuntu操作系统用户登录密码
步骤1: 输入su命令切换到root用户,可以输入“su  root”命令; 
步骤2: 输入passwd命令,修改Ubuntu操作系统用户登录密码,可以输入“passwd ubuntu”命令,成功操作的结果如图57所示。



图57修改普通用户登录密码


5. 使用说明
普通用户切换到root用户的方式有su和sudo。su使用root的密码,而sudo su使用用户密码。su(switch user)命令是将当前用户切换到一个指定的其他用户。sudo命令是一种权限管理机制,依赖于“/etc/sudoers”,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令,默认情况下,系统只有root用户可以执行sudo命令。需要root用户通过使用“vi sudo”命令编辑sudo的配置文件“/etc/sudoers”,才可以授权其他普通用户执行sudo命令。
5.1.5date和cal命令
1. 作用

(1) date命令: 用来显示系统当前的日期和时间。
(2) cal(calendar)命令: 主要用于查看日历,如果后面只有一个参数则表示年份,如果有两个参数则表示月份和年份。
2. 使用示例
(1) date命令: 在字符界面输入date,具体操作结果如图58所示,显示为2020年12月5日星期六,中国的标准时间16点14分56秒。



图58显示当前具体的日期时间


(2) cal命令: 在字符界面输入cal,如图59所示为2020年12月日历的显示结果。



图59当前日期的日历显示


3. 使用说明
除了可以显示当前操作系统的日历外,还可以自己定义参数,例如在字符界面中输入“cal 5 1997”命令,具体显示结果如图510所示。使用cal命令既可以查询过去时间的日历,也可以查询将来时间的日历。



图5101997年5月的日历显示


5.1.6uptime和free命令
1. 作用

(1) uptime命令: 用于显示系统以及运行的时间、当前登录的用户数量和系统的平均负载。
(2) free命令: 用来显示系统内存的状态,包括扩物理内存、虚拟内存、Swap交换分区、共享内存和系统缓存的使用情况。
2. 格式



free[选项参数]




3. 常见选项参数
free命令常见选项参数及其含义说明如表54所示。


表54free命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

b以B为单位显示内存使用情况
k以KB为单位显示内存使用情况
m以MB为单位显示内存使用情况
h以合适的单位显示内存使用情况,最大为3位数,自动计算对应的单位值
o不显示缓冲区调节列
t显示内存总和列
V显示版本信息

4. 使用示例
(1) uptime命令: 图511所示为在字符界面直接输入uptime命令的结果。给出当前时间为16:39:14,系统已运行的时间为44天,7:21当前在线用户为1,平均负载为0.00,0.05,0.07。



图511输入uptime命令显示系统时间


(2) free命令: 输出结果如图512所示,主要显示了Memory和Swap分区的存储器情况。



图512显示内存分布应用


5.1.7who和w命令
1. 作用

(1) who命令: 主要用于查看当前系统上工作的用户有哪些。
(2) w命令: 和who命令类似,但是w命令主要用于显示登录到系统的用户状况。w命令不但可以显示哪些用户登录到该系统,还可以显示这些用户当前正在进行的工作。
2. 使用示例
(1) who命令: 在字符界面中输入who,运行结果如图513所示,当前用户是ubuntu,最后还给出系统联网的IP地址。



图513显示当前系统工作用户


(2) w命令: 图514是在字符界面下输入w的操作结果,其中的JCPU是与该TTY界面连接的所有进程占用的时间,不包括过去的后台作业时间。PCPU是当前进程所占用的时间。



图514w命令显示用户情况


5.1.8uname和last命令
1. 作用

(1) uname命令: 用于显示操作系统的信息,配合其他字母可以组合成不同的命令。
(2) last命令: 用于查看当前和过去登录系统用户的相关信息。
2. 格式



uname[选项参数]




3. 常见选项参数
uname命令常见选项参数及其含义说明如表55所示。


表55uname命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

a显示全部的信息
m显示计算机类型
n显示在网络上的主机名称
r显示操作系统的发行编号
s显示操作系统名称
v显示操作系统的版本
help显示帮助
version显示版本信息

4. 使用示例
(1) uname命令: 在界面中输入uname,如图515所示,显示结果是Linux的操作系统信息。



图515显示操作系统信息


每个命令都有自己的参数系统,使用n和i组合的uname命令,如图516所示,在字符界面输入命令“uname n i”,显示操作系统的详细信息是Ubuntu x86 64位。



图516显示操作系统的详细信息


(2) last命令: 具体显示结果如图517所示。



图517查看当前和过去登录系统用户


5.1.9man和ulimit命令
1. 作用

(1) man命令: Linux下的帮助指令。通过man命令可以查看Linux中的指令、配置文件和编程帮助等信息,还可以快速查询其他每个Linux命令的详细描述和使用方法。man手册一般保存在“/user/share/man”目录下。man命令是最常见的命令,也是Linux最主要的帮助命令。
(2) ulimit命令: 显示用户使用的资源的限制(limit)。这些限制分为软限制(当前限制)和硬限制(上限),其中,硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何超越都导致进程的终止。ulimit命令不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)和可同时运行的最大进程数(max user processes)无效。
2. 常见选项参数
ulimit命令常见选项参数及其含义说明如表56所示。


表56ulimit命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

a 列出所有当前资源极限
c 设置core文件的最大值,单位为块
d 设置一个进程的数据段的最大值,单位为KB
f 创建文件的文件大小的最大值,单位为块
h 指定设置某个给定资源的硬极限,如果用户拥有 root 用户权限,可以增大硬极限,任何用户均可减少硬极限
l 可以锁住的物理内存的最大值
m 可以使用的常驻内存的最大值,单位为KB
n 每个进程可以同时打开的最大文件数
续表


选 项 参 数含 义 说 明

p 设置管道的最大值,单位为块,1块=512B
s 指定堆栈的最大值,单位为KB
S 指定为给定的资源设置软极限、软极限可增大到硬极限的值。如果H和S标志均未指定,极限适用于以上二者
t 指定每个进程所使用的秒数,单位为秒
u 可以运行的最大并发进程数
vshell可使用的最大的虚拟内存,单位为KB


3. 使用示例
man命令的使用结果如图518所示。在字符界面输入“man ls”,可以看到ls命令的详细文档介绍情况。



图518显示ls命令的帮助文档


5.2文件管理与编辑
5.2.1mkdir和touch命令
1. 作用

(1) mkdir命令: 主要用于创建新的目录,也就是文件夹。要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
(2) touch命令: 不仅可以创建文件,还可以修改文件的时间参数。
2. 格式



mkdir[选项参数][目录名称]




其中,目录名称用于设置创建的新目录的名称。
3. 常见选项参数
mkdir命令常见选项参数及其含义说明如表57所示。


表57mkdir命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

p确保目录名称存在,若不存在就建一个
m对新建目录设置存取权限,也可以用chmod命令

4. 使用示例
(1) mkdir命令: 采用mkdir命令创建新目录test的结果如图519所示,创建的test目录在当前目录下。



图519创建的test目录


(2) touch命令: 图520所示为采用touch命令创建新文件jsut.doc。



图520创建新文件just.doc


5. 使用说明
在Linux中,每个文件都关联一个时间戳,并且每个文件都会存储最近一次访问的时间、最近一次修改的时间和最近一次变更的时间等信息。所以,无论何时创建一个新文件,访问或修改一个已存在的文件,文件的时间戳都会自动地更新。
5.2.2rm和rmdir命令
1. 作用

(1) rm命令: 可以把系统中的文件或目录永久地删除,并且没有任何的提示信息。
(2) rmdir命令: 用于删除空目录。在删除目录时,需要先删除该目录中的子目录和文件。
2. 格式



rm[选项参数][文件名/目录名]




3. 常见选项参数
(1) rm命令常见选项参数及其含义说明如表58所示。


表58rm命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

i删除前逐一询问确认
f即使原文档属性设为只读,也直接删除,无须逐一确认
r将目录及以下的文档也逐一删除

(2) rmdir命令常见选项参数及其含义说明如表59所示。


表59rmdir命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

p删除目录后,若该目录的上层目录已变成空目录,则将其一并删除
v显示命令的详细执行过程

4. 使用示例
1) rm命令
rm命令使用如图521所示,删除刚刚用touch命令建立的hello文件。


图521删除hello文件


2) rmdir命令
如图521所示,在字符界面输入rmdir test命令,就可以删除test目录。
5.2.3cat命令
1. 作用

cat命令可以用来查看文件中的内容。
2. 使用示例
cat命令的语法格式如图522所示,显示fun.sh文件的内容; tt.txt文件中没有任何内容,所以没有显示; 当查找we1这个文件夹或者文件时,因为不存在,所以显示没有找到的结果。



图522cat命令的操作


3. 使用说明
如果文件太长,用cat命令只能看到文件的最后一页,然而用more命令时可以一页一页地显示。执行more命令后,进入more状态,用Enter键可以向后移动一行; 用Space键可以向后移动一页; 用q键可以退出。在more状态下还有许多功能,可用man more命令获得更多帮助。less 命令可以逐页显示文件中的内容,less实际上是more的改进命令,其命令的直接含义是more的反义。less的功能比more更灵活。用PgUp键可以向前移动一页,用PgDn键可以向后移动一页,用向上光标键可以向前移动一行,用向下光标键可以向后移动一行。然而q键、Enter键和Space键的功能和more命令一样。
5.2.4more命令
1. 作用

more命令可以使文件中的内容分页显示。more命令类似cat命令,不过会以一页一页的形式显示,更方便用户逐页阅读。
2. 格式



more[选项参数][文件名]




3. 常见选项参数
more命令常见选项参数及其含义说明如表510所示。


表510more命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

num一次显示的行数
d提示用户,在画面下方显示 “Press space to continue,'q' to quit.”,如果用户按错键,则会显示 “Press 'h' for instructions.”
l取消遇见特殊字符 ^L(送纸字符)时会暂停的功能
f计算行数时,以实际上的行数而非自动换行过后的行数,有些单行字数太长的会被扩展为两行或两行以上
p不以卷动的方式显示每一页,而是先清除屏幕后再显示内容
s当遇到有连续两行以上的空白行,就换为下一行的空白行
u不显示下引号,根据环境参数字符界面指定的终端而有所不同


4. 使用示例
more命令的语法格式如图523所示,查看etc目录下面的profile文件内容。当进入more命令后,屏幕上只显示一页的内容,可以在屏幕的底部看到“more(n%)”的字样,其中n表示已经显示文件内容的百分比。



图523查看profile文件的内容


5.2.5file和nautilus命令
1. 作用

(1) file命令: 可以通过查看文件的头部信息来识别文件的类型,同时还可以用来辨别文件的编码格式。
(2) nautilus命令: GNOME桌面下的一个文件管理工具。通过这个命令可以在终端下非常方便地打开指定目录的文件。
2. 格式



file[选项参数][文件名]




3. 常见选项参数
(1) file命令常见选项参数及其含义说明如表511所示。



表511file命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

b列出辨识结果时,不显示文件名
c详细显示指令执行过程,便于排错或分析程序执行的情况
f指定文件名,其内容有一个或多个文件名时,让file依序辨识这些文件,格式为每列一个文件名
L直接显示符号连接所指向的文件的类别
m指定魔法数字文件
z解读压缩文件的内容

(2) nautilus命令可以快捷打开一些特殊目录的参数,如表512所示。


表512可快捷访问特殊目录的选项参数及其含义说明





选 项 参 数含 义 说 明

computer全部挂载的设备和网络
network浏览可用的网络
burn一个刻录CD/DVD的数据虚拟目录
smb可用的Windows/Samba网络资源
xnautilusdesktop桌面项目和图标
file本地文件
trash本地回收站目录
ftpFTP文件夹
sshSSH文件夹
fonts字体文件夹,可将字体文件拖到此处以完成安装
themes系统主题文件夹

4. 使用示例
file命令的语法格式如图524所示,可以多次查看不同文件得出结果。



图524file命令的语法格式


5.2.6cp命令
1. 作用

cp命令主要用来复制文件或目录,就是将文件复制成一个指定的目的文件或复制到一个指定的目标目录中。
2. 格式



cp[选项参数][源文件][目标文件]




其中,源文件是指被复制的文件名。目标文件是指复制成的新文件名。源文件可以是一个或多个文件,也可以是一个或者多个目录名; 目标文件也可以是一个文件或者目录,使用比较灵活。
3. 常见选项参数
cp命令常见选项参数及其含义说明如表513所示。


表513cp命令常见选项参数及其含义说明




选 项 参 数含 义 说 明

a此选项参数通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
d复制时保留链接,这里所说的链接相当于 Windows 系统中的快捷方式
f覆盖已经存在的目标文件而不给出提示
i与f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖
p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
l不复制文件,只是生成链接文件

4. 使用示例
cp命令的语法格式如图525所示。图525显示了复制etc文件夹到“root/test”目录下的过程。



图525复制命令的操作


5.2.7mv命令
1. 作用

mv命令用来移动文件,既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名,操作格式类似cp命令。
2. 格式



mv[选项参数][源文件/文件夹][目标文件/文件夹]




其中,源文件/文件夹是需要移动或者重命名的文件/文件夹; 目标文件/文件夹是需要移动的文件夹或者重命名的文件夹/文件名。
3. 常见选项参数
mv命令常见选项参数及其含义说明如表514所示。


表514mv命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

b当目标文件或目录存在时,在执行覆盖前会为其创建一个备份
i如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
f如果指定移动的源目录或文件与目标的目录或文件同名,则不会询问,直接覆盖旧文件
n不要覆盖任何已存在的文件或目录
u当源文件比目标文件新或者目标文件不存在时,才执行移动操作

5.2.8sort命令 
1. 作用

sort命令既可以将文件中的内容排序后输出,还可以把排序的结果输出到文件。
2. 格式



sort[选项参数][目标文件]




3. 常见选项参数
sort命令常见选项参数及其含义说明如表515所示。


表515sort命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

b忽略每行前面开始处的空格字符
c检查文件是否已经按照顺序排序
d排序时,除了英文字母、数字及空格字符外,忽略其他的字符
f排序时,将小写字母看作大写字母
i排序时,除了040~176的ASCII字符外,忽略其他的字符
m将几个已经排序的文件进行合并
M将前面3个字母依照月份的缩写进行排序
n依照数值的大小排序
u意味着是唯一的(unique),输出的结果是去掉重复的内容
o将排序后的结果存入指定的文件
r以相反的顺序来排序

4. 使用示例
sort命令具体的操作结果如图526所示,排序输出we文件中的内容。



图526排序输出we文件中的内容


5.2.9find和grep命令
1. 作用

(1) find命令: 在某一目录及其所有的子目录中快速搜索具有某些特征的目录或文件。
(2) grep命令: 为了在文件查找字符串,文件名可以使用通配符“*”和“?”,如果要查找的字符串带空格,可以使用单引号或者双引号括起来。
2. 格式
1) find命令



find[路径][选项参数][目标文件/目录]



其中,路径表示需要查找的文件/目录所在的文件夹,目标文件/目录表示需要查找的文件/目录。
2) grep命令



grep[文件][选项参数]



3. 常见选项参数
(1) find命令常见选项参数及其含义说明如表516所示。


表516find命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

mount,xdev 只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中的文件 
amin n在过去 n 分钟内被读取过 
anewer file比文件 file 更晚被读取过的文件 
atime n在过去n天内被读取过的文件 
cmin n在过去 n 分钟内被修改过的文件
cnewer file比文件 file 更新的文件
ctime n在过去n天内被修改过的文件
empty空的文件,命令为gid n orgroup name。其中,gid是n或是group,名称是name
ipath p,path p路径名称符合 p 的文件,ipath 会忽略大小写
name name,iname name文件名称符合 name 的文件,iname 会忽略大小写
size n文件大小是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 KB,w 是二个位元组
type c文件类型是 c 的文件


(2) grep命令常见选项参数及其含义说明如表517所示。


表517grep命令常见选项参数及其含义说明




选 项 参 数含 义 说 明

F将样式看作固定字符串的列表
G将样式看作普通的表示法来使用
h在显示符合样式的那一行之前,不标示该行所属的文件名称
H在显示符合样式的那一行之前,标示该行所属的文件名称
i忽略字符大小写的差别
l列出文件内容符合指定的样式的文件名
L列出文件内容不符合指定的样式的文件名
n在显示符合样式的那一行之前,标出该行的列数编号
o只显示匹配PATTERN 部分
q不显示任何信息
r此参数的效果和指定“d recurse”参数相同
s不显示错误信息
v显示不包含匹配文本的所有行

4. 使用示例
(1) find命令: 对于文件和目录的一些比较复杂的搜索操作,可以灵活应用最基本的通配符和搜索命令find实现。常用的通配符有3种: “*”“?” “[ ]”。具体的操作结果如图527所示。



图527查找passwd文件


(2) grep命令: 图528所示为使用grep命令在we文件中查找good字符串的结果。



图528在we文件中查找good字符串


5.3压缩与解压缩命令
5.3.1zip和unzip命令
1. 作用

(1) zip命令: 在计算机的操作系统中,如果备份的文件越多,其副作用就越明显,一方面,严重浪费硬盘空间,另一方面,对于这些文件的搜索和再次复制的操作将大大降低运行速度。那么比较好的解决方法是使用压缩功能,把整个要备份的文件夹压缩为一个单独的文件,以方便管理和查阅。zip命令用于压缩文件或目录,压缩完成之后生成“.zip”的文件类型。
(2) unzip命令: 该命令是zip命令的相反操作,主要用于解压缩zip命令压缩的文件。
2. 格式

1) zip命令



zip[选项参数][目标文件][源文件]




2) unzip命令



unzip[选项参数][压缩文件]





3. 常见选项参数
(1) zip命令常见选项参数及其含义说明如表518所示。


表518zip命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

A调整可执行的自动解压缩文件
b指定暂时存放文件的目录
c给每个被压缩的文件加上注释
d从压缩文件内删除指定的文件
D压缩文件内不建立目录名称
f更新现有的文件
F尝试修复已损坏的压缩文件
g将文件压缩后,附加在已有的压缩文件之后,而非另行建立新的压缩文件
h在线帮助

(2) unzip命令常见选项参数及其含义说明如表519所示。


表519unzip命令常见选项参数及其含义说明



选 项 参 数含 义 说 明

c将解压缩的结果显示到屏幕上,并对字符做适当的转换
f更新现有的文件
l显示压缩文件内所包含的文件
p与c参数类似,将解压缩的结果显示到屏幕上,但不会执行任何转换
t检查压缩文件是否正确
u与f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
v执行时显示详细的信息
z仅显示压缩文件的备注文字
a对文本文件进行必要的字符转换
b不要对文本文件进行字符转换
C压缩文件中的文件名称区分大小写
续表


选 项 参 数含 义 说 明

j不处理压缩文件中原有的目录路径
L将压缩文件中的全部文件名改为小写
M将输出结果送到more程序处理
n解压缩时不要覆盖原有的文件

4. 使用示例
(1) zip命令: 语法实例格式如图529所示,将cat2010文件压缩成cat.zip文件。



图529压缩命令操作



(2) unzip命令: 语法实例格式如图530所示,将解压cat.zip文件。



图530解压cat.zip文件


5.3.2gzip和gunzip命令
1. 作用

(1) gzip命令: 只能用于压缩文件,不能压缩目录。如果指定目录,也只能压缩目录内的所有文件。
(2) gunzip命令: 主要用于解压被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz。事实上 gunzip 就是 gzip 的硬连接,不论是压缩或者解压缩,都可通过 gzip 指令单独完成。
2. 格式
1) gzip命令



gzip[选项参数][文件]





2) gunzip命令



gunzip[选项参数][文件]






3. 常见选项参数
(1) gzip命令常见选项参数及其含义说明如表520所示。


表520gzip命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

a使用ASCII文字模式
c把压缩后的文件输出到标准输出设备,不去改动原始文件
d解开压缩文件
f强行压缩文件,不理会文件名或硬连接是否存在以及该文件是否为符号连接
h在线帮助
l列出压缩文件的相关信息
L显示版本与版权信息
n压缩文件时,不保存原来的文件名及时间戳记号
N压缩文件时,保存原来的文件名及时间戳记号

(2) gunzip命令常见选项参数及其含义说明如表521所示。


表521gunzip命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

a使用ASCII文字模式
c把解压后的文件输出到标准输出设备
f强行解开压缩文件,不理会文件名或硬连接是否存在以及该文件是否为符号连接
h在线帮助
k保留原始压缩文件
l列出压缩文件的相关信息
L显示版本与版权信息
n解压缩时,如果压缩文件内含有原来的文件名及时间戳记号,就将其忽略不予处理
N解压缩时,如果压缩文件内含有原来的文件名及时间戳记号,就将其回存到解开的文件上

4. 使用示例
(1) gzip命令的语法实例操作格式如图531所示,将cat2010文件压缩成cat2010.gz压缩包。



图531压缩文件的gzip命令


(2) gunzip命令的语法格实例操作如图532所示,将cat2010.gz压缩包解压缩成cat2010文件。


图532gunzip命令的操作


5.3.3tar命令
1. 作用

tar命令是最常用的打包命令,它可以将文件保存到一个单独的磁盘中进行归档,同时因为参数的不同,还可以从归档文件中还原所需文件,也就是解压缩包文件的功能。
2. 格式



tar[选项参数][文件/文件目录]




3. 常见选项参数
tar命令常见选项参数及其含义说明如表522所示。


表522tar命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

A新增文件到已存在的备份文件
b设置每次记录的区块数目,每个区块大小为12B
B读取数据时,重设区块大小
c建立新的备份文件
C切换到指定的目录
d对比备份文件内和文件系统上的文件的差异
f指定备份文件
x解压缩文件
z调用gzip命令来压缩文件,压缩后的文件名以.gz结尾
t表示查看文件,查看文件中的文件内容
r表示增加文件,把要增加的文件追加在压缩文件的末尾
g处理GNU格式的大量备份
G处理旧的GNU格式的大量备份
h不建立符号连接,直接复制该连接所指向的原始文件
i忽略备份文件中的0B区块,也就是EOF
k解开备份文件时,不覆盖已有的文件
l复制的文件或目录存放的文件系统,必须与tar命令执行时所处的文件系统相同,否则不予复制

4. 使用示例
通过tar命令打包文件和解包操作的语法格式如图533所示。tar命令使用较为复杂,只有通过多次练习,才能熟练掌握。


图533通过tar命令打包文件和解包操作



5.4磁盘管理与维护命令
5.4.1df命令
1. 作用

df命令主要用于显示Linux系统中各个文件系统的硬盘使用情况。
2. 格式



df[选项参数][文件名]




3. 常见选项参数
df命令常见选项参数及其含义说明如表523所示。


表523df命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

a查看包含所有0块的文件系统
h使用可读的格式
H很像h参数,但是用1000为单位,而不是用1024
i列出节点信息,不列出已使用的块信息
k定义块的大小,单位为KB
l限制列出的文件结构
m定义块的大小,单位为MB
P优先使用POSIX输出格式
t限制列出文件系统的类型
T显示文件系统的形式
x限制列出文件系统,不要显示类型

4. 使用示例
df命令的语法格式如图534所示,从结果可以看出,硬盘有多少个分区、每个分区的使用百分比。



图534查看硬盘分区使用百分比


5.4.2du命令
1. 作用

du命令可以显示某个特定目录的磁盘使用情况,同时还可以判断系统上某个目录下是否有超大文件。
2. 格式



du[选项参数][其他]




3. 常见选项参数
du命令常见选项参数及其含义说明如表524所示。


表524du命令常见选项参数及其含义说明





选 项 参 数含 义 说 明

a显示目录中个别文件的大小
b显示目录或文件大小时,以B为单位
c除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
D显示指定符号连接的源文件大小
h以KB、MB和GB为单位,提高信息的可读性
H与h参数相同,但是KB、MB和GB是以1000为换算单位

4. 使用示例
du命令的语法格式如图535所示,可以查看某个目录下有无特大文件。


图535查看某个目录下有无特大文件


5. 使用说明
在通常情况下,du命令会显示当前目录下的所有的文件、目录以及子目录的磁盘使用情况,它会以磁盘块为单位显示每个文件或目录占用了多少存储空间。
5.4.3fsck命令
1. 作用

fsck命令用于检查文件系统并尝试修复出现的错误。
2. 使用示例
在字符界面输入fsck命令显示如图536所示结果。



图536检查文件系统命令


5.5文本编辑器gedit
5.5.1桌面环境下使用gedit

gedit是一个Linux环境下的文本编辑器,类似Windows下的“写字板”程序,在不需要特别复杂的编程环境下,作为基本的文本编辑器比较合适。一般在使用Ubuntu操作系统桌面环境下,进入文件管理器找到想要编辑的文件,直接双击该文本文件,默认使用的就是gedit编辑器打开文件。图537所示为打开etc文件夹下的profile文件的结果。或者右击需要编辑的文本文件,选择应用程序打开,这个时候系统安装多个编辑器,可以任意选择。


图537桌面环境下使用gedit


5.5.2字符界面环境下使用gedit
如果在字符界面环境下,可以直接运行gedit命令打开编辑器,也可以运行gedit后面跟上要指定文件下的文件名,直接打开文件。图538为在字符界面环境下使用gedit指定文件夹etc打开profile的情况。



图538字符界面环境下使用gedit


5.5.3gedit命令
gedit与Windows下写字板和记事本的用法没什么差别。在编辑器中可以单击Open按钮浏览最近打开过的文件列表并打开文件; 单击 Save按钮可以保存当前正在编辑的文件; 单击右侧的菜单栏可以进行更多的操作等。另外,组合键也跟Windows下一样,保存文件的组合键为Ctrl+S; 另存为的组合键为Ctrl+Shift+S; 搜索文本内容的组合键为Ctrl+F等。
习题
一、 选择题
1. 在Ubuntu操作系统中,系统默认的()用户对整个系统拥有完全的控制权。
A. rootB. guestC. administratorD. supervisor
2. 当登录Linux操作系统时,一个具有唯一进程ID号的shell程序将被调用,这个ID是()。
A. NIDB. PIDC. UIDD. CID
3. 下面()命令是用来定义shell的全局变量。
A. exportfsB. aliasC. exportsD. export
4. ()目录存放用户密码信息。
A. /bootB. /etcC. /varD. /dev
5. 默认情况下管理员创建了一个用户,就会在()目录下创建一个用户主目录。
A. /usrB. /homeC. /rootD. /etc
6. 当使用mount进行设备或者文件系统挂载时,需要用到的设备名称位于()目录。
A. /homeB. /binC. /etcD. /dev
7. 如果要列出一个目录下的所有文件,需要使用命令行()。
A. 1s1B. lsC. lsaD. lsd
8. 下面()命令可以将普通用户转换成超级用户。
A. superB. passwdC. tarD. su
9. 除非特别指定,cp命令假定要复制的文件在()目录。
A. 用户目录B. home目录C. root目录D. 当前目录
10. 在Vi编辑器中,命令dd用来删除当前的()。

A. 行B. 变量C. 字D. 字符
11. 按下()键能终止当前运行的命令。
A. Ctrl+CB. Ctrl+FC. Ctrl+BD. Ctrl+D
12. 用“rm i”命令系统会提示()让用户确认。
A. 命令行的每个选项参数B. 是否真的删除 
C. 是否有写的权限D. 文件的位置
13. 以下()命令可以终止一个用户的所有进程。
A. skillallB. skillC. killD. killall
14. 在Ubuntu操作系统中,一般用()命令来查看网络接口的状态。
A. pingB. ipconfigC. winipcfgD. ifconfig
15. Vi中()命令是不保存强制退出。
A. :wqB. :wq!C. :q!D. :quit 
16. 在下列分区中,Linux操作系统默认的分区是()。
A. FAT32B. EXT3C. FATD. NTFS
17. 如果用户想对某一命令详细了解,可用()。
A. isB. help C. manD. dir

二、  填空题
1. mv命令有两个作用: 一个作用是; 另一个作用是。
2. 进入或切换目录使用命令; 查看当前目录下的文件信息使用命令; 查看当前所在的目录位置使用命令。
3. 需要自动补齐当前命令的后续字符,使用键。
4. Linux操作系统下编辑文本文件经常使用命令,显示文本内容使用命令,在Vim的编辑过程中如果需要存盘,需要输入指令。
5. cp命令在Linux操作系统中的作用是。
6. 文件权限中的r、w、x分别代表权限、权限和权限。
7. Linux操作系统中常用的网页服务是。Linux操作系统下常用的文件传输服务是。
8. 在执行命令的过程中,可使用组合键强制中断当前运行的命令或程序。
三、 简答题
1. 列出ls命令常用的选项参数,并说明每个选项参数的作用。
2. 为什么要学习字符命令行?简述字符命令行的语法格式。
3. touch命令有什么作用?它都能改变一个文件的哪几个时间属性?
4. 如何建立多级目录?
5. 如何使用cp命令创建一个名字不同但内容相同的文件?
上 机 实 验
实验: Linux操作系统常用命令操作

实验目的
了解并掌握Linux系统中常用的命令的基本使用方法,可以通过命令查看和处理一些信息。
实验内容
打开Ubuntu操作系统下的字符界面环境,依次进行如下shell命令的操作练习: 
(1) 使用ls命令来查看当前目录下的所有文件和文件夹,分别输入“ls”命令和“ls l”命令来查看当前目录下的文件,比较两种命令使用的不同; 
(2) 使用pwd命令来查看当前所在的工作目录路径; 
(3) 使用uname命令来查看当前系统信息; 
(4) 在root身份下,使用adduser命令添加一个新的用户; 
(5) 使用ifconfig命令查看当前网络的属性; 
(6) 用date命令查看当前的日期和时间; 
(7) 查看2021年的日历; 
(8) 使用mkdir命令在当前目录下创建一个新的目录test; 
(9) 将当前目录移到test目录下,使用touch命令创建一个a.c文件; 
(10) 使用gedit命令打开第(9)步创建的a.c文件; 
(11) 使用rm命令删除a.c文件,使用rmdir命令删除test目录; 
(12) 使用clear命令清空当前命令窗口; 
(13) 使用poweroff命令关闭Ubuntu操作系统,结束练习。