Linux基本命令


第 3 章 Linux 基本命令 教学提示:Linux 操作系统的一大优势就是命令行操作,因此本章首先介绍命令的基础 知识,然后分 4 个方面讲述 Linux 命令的使用,主要包括文件与目录管理、简单系统管理、 压缩与解压缩、作业与进程管理。 教学要求:学习完本章后,能够使用 Linux 命令进行文件与目录管理、简单系统管理、 文件的压缩与解压缩、作业与进程管理。 3.1 Linux 命令简介 在使用 Linux 命令前首先了解 Linux 命令基础知识,比如为什么使用 Linux 命令,Linux 命令格式等。 1.为什么要使用 Linux 命令 使用 Linux 命令主要有以下原因。 (1) 历史原因:在 Linux 早期的版本中,由于不支持图形化操作,用户基本上都是使用 命令行方式来对系统进行操作;另一方面,Linux 发行版本众多,图形操作界面多样化,但 不同发行版之间 Linux 命令操作都是相似的。 (2) 使用 Linux 命令的优势:现在虽然有了图形化操作界面,但是掌握一些常用的 Linux 命令是非常方便的。Linux 命令是 Linux 操作系统的一大优势,命令行操作的运行不 需要占用过多的系统资源,功能也十分强大,几乎所有的 Linux 操作都可以通过命令完成。 (3) 熟练掌握 Linux 命令操作也是领会 Linux 系统精髓的必然途径。 (4) 远程管理(Telnet、SSH)要求:一般执行远程管理时都是进入文本环境。 2.如何进入命令环境 Ubuntu Linux 进入命令环境主要有以下方法。 (1) 开机后进入文本环境。 (2) 图形化环境还提供了一种仿真“终端”,在“终端”下的命令操作与纯文本环 境的命令操作是完全一样的,在 Ubuntu Linux 上打开“终端”的方法是执行【应用】|【附 件】|【终端】命令。 (3) 使用 Telnet 或者 SSH 远程登录。 3.Linux 命令格式 Linux 命令格式如下: command [-options] [arguments(或 parameters)] Linux 操作系统教程与实训 ·36· ·36· 具体说明如下。 ① 选项(options)是对命令的特别定义,以“–”开始,多个选项可用一个“–”连起来, 如命令“ls –l –a”与“ls –la”作用相同。 ② 一般来说,单字符选项前使用一个减号(–),单词(多字符)选项前使用两个减号(--), 如“ls --help”。 ③ Linux 命令与参数区分大小写,命令名一般由小写的英文字母构成,往往是表示相 应功能的英文单词或单词缩写,如 cp 是 copy 的缩写,表示复制文件,而 date、Date、DATE 是不同的 Linux 命令。 ④ 最简单的命令只有命令名,复杂的 Shell 命令可以有多个参数。 ⑤ 操作参数可以是文件,也可以是目录,有些命令必须使用多个操作参数, 如 cp 命 令必须指定源操作对象和目标操作对象。 ⑥ 命令名、参数和操作参数都作为命令执行时的输入,它们之间用空格分隔开。 Linux 的命令非常多,也非常简洁,并且 Linux 命令区分大小写。这给初学者造成了困 难,为了便于记忆,本章将对 Linux 命令进行分类,主要包括文件与目录管理、简单系统 管理、文件压缩与解压缩、进程管理与作用控制。 3.2 文件和目录管理 要学会使用 Linux 命令,首先要掌握的就是基本的文件与目录操作命令。 3.2.1 定位文件和目录 1.pwd(显示用户所在的位置) pwd 命令显示用户所在的位置。 root@Ubuntu:~# pwd /root 在 Ubuntu Linux 文本环境下,在命令前的“root@Ubuntu:~#pwd”中,“root”表示登 录用户名,“Ubuntu”代表计算机名,而“:”后边表示的是用户当前目录,最后的字符为 命令提示符。Ubuntu Linux 操作系统默认是使用普通用户账号登录系统,默认的命令提示 符为“$”。如果使用 root(即超级用户账号)登录系统,则默认的命令提示符为“#”。 提示:为了叙述方便,本书前面部分将采用 root 用户登录系统。 2.cd(改变工作目录) 在使用 cd 命令进入某个目录时,用户必须具有对该目录的读权限。 (1) 改变当前所处的目录。比如用户当前处于/root 目录,想进入/etc 目录。 root@Ubuntu:~# cd /etc root@Ubuntu: /etc# pwd /etc 第 3 章 Linux 基本命令 ·37· ·37· 注意 cd 后的空格。 (2) 回到用户主目录。 root@Ubuntu:/# cd ~ root@Ubuntu:~# pwd /root 返回到用户主目录也可以直接执行命令“cd”。 (3) 返回上级目录。 root@Ubuntu:~# cd .. root@Ubuntu:/# pwd / 在 Linux 系统中,“~”表示登录主目录,“.”表示目前所在的目录,“..”表示目前目录 位置的上一层目录。root 用户的主目录是“/root”,其他一般用户的主目录默认在“/home” 下。例如,student 用户的默认主目录为“/home/student”。 如果要在最近工作过的两个目录间切换,可以执行命令“cd –”。 3.Find(在硬盘上查找文件) find 命令是 Linux 中功能最为强大,使用也是较为复杂的命令,find 命令使用格式如下: find [<路径>] [匹配条件] ① 路径:希望查询文件或文件集的目录列表,目录间用空格分隔。 ② 匹配条件:希望查询的文件的匹配标准或说明。 find 的匹配条件较复杂,以下进行简单介绍。 (1) 从根目录开始查找文件名为 passwd 的文件。 root@Ubuntu:~# find / -name passwd /etc/pam.d/passwd /etc/passwd /var/cache/system-tools-backends/backup/2/etc/passwd # (2) 查找/usr 目录下前 10 天访问过的文件(仅第 10 天这一天)。 root@Ubuntu:~# find /usr –atime 10 (3) 查找/usr 目录下前 10 天之前访问过的文件。 root@Ubuntu:~# find /usr –atime +10 (4) 查找/usr 目录下前 10 天之后访问过的文件。 root@Ubuntu:~# find /usr –atime -10 (5) 列出当前目录下所有扩展名是“doc”的文件。 root@Ubuntu:~# find -name "*.doc" ./Desktop/第 3 章 Linux 基本命令.doc ./Desktop/第 1 章 Ubuntu Linux 操作系统概述.doc Linux 操作系统教程与实训 ·38· ·38· 如果查找目录为空,则在当前目录下寻找。 当要查找某个文件时,如果不知道该文件的全名,可以使用通配符“*”、“?”进行 模糊查找,其中“?”表示单个任意字符,“*”表示多个任意字符。 (6) 查找目录/etc、/home 下文件尺寸小于 4K 的文件。 root@Ubuntu:~# find /etc /home –size -4k find 命令可接受的文件尺寸单位有字节(c),块(b,512 字节),K(k,1024 字节)等。与 通过访问时间查找类似,如果要查找文件尺寸大于 4K 的文件使用选项“+4k”。 4.Locate(定位文件或目录) 与 find 命令相比,locate 命令是从数据库中查找,而不是每次搜索文件系统。因为是 从数据库中查找,locate 命令的执行的速度远远快于 find 命令。但是,使用 locate 命令查找 的结果仅仅是在当前数据库,而且可能会没有 find 准确。 【例 3.1】 查找 apt.conf 文件。 root@Ubuntu:~# locate apt.conf /etc/apt/apt.conf.d /etc/apt/apt.conf.d/01ubuntu /etc/apt/apt.conf.d/10periodic /etc/apt/apt.conf.d/00trustcdrom # 3.2.2 浏览文件和目录 1.ls(显示用户当前目录或指定目录的内容) 在 ls 命令中还可以使用通配符“*”、“?”。这样可以使用户很方便地查找特定形 式的文件和目录。如果不指定目录,将显示当前目录的内容,否则显示指定目录的内容。 1) 输出根目录下文件或目录的详细信息 root@Ubuntu:/# ls –l / 总用量 84 drwxr-xr-x 2 root root 4096 2007-05-19 05:00 bin drwxr-xr-x 3 root root 4096 2007-05-19 05:45 boot lrwxrwxrwx 1 root root 11 2007-05-19 04:26 cdrom -> media/cdrom drwxr-xr-x 12 root root 13720 2007-07-20 23:55 dev # 第一组 二 三 四 五 六 七 [文件属性][inode 数][拥有者][所有者组][大小] [建立日期] [文件/目录名] 这个结果提供了许多细节信息,共 7 组,各组之间使用空格分开。 (1) 第一组为文件模式。文件模式中第一位代表文件类型,其余 9 位用于三组不同用 户的三组权限。 提示:在文本模式,Linux 的文件类型由第一组的第一列表示。 ① 为“d”则是目录; ② 为“_”则是文件; 第 3 章 Linux 基本命令 ·39· ·39· ③ 若是“ 1”则表示为链接文件(link file),Linux 链接文件简单理解类似于 Windows 系统的快捷方式。 ④ 若是“b”则表示为块设备文件。 ⑤ 若是“c”则表示为字符设备文件。 另外,在文本模式下,Linux 的文件类型也可以由显示的颜色决定。 ① 蓝色文件:目录。 ② 白色文件:一般性文件,如文本文件,配置文件,源码文件等。 ③ 浅蓝色文件:链接文件,主要是使用 ln 命令建立的文件。 ④ 绿色文件:可执行文件,可执行的程序。 ⑤ 红色文件:压缩文件或者包文件。 (2) 第二组为连接数。对文件而言,此数表示该文件在系统中保存的备份数,通常为 1。 对目录而言,表示的是该目录中的子目录数(包括隐藏目录)。 (3) 第三组即所有者名。指出该文件或目录是属于哪个用户的。 (4) 第四组即组名。指出该用户所属组名。 (5) 第五组即文件大小。指出该文件或目录占有的字节数。 (6) 第六组即最后修改日期和时间。说明文件最后一次修改或创建的日期和时间。 (7) 第七组即文件名。为文件或目录的真实名字。 注意:与其他操作系统如 Windows 相比,Linux 最大的不同是,它并没有扩展名的概念, 即文件的名称和该文件类型没有直接的关联。Linux 文件名可以没有扩展名,有时加 上扩展名也只是方便用户辨析文件的类型,而对 Linux 系统本身没有实际意义。例 如,feisty.exe 可以是文本文件,也可以是类似 Windows 命名规则的可执行文件,而 文件名为 feisty 的文件可以是可执行文件、文本文件或者其他类型文件。 2) 列出当前目录下所有文件(包括隐含文件) root@Ubuntu:~# ls –a . .evolution .ICEauthority .openoffice.org2 .. .gconf .java .profile .aptitude .gconfd .kde .qt .bash_history .gimp-2.2 .lesshst .recently-used # Linux 系统的隐含文件的文件名以“.”开头。 3) 列出目录下所有文件或目录的详细信息 root@Ubuntu:~# ls –la drwxr-xr-x 35 root root 4096 2007-07-01 16:16 . drwxr-xr-x 21 root root 4096 2007-07-01 15:51 .. drwx------ 2 root root 4096 2007-06-24 20:03 .aptitude drwxr-xr-x 2 root root 4096 2007-06-11 21:09 Desktop -rw------- 1 root root 47 2007-05-19 16:35 .dmrc drwxr-xr-x 2 root root 4096 2007-06-03 16:00 Downloads # Linux 操作系统教程与实训 ·40· ·40· 4) 列出子目录下的所有文件 root@Ubuntu:~# ls -R . : Desktop Downloads ./Desktop: Arland Catalogue1.xls Screenshot-Index ./Downloads: 对于每个目录都显示对应目录下的内容。 2.head(查看文件的开头部分) 本命令只限于查看文件的前几行,看不到文件实际上有多长。按照默认设置,只能阅 读文件的前 10 行。 查看文件/etc/profile 前 5 行。 root@Ubuntu:~# head -5 /etc/profile # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "$PS1" ]; then if [ "$BASH" ]; then 3.tail(查看文件结尾部分) 在默认状态 F,tail 命令用于查看文件结尾的 10 行,与 head 命令恰恰相反。该命令有 助于通过查看日志文件的最后 10 行来阅读重要的系统消息,还可以使用 tail 命令来观察 日志文件被更新的过程。 (1) 即时观察/var/log/messages 的变化。 root@Ubuntu:~# tail -f /var/log/messages Jul 13 17:51:54 dzl kernel: [ 1843.605792] Inbound IN=ppp0 OUT= MAC= SRC=222.216.8.168 DST=222.216.18.32 LEN=48 TOS=0x00 PREC=0x00 TTL=123 ID=56016 DF PROTO=TCP SPT=4683 DPT=445 WINDOW=64800 RES=0x00 SYN URGP=0 Jul 13 17:55:09 dzl kernel: [ 2037.738192] Inbound IN=ppp0 OUT= MAC= SRC=24.81.234.15 DST=222.216.18.32 LEN=52 TOS=0x00 PREC=0x00 TTL=227 ID=0 DF PROTO=TCP SPT=21495 DPT=1080 WINDOW=46748 RES=0x00 SYN URGP=0 # 使用此命令,/var/log/messages 文件内容一有变化将马上在屏幕上显示出来。 (2) 显示文件/etc/profile 最后 4 行。 root@Ubuntu:~# tail –4 /etc/profile fi fi umask 022 4.cat(合并文件或者显示文件的内容) cat 是“concatenate”的缩写,即合并文件。该命令可以显示文件的内容,或者是将多 第 3 章 Linux 基本命令 ·41· ·41· 个文件合并成一个文件。 (1) 使用 cat 命令阅读短文。 root@Ubuntu:~# cat /etc/profile (2) 建立两个文件并重定向到 file1 与 file2。 root@Ubuntu:~# cat > file1 hello , student! 首先进入 cat 编辑环境,输入“hello , student!”后,单击 Ctrl+d 键结束输入,输入文 本并保存到文件 file1。 root@Ubuntu:~# cat > file2 This is great 继续建立文件 file2,单击 Ctrl+d 键结束输入。 提示:重定向就是使系统改变它所认定的标准输出(通常为显示设备),或者改变标准输出 的目标。要重定向标准输出,使用“>”符号(输出重定向)。例如,把“>”符号放 在 cat 命令之后(或在任何写入标准输出的工具程序和应用程序之后),会把它的输出 重定向到跟在符号之后的文件中。输出重定向也可以使用“>>”符号把输出结果追 加到已有文件的后部。 (3) 追加 file2 文件到 file1。 root@Ubuntu:~# cat file2 >> file1 root@Ubuntu:~# cat file1 hello , student! This is great (4) 合并 file2 与 file1 文件到 file3。 root@Ubuntu:~# cat file2 file1 This is great hello , student! This is great root@Ubuntu:~# cat file2 file1 > file3 root@Ubuntu:~# cat file3 This is great hello , student! This is great 注意使用输出重定向符“>”与没有使用输出重定向符的区别。 5.more(显示文件的内容) more 命令一般用于要显示的内容会超过一个屏幕的情况下。为了避免画面显示时瞬间 就闪过去,可以使用 more 命令,让画面在显示满一页时暂停,单击空格键可继续显示下一 个画面,单击 b 键就会返回(back)上一页显示,单击 Q 键停止显示。 (1) 显示/etc/profile 文本文件的内容。 root@Ubuntu:~# more /etc/profile Linux 操作系统教程与实训 ·42· ·42· 屏幕在显示满一屏时暂停,此时可按空格键继续显示下一屏,不像 cat 命令那样对不 能一屏显示的就一闪而过到最后一屏。 (2) 当用 ls 命令查看文件列表时,如果文件太多,则可配合 more 命令使用。 root@Ubuntu:~# ls –al |more 以长格形式显示当前目录下的文件列表,显示满一屏便暂停,可按空格键继续显示下 一屏内容,或按 Q 键跳离。 提示:符号“ |”表示管道,其作用为连接上下两个命令,简单理解就是把上一个命令执行 的结果传送到下一个命令。 3.2.3 搜索文件内容 搜索文件内容可以使用 grep 命令,该命令的功能是在文件中查找指定的字符串。 grep 除了可以查找固定的字符串,还可以使用较为复杂的匹配模式。要实现复杂的匹 配模式,需要使用如下的表达符号: ① ?:匹配字符串中的一个字符。 ② *:匹配任意字符。 ③ \*:匹配“*”字符。 ④ \?:匹配“?”字符。 ⑤ \):匹配“)”字符。 (1) 搜索 profile 文件中包含字符串“then”的行并输出。 root@Ubuntu:~# grep then /etc/profile if [ "$PS1" ]; then if [ "$BASH" ]; then if [ -f /etc/bash.bashrc ]; then if [ "'id -u'" -eq 0 ]; then (2) 搜索 profile 文件中包含字符串“then”的行并显示对应行数。 root@Ubuntu:~# grep -n then /etc/profile 4:if [ "$PS1" ]; then 5: if [ "$BASH" ]; then 7: if [ -f /etc/bash.bashrc ]; then 11: if [ "'id -u'" -eq 0 ]; then 显示结果说明在/etc/profile 文件的 4、5、7、11 行包含 then 字符串。 3.2.4 操作文件和目录 1.cp(复制文件或目录) (1) 复制文件/etc/profile 到当前目录。 root@Ubuntu:~# cp /etc/profile . 第 3 章 Linux 基本命令 ·43· ·43· (2) 复制/etc/apt 目录下所有的内容(包括所有子目录)到当前目录。 root@Ubuntu:~# cp – R /etc/apt . (3) 使用通配符复制 etc 目录下 mail 开头的所有文件到当前目录。 root@Ubuntu:~# cp /etc/mail* . 2.touch(生成一个空文件或修改文件的存取/修改的时间记录值) (1) 将当前的文件时间修改为系统的当前时间。 root@Ubuntu:~# touch * root@Ubuntu:~# ls (2) 新建文件。 root@Ubuntu:~# touch test root@Ubuntu:~# ls -rw-r—r-- 1 root root 0 2007-07-13 18:10 test 提示:若文件存在,则修改为系统的当前时间;若文件不存在,则生成一个为当前时间的 空文件。 (3) 将 test 文件的日期改为 20070710。 root@Ubuntu:~# touch –d 20070710 test root@Ubuntu:~# ls -rw-r—r-- 1 jenod jenod 0 2007-07-10 00:00 test 3.mv(移动文件) 该命令可以将文件及目录移到另一目录下,或更改文件及目录的名称。 (1) 将 test 文件移动上层目录。 root@Ubuntu:~# mv test ../ (2) 将 profile 改名为 profile.back。 root@Ubuntu:~# mv profile profile1.back 4.rm(删除文件和目录) (1) 删除文件主目录下的 profile 文件。 root@Ubuntu:~# rm profile (2) 删除文件主目录下的 file2 文件时给以提示。 root@Ubuntu:~# rm –i file2 rm :是否删除一般文件'file2'? (3) 递归删除目录。 root@Ubuntu:~# rm -r apt 上述命令将删除 apt 目录及其目录下所有文件与目录。这里要注意,Ubuntu Linux 不会 Linux 操作系统教程与实训 ·44· ·44· 像其他 Linux 版本那样有删除提示。 (4) 强制递归删除目录。 root@Ubuntu:~# rm –rf apt 不给提示直接删除 apt 目录下的文件与 apt 目录。 5.mkdir(创建目录) (1) 在当前目录下建立新目录 dir1。 root@Ubuntu:~# mkdir dir1 (2) 若当前目录下无 book 目录,在当前目录创建 book/Linux 子目录。 root@Ubuntu:~# mkdir book/Linux mkdir: 无法创建目录'book/Linux': No such file or directory root@Ubuntu:~# mkdir –p /book/Linux root@Ubuntu:~# ls book jenod 一次创建多层目录要加-p 参数。 6.rmdir(删除目录) 与创建目录类似,加上-p 参数表示如果删除一个目录后其父目录为空,则将其父目录 一同删除。 (1) 删除目录。 root@Ubuntu:~# rmdir dir1 (2) 删除当前目录下的 book/Linux 子目录,如果 book 目录为空,也删除该目录。 root@Ubuntu:~# rmdir –p book/Linux book 目录不为空则保留 book 目录。 3.3 简单系统管理 1.login(文本环境系统登录) Ubuntu Linux 默认是以图形环境登录的,登录后单击 Ctrl +Alt+F1 键,又可以看到一 个 login 提示符,这就是第一个虚拟控制台。 登录系统。 Ubuntu 7.04 tty1 Ubuntu login:root Passwd: root@Ubuntu:~# 登录时允许用户输入 10 次密码,如果输入 10 次密码都没有通过,login 程序自动终止。 第 3 章 Linux 基本命令 ·45· ·45· 2.shutdown(关机) 执行此命令时,每个用户都会收到一条信息,从中可以得到关机的最后期限。一般只 有 root 账号才有权执行此命令。 (1) 立即关机。 root@Ubuntu:~# shutdown –h now (2) 关闭系统后重启系统。 root@Ubuntu:~# shutdown -r (3) 系统 1 分钟后重启。 root@Ubuntu:~# shutdown –r +1minutes (4) 系统 15:30 后重启。 root@Ubuntu:~# shutdown –r 15:30 提示:shutdown 常用的时间参数有 hh:mm 或+m 两种模式。 ① hh:mm 格式表示在几点几分执行 shutdown 命令。例如“shutdown 10:45”表示 将在 10:45 执行 shutdown。 ② +m 表示 m 分钟后执行 shutdown。比较特别的用法是以 now 表示立即执行 shutdown。 (5) 安全的关机方法。 root@Ubuntu:~# Sync;Sync;Sync;shutdown –h now 3.logname(显示登录时的用户名) 显示登录时的用户名。 root@Ubuntu:~# logname root 4.who(查看系统中登录的用户) (1) 查看用户自己的信息。 root@Ubuntu:~# who -m (2) 显示登录的用户名和数量。 root@Ubuntu:~# who -q root student # 用户数=2 5.id(显示当前用户名和所属组名) 显示当前用户名和所属组名。 root@Ubuntu:~# id uid=0(root) gid=0(root) groups=0(root) Linux 操作系统教程与实训 ·46· ·46· 表示当前用户是 root,其组名也是 root。 6.su(改变用户身份) su 意思是“substitute users(代替用户)”,在使用某个用户账户登录系统后,允许改变 用户身份,改用其他用户身份继续使用系统。 (1) 从超级用户 root 改为 student 用户。 root@Ubuntu:~# su stduent student@Ubuntu:/root$ student@Ubuntu:/root$cd //切换到 student 用户子目录 student@Ubuntu:~$ 注意:上述命令切换到 student 用户时没有转到 student 用户子目录下,也就是说这时虽然 是切换为 student 用户了,但并没有改变 student 登录环境(用户默认的登录环境,可 以在/etc/passwd 中查到,包括子目录、 SHELL 定义等 )。如果切换用户是要求改变 用户登录环境,要使用参数“l”或者直接输入“-”而不加参数。 root@Ubuntu:~# su –l stduent student@Ubuntu:~$ (2) 从超级用户 student 改为 root 用户。 student@Ubuntu:~$ su root //切换到 root 用户时可以直接输入 su Password: root@Ubuntu:~# 为了安全,变换到 root 用户时要输入 root 用户密码。 7.man(获得命令帮助) 要想查看某个命令的使用手册页(man page),只要在输入“man”后跟该命令的名称 即可。 (1) 查看 ls 的使用手册。 root@Ubuntu:~# man ls 使用 man 命令,首先进入 man page 环境,要退出 man page 帮助直接按 Q 键。 提示:其他 man page 按键: 空格 向下翻页 page up 向下翻页 page down 向下翻页 /word 查找 word 单词 (2) 查看 man 自己的使用手册。 root@Ubuntu:~# man man 使用 man 命令查看自己的使用手册是最容易被大家忽略的。 第 3 章 Linux 基本命令 ·47· ·47· 8.date(显示/修改当前的日期时间) (1) 显示系统当前时间。 root@Ubuntu:~# date (2) 将时间更改为 2007 年 12 月 10 日 10 点 23 分。 root@Ubuntu:~# date 121010232007 9.cal(显示日历或年历) (1) 显示当月的日历。 root@Ubuntu:~# cal (2) 显示 2007 年 12 月的日历。 root@Ubuntu:~# cal 12 2007 (3) 显示 2003 年的日历。 root@Ubuntu:~# cal - y 2003 10.df(查看磁盘) 检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间、 目前还剩下多少空间等信息。 (1) 查看文件系统各个分区的占用情况。 root@Ubuntu:~# df 文件系统 1k-块 已用 可用 已用% 挂载点 /dev/hda2 28834744 3785064 23584956 14% / /dev/hda1 474443 20924 429022 5% /boot df 命令默认以 K 为单位显示分区情况。如果要 1.3M 为单位,命令为:df –m。 (2) 查看文件系统的各个分区的占用情况并显示文件类型。 root@Ubuntu:~# df -T 文件系统 1k-块 已用 可用 已用% 挂载点 /dev/hda2 ext3 28834744 3785064 23584956 14% / /dev/hda1 ext3 474443 20924 429022 5% /boot 11.du(查看目录或文件容量) (1) 列出/etc 目录与文件所占容量。 root@Ubuntu:~# du / etc 默认以 K 为单位显示文件所占容量。 (2) 以 m 为单位列出/home 目录与文件所占容量。 root@Ubuntu:~# du -m /etc Linux 操作系统教程与实训 ·48· ·48· (3) 仅仅列出/etc 目录容量。 root@Ubuntu:~# du -s /etc 12.free(查看系统内存、虚拟内存(交换空间)的占用情况) 查看系统内存。 root@Ubuntu:~# free total used free shared buffers cached Mem: 158556 154284 5272 0 7284 50380 -/+ buffers/cache: 96620 61936 Swap: 369452 76456 292996 以上 free 命令的具体含义解释如下。 1) 第 2 行 ① total 为内存总数。 ② used 为已经使用的内存数。 ③ free 为空闲的内存数。 ④ shared 为当前已经废弃不用,总是 0。 ⑤ buffers 为 Buffer Cache 内存数。 ⑤ cached 为 Page Cache 内存数。 关系:total = used + free。 2) 第 3 行 ① -buffers/cache 的内存数 96620 等于第 1 行的 used - buffers – cached。 ② +buffers/cache 的内存数 61936 等于第 1 行的 free + buffers + cached。 可见-buffers/cache 反映的是被程序实实在在吃掉的内存,而+buffers/cache 反映的是可 以挪用的内存总数。 3) 第 4 行单独针对交换分区 3.4 文件压缩和解压缩 通常需要把一组文件储存成一个文件以便备份文件时,或者想让某些文件占用少量磁 盘空间并能更快地通过 Internet 下载时,就需要将文件打包与压缩。表 3-1 是 Linux 系统下 常见的压缩或包文件类型。 表 3-1 压缩文件类型表 扩展名 类型属性 bz2 使用 bzip2 压缩的文件 gz 使用 gzip 压缩的文件 tar 使用 tar(tape archive,磁带备份的简写)压缩的文件 tbz 用 tar 和 bzip 压缩的文件 tgz 用 tar 和 gzip 压缩的文件 zip 使用 zip 压缩的文件,在 MS-DOS 应用程序中常见 第 3 章 Linux 基本命令 ·49· ·49· 在 Linux 中,常用的文件压缩工具有 gzip、bzip2 和 zip,对应的解压工具分别是 gunzip、 bunzip2、unzip。bzip2 和 gzip 压缩工具提供了最大限度的压缩,并且可在多数类似 UNIX 的操作系统上找到,因此得到广泛应用。如果需要在 Linux 和其他操作系统(如 Windows) 间传输文件,应该使用 zip,因为该命令与 Windows 的压缩工具最兼容。下面简单介绍一 下常用的压缩/解压缩命令。 1.zip 和 unzip 使用 zip 来压缩文件,使用 unzip 来解压缩文件,当然也可用 zip 加参数-d 来解压缩。 (1) 压缩单个文件。 root@Ubuntu:~# cp /etc/man.config . root@Ubuntu:~# zip man man.config 上面的命令先压缩 man.config 文件,然后放入 man.zip 文件中。 (2) 压缩多个文件与目录到同一个压缩文件。 root@Ubuntu:~# zip -r zip1 man.config man.zip 上述命令把 man.config 与 man.zip 压缩到 zip1 文件中。 2.gzip 和 gunzip 使用 gzip 命令压缩文件,使用 gunzip 命令解压缩文件,其实 gzip 的压缩命令与解压 缩命令 gunzip 实际上是同一个程序,文件的大小和参数完全一样,只是命令的名称不同。 执行命令后文件会被压缩,并被保存为 filename.gz。当解压缩时,filename.gz 会被删除, 同时 filename.gz 被还原。 与 zip 相比,gzip 有以下特点: ① zip 命令具有将许多文件与目录压缩成一个文件的功能,但 gzip 却不能。 ② 用 gzip 命令压缩后源文件会被删除。 (1) 压缩单个文件。 root@Ubuntu:~# cp /etc/man.config. root@Ubuntu:~# gzip man.config root@Ubuntu:~# ls -l 使用 ls –l 命令查看结果时,man.config 没有了,但多了一个 man.config.gz 文件。 (2) 压缩多个文件。 root@Ubuntu:~# touch a b root@Ubuntu:~# gzip a b root@Ubuntu:~# ls a.gz b.gz 对比发现 gzip 可以一次压缩多个文件,但不能压缩目录,也不能将多个文件与目录压 缩成一个文件。 3.tar(打包) tar 命令是 Linux 常用的压缩与解压缩类命令,多用于硬盘数据备份,可以对文件和目 录进行打包。利用 tar 命令,用户可以对某一特定文件进行打包(一般用作备份文件),也可 Linux 操作系统教程与实训 ·50· ·50· 以在包中改变文件,或者向包中加入新的文件。 (1) 将/home 目录下所有文件打包成 test.tar。 root@Ubuntu:~# tar -cvf test.tar /home/* 注意需自行加上扩展名.tar。 (2) 将所有文件打包成 test1.tar,再用 gzip 格式压缩: root@Ubuntu:~# tar –zcvf test1.tar.gz /tmp/* 以上步骤也可以分开为先使用 tar 命令打包,再使用 gzip 压缩。 (3) 查看 test.tar 文件中包括了哪些文件。 root@Ubuntu:~# tar -tf test.tar (4) 添加 file3 文件到压缩文件 test.tar。 root@Ubuntu:~# tar -rvf file3 test.tar (5) 将 test.tar 解包。 root@Ubuntu:~# tar -xvf test.tar (6) 将 text1.tar.gz 解压缩。 root@Ubuntu:~# tar -zxvf text1.tar.gz 以上步骤也可以分开为先使用 gzip 解压缩,再使用 tar 命令解包。 3.5 进程管理与作业控制 3.5.1 进程与作业的概念 进程与程序是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指 令集合,简单地说就是保存在磁盘上的文件,不占系统的运行资源;而进程是一个随时都 可能发生变化的、动态的、使用系统运行资源的程序。运行一个程序,就会在系统中创建 一个或者多个进程,进程可以看成是在计算机里正在运行的程序。Linux 操作系统启动后, 就已经创建了许多进程。 与进程有关的一个概念是作业。在 Linux 中,一个正在执行的进程对 Shell(命令解析器) 来说可称为一个作业。一般来说,进程和作业是可互换的。作业控制是 Shell 提供的使用户 能够在多个独立作业间进行切换的功能。 进程和作业的概念也有区别,一个正在执行的进程称为一个作业,而且作业可以包含 一个或多个进程,尤其是当使用了管道和重定向命令。例如,命令“cat /etc/profile|more” 将启动两个进程,而这两个进程才构成一个作业。 3.5.2 启动进程 启动一个进程有两个主要途径:手工启动和调度启动。调度启动是事先进行设置,根 据用户要求自行启动,将在本节稍后讲述。手工启动又分为前台启动和后台启动。前台启 第 3 章 Linux 基本命令 ·51· ·51· 动是最常用的方式,一般用户输入一个命令就已经启动了一个进程,而且是一个前台的进 程。前台启动的一个特点是进程不结束,终端不出现“#”或“$”提示符,所以用户不能 再执行其他的任务。后台启动的一种方法是用户在输入命令后面加“&”字符,后台进程 常用于进程耗时长、用户不着急得到结果的场合。用户在启动一个后台进程后,终端会出 现“#”或“$”提示符,而不必等待进程结束,用户可以继续执行其他任务。实际上系统 启动后已经处于多进程状态,有许多进程在后台运行着。 (1) yes 命令前台启动。 root@Ubuntu:~# yes y y # 命令 yes 是向标准输出发出无穷无尽的一串 y,用户再也不能继续其他的任务了。 (2) yes 命令后台启动。 root@Ubuntu:~# yes>dev/null& [1] 6689 root@Ubuntu:~# 将一个作业放到后台运行的一种方法是在命令后面加“&”字符。输入命令以后,出 现一个数字,这个数字就是该进程的编号,也称为 PID。这时,用户可以看到 Shell 的提示 符又回到屏幕上,用户可以继续其他工作。 提示:上面将 yes 命令的输出送给虚拟设备/dev/null,然后让这个作业在后台运行,因为默 认标准输出是屏幕,如果不改变 yes 的输出,yes 运行的结果还是要显示在屏幕上, 干扰继续的任务。 3.5.3 进程管理 1.ps(查看系统的进程) 要管理进程首先要了解系统有哪些进程及其状态如何。 (1) 显示当前控制终端的进程。 root@Ubuntu:~# ps PID TTY TIME CMD 2791 ttyp0 00:00:00 tcsh 3092 ttyp0 00:00:00 ps (2) 显示列出所有的行程。 root@Ubuntu:~# ps -A PID TTY TIME CMD 1 ? 00:00:03 init 2 ? 00:00:00 kflushd # Linux 操作系统教程与实训 ·52· ·52· (3) 详细显示所有包含其他使用者的行程。 root@Ubuntu:~# ps –au USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3] root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd] # ps -au 输出格式说明如下。 ① USER:进程拥有者。 ② PID:进程号。 ③ %CPU:占用的 CPU 使用率。 ④ %MEM:占用的内存使用率。 ⑤ VSZ:占用的虚拟内存大小。 ⑥ RSS:占用的内存大小。 ⑦ TTY:终端的次要装置号码。 ⑧ STAT:该进程的状态。 ⑨ START:进程开始时间。 ⑩ TIME:执行的时间。 COMMAND:所执行的指令。 2.kill(给进程发送信号) 当某个进程运行错误时,对于前台进程,可以按 Ctrl+C 键来终止它,后台进程无法使 用这种方法,但可以使用 kill 命令给进程发送信息,比如强行终止信息,从而达到目的。 (1) 显示 kill 能发送的信息种类。 root@Ubuntu:~# kill –l kill 能够发送的信息较多,每个信号都有对应的数值,比如 SIGKLL 信号的值是 9, SIGHUP 的信号值是 1。 (2) 通过进程号终止进程。 root@Ubuntu:~# ps PID TTY TIME CMD 2791 ttyp0 00:00:00 tcsh 7091 ttyp0 00:00:03 yes 7092 ttyp0 00:00:00 ps root@Ubuntu:~# kill -9 7901 3.top(实时监控进程) 和 ps 命令不同,top 可以实时监控进程的状况,top 默认自动 5 秒刷新一次,也可用“top –d 30 ”,使得 top 屏幕 30 秒刷新一次。 4.bg(将作业放到后台执行) 在手工启动前台进程时,如果进程没有执行完毕,则可以使用“Ctrl+Z”键暂停进程 的执行,然后可以使用 bg 命令将进程放到后台执行,前台继续其他任务。 第 3 章 Linux 基本命令 ·53· ·53· root@Ubuntu:~# yes y # 用 Ctrl+Z 键暂停进程。 [1] +Stopped yes root@Ubuntu:~# bg %1 使用 bg 命令把进程放到后台执行,在 bg 命令中指定进程是通过作业 ID 作为参数来指 定的,作业 ID 可以用 jobs 查看。 5.jobs(查看后台作业) root@Ubuntu:~# more /etc/man.comfig 用 Ctrl+Z 键暂停进程。 root@Ubuntu:~# jobs [1] +Running yes [2]+Stopped more /etc/man.comfig 上述命令中,“1”就是命令“yes”作业对应的作业 ID,正在后台运行;“2”就是命 令“more /etc/man.comfig”对应的作业,已经暂停。 6.fg(将作业放到前台执行) 把作业“more /etc/man.comfig”重新放到前台执行。 root@Ubuntu:~# fg %2 3.5.4 作业调度 有时候需要对系统进行一些比较费时而且占用资源的维护工作,这些工作适合在深夜 进行,这时候用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统 会自动完成这些工作。 1.at(在指定时刻执行指定的命令序列) (1) 3 天后的下午 5 点钟执行 /bin/ls。 root@Ubuntu:~# at 5pm + 3 days waring:commands will be executed using /bin/sh at > bin/ls 使用 at 命令,首先进入 at 编辑界面,编辑完后按 Ctrl+D 键退出。 注意:在 at 编辑界面输入的命令要使用绝对路径。例如,输入“/bin/ls”而不是“ls”。 at 命令时间格式说明: ① 当天的 hh:mm(小时:分钟)的时间。如果该时间已经过去,那么就在第二天的这个时 间执行。用户还可以采用 12 小时计时制,即在时间后面加上 AM(上午)或 PM(下午)来说明 是上午还是下午,如 at 5:20 AM /bin/date。 Linux 操作系统教程与实训 ·54· ·54· ② 指定命令执行的具体日期。指定格式为 month day(月 日)、mm/dd/yy 或者 dd.mm.yy。指定的日期必须跟在指定时间的后面。 ③ 相对计时法。指定格式为 now + count time-units ,“now”就是当前时间,“time-units” 是时间单位,这里可以用 minutes(分钟)、hours(小时)、days(天)、weeks(星期)等。count 是 时间的数量。 ④ 直接使用 today(今天)、tomorrow(明天)来指定完成命令的时间。 例如:指定在今天下午 5:30 执行某命令。假设现在时间是中午 12:30,日期是 2006 年 2 月 24 日,其命令格式有如下几种: at 5:30pm at 17:30 at 17:30 today at now + 5 hours at now + 300 minutes at 17:30 24.2.06 at 17:30 2/24/06 at 17:30 Feb 24 以上这些命令表达的意义是完全一样的,所以在安排时间的时候完全可以根据具体情 况自由选择。采用绝对时间的 24 小时计时法一般可以避免由于用户自己的疏忽造成计时错 误的情况发生。 (2) 删除指定的作业序列。 root@Ubuntu:~# at –d 1 //1 为对应的作业序号 查询作业序列使用命令 atq,删除作业使用命令 atrm。 2.crontab(在指定时刻执行指定的命令序列) at 命令用于安排运行一次的作业较方便,但如果要重复运行程序,比如每周三凌晨 1 点进行数据备份,则使用 crontab 命令更为方便。 (1) 编辑用户 crontab 作业。 每天 12:30 和 23:30 执行系统升级。 root@Ubuntu:~# crontab –e 30 12,23 * * * apt-get update 提示:crontab 命令编辑格式:为“分 小时 日 月 年 命令”。 如果用户不知道其中几项,可以用“ *”代替,不同项之间用空格分开,同一项之间 可以用“,”分隔表示多种选择。 (2) 查看用户 crontab 作业。 root@Ubuntu:~ # crontab –l (3) 删除用户 crontab 作业。 root@Ubuntu:~# crontab –r 第 3 章 Linux 基本命令 ·55· ·55· 3.6 小 结 本章介绍如何使用 Linux 命令来有效地运行 Linux,管 理 Linux 文件与目录。介绍了作 业与进程的概念以及进程管理与作业调动命令的使用。命令的使用是深入学习 Linux 的基 础,灵活运用 Linux 各种命令往往能够达到事半功倍的效果。 3.7 练习与思考 一、选择题 (1) 在命令行状态下,超级用户的提示符是________。 A.# B.$ C.C:\> D.grub> (2) 用于文件系统挂载的命令是________。 A.fdisk B.mount C.df D.man (3) 可以为文件或目录重命名的命令是________。 A.mkdir B.rmdir C.mv D.rm (4) 变更用户身份的命令是________。 A.who B.id C.whoami D.su (5) 用来终止某一进程执行的命令是________。 A.ps B.pstree C.kill D.free (6) Linux 操作系统为用户提供的接口为________。 A.命令接口和图形接口 B.命令接口或图形接口 C.只有图形接口 D.只有命令接口 (7) 把作业放在后台执行的命令是________。 A.fg B.bg C.jobs D.ps 二、填空题 (1) 用于复制文件或目录的命令是________。 (2) gzip 命令的功能是________。 (3) 主要的作业调动命令有________和________。 三、简答题 (1) more 和 less 命令有何区别? (2) 简述一下进程,以及它与程序的区别。 Linux 操作系统教程与实训 ·56· ·56· 3.8 项 目 实 训 项目 3:Linux 基本命令使用 一、项目问题 公司目前有许多 Linux 主机,这其中有各种发行版的 Linux,如 Ubuntu Linux 和 Fedora 等,而且有些用作服务器的 Linux 主机只提供了文本环境。作为公司网管的你如果仅仅会 使用图形环境管理的 Linux 系统,势必不能很好地完成任务。另一方面,管理 Linux 主机 大多使用远程登录方式(Telnet,SSH)——如果你不怕辛劳,也可以事事都身临其境。而远 程登录只提供文本环境,因此熟练掌握 Linux 命令操作是作为公司网管的必须要求。 具体要求: (1) 进入 Linux 命令环境。 (2) 掌握使用命令对文件和目录进行管理的方法。 (3) 练习使用简单系统管理类命令。 (4) 掌握使用命令对文件与目录进行压缩和解压缩的方法。 (5) 熟练使用命令进行进程管理与作业控制。 项目环境:一台安装了 Ubuntu Linux 操作系统的计算机,并能够连接 Internet。 二、项目实现 任务 1 进入 Linux 命令环境 1.在 Ubuntu Linux 图形环境进入仿真终端 在“终端”下的命令操作与纯命令环境的命令操作是完全一样的,在 Ubuntu Linux 图 形环境下进入仿真终端的方法:执行【应用】|【附件】|【终端】命令。 2.使用虚拟控制台 Ubuntu Linux 默认的登录模式为图形环境,在进入图形环境后单击 Ctrl+Alt+Fn 键可以 进入虚拟控制台 n(n 为 1~6),在虚拟控制台登录后,输入用户名,然后按照要求输入登录 密码,即可登录文本环境。 3.开机后直接进入文本环境 如果把 Ubuntu Linux 默认的登录模式改为文本环境,在终端执行以下命令: root@Ubuntu:~# sudo mv /etc/rc2.d/S13gdm /etc/rc2.d/K13gdm 提示:这是因为 Ubuntu Linux 默认的运行级别是 2,所以只要修改运行级别为 2 的系统启 动目录下的链接,把/etc/rc2.d/S13gdm 修改为/etc/rc2.d/K13gdm,就可以禁止运行级 别 2 的图形环境登录进程。这一点与其他 Linux 操作系统直接修改运行级别文件是 不同的。 第 3 章 Linux 基本命令 ·57· ·57· 关于 Ubuntu Linux 的系统运行级别的解释如下。 Linux 系统任何时候都运行在一个指定的运行级别上,并且不同运行级别的程序和服 务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级别之间进行切 换,以完成不同的工作。Ubuntu Linux 设置了如下的运行级别(与其他的 Linux 操作系统有 所不同): ① 0 为系统停机状态。 ② 1 为单用户或系统维护状态。 ③ 2~5 为多用户状态。 ④ 6 为重新启动。 任务 2 文件和目录管理 1.cd(改变工作目录) (1) 进入到/usr/bin 目录。 root@Ubuntu:~# cd /usr/bin (2) 返回到用户主目录。 root@Ubuntu: /usr/bin # cd ~ 在目录/usr/bin 与用户主目录间切换,多次执行命令“cd –”,看看结果,注意理解其 中的含义。 2.ls(显示用户当前或指定目录的内容) (1) 显示当前主目录下的所有文件。 root@Ubuntu:~# cd ~;ls -a; (2) 以长格式显示当前目录的详细信息。 root@Ubuntu:~# ls -l (3) 列出当前包括子目录下的所有文件。 root@Ubuntu:~# ls -R 3.touch 命令练习 (1) 在当前目录建立文件 file1。 root@Ubuntu:~# touch file1 (2) 查看新文件创建时间:ls –l 。 (3) 将文件的创建日期修改为 2008 年 9 月 6 日。 root@Ubuntu:~# touch file1 –t 0809060000cd ~;ls -l 4.mkdir(创建目录) (1) 建立目录 A 和 D。 Linux 操作系统教程与实训 ·58· ·58· root@Ubuntu:~# mkdir A D (2) 建立目录 B 并给予所有用户可读、写执行权限。 root@Ubuntu:~# mkdir -m 777 B (3) 使用命令 ls –l 查看结果,比较 A、B 项的记录,看有何不同并写下 A、B 记录: ( ) ( ) 5.mv(移动文件) (1) 将目录 A 更名为 C。 root@Ubuntu:~# mv A C (2) 将目录 C 移动到目录 B 下面。 root@Ubuntu:~# mv C B 注意理解(1)、(2)的区别。 (3) 执行命令“cd ./B;ls –l”查看结果。 6.rm(删除文件和目录) (1) 删除目录 D。 root@Ubuntu:~# rm D (2) 删除目录 B,用命令“rm B”能否删除?系统给出的提示是:( ); (3) 删除目录 B,试用命令“rm B –rf”,用命令“ls –l”查看结果。 (4) 理解参数的 r、f 的作用: 参数 r 的作用是( ),参数 f 的作用是( )。 7.find(查找文件或目录) (1) 查找文件名为 passwd 的文件。 root@Ubuntu:~# find / -name passwd –print (2) 在目录 home 下查找 root 用户的文件。 root@Ubuntu:~# find /home –user root –print (3) 寻找当前目录下 5 天以前修改的文件。 root@Ubuntu:~# find . –ctime +5 touch file1 8.查看文件命令 cat、more、less、head、tail 的练习 (1) 用命令 cat 查看文件/etc/profile。 root@Ubuntu:~# cat -n /etc/profile (2) 用命令 more 查看文件/etc/profile。 root@Ubuntu:~# more –d /etc/profile 第 3 章 Linux 基本命令 ·59· ·59· (3) 用命令 less 查看文件/etc/profile。 root@Ubuntu:~# less -n /etc/profile (4) 用命令 head 查看文件/etc/profile 的前 3 行。 root@Ubuntu:~# head /etc/profile –n3 (5) 用命令 tail 查看文件/etc/profile 的最后 5 行。 root@Ubuntu:~# tail /etc/profile –n5 9.grep(在文件中查找指定的字符串) (1) 查找 profile 文件中的字符串 then。 root@Ubuntu:~# grep then /etc/profile (2) 查找 profile 文件中字符串的 then 并显示行数。 root@Ubuntu:~# grep -n then /etc/profile 任务 3 简单系统管理 1. shutdown(关机) (1) 立即关机。 root@Ubuntu:~# shutdown –h now (2) 关闭系统后重启系统。 root@Ubuntu:~# shutdown –r (3) 系统 1 分钟后重启。 root@Ubuntu:~# shutdown -r +1minutes (4) 系统 15:30 后重启。 root@Ubuntu:~# shutdown –r 15:30S (5) 安全的关机方法。 root@Ubuntu:~# Sync;Sync;Sync;shutdown –h now 2.su(改变用户身份) (1) 改变超级用户 root 用户为 student 用户。 root@Ubuntu:~# su stduent (2) 改变超级用户 student 用户为 root 用户。 root@Ubuntu:/root$su root 要切换到 root 用户,要求输入 root 用户密码。 Linux 操作系统教程与实训 ·60· ·60· 3.man(获得命令帮助) (1) 查看 ls 的使用手册。 root@Ubuntu:~# man ls 使用 man 命令,首先进入 man page 环境,要退出 man page 帮助直接单击 q。 练习使用其他 man page 按键: 空格 向下翻页 page up 向上翻页 page down 向下翻页 /word 查找 word 单词 (2) 查看 man 自己的使用手册命令:man man。 4.date(显示/修改当前的日期时间) (1) 显示系统当前时间命令。 root@Ubuntu:~# date (2) 将系统时间更改为 2007 年 12 月 10 日 10 点 23 分。 root@Ubuntu:~# date 121010232007 5.cal(显示日历或年历) (1) 显示当月的日历。 root@Ubuntu:~# cal (2) 显示 2007 年 12 月的日历。 root@Ubuntu:~# cal 12 2007 (3) 显示 2003 年的日历。 root@Ubuntu:~# cal - y 2003 6.df(查看磁盘) (1) 查看文件系统各个分区的占用情况。 root@Ubuntu:~# df (2) 比较 df –a,df –h,df –H 的区别。 7.du(查看目录或文件容量) (1) 列出/etc 目录与其下文件所占容量。 root@Ubuntu:~# du /etc (2) 以 m 为单位列出/home 目录与其下文件所占容量。 root@Ubuntu:~# du -m /etc 第 3 章 Linux 基本命令 ·61· ·61· (3) 仅仅列出/etc 目录容量。 root@Ubuntu:~# du -s /etc 8.free(查看系统内存、虚拟内存(交换空间)的大小占用情况) 查看系统内存。 root@Ubuntu:~# free 任务 4 文件与目录的压缩和解压缩 系统中的主硬盘在使用的时候会有可怕的噪声,但是其中有有价值的数据。系统在两 年半以前备份过,现在想手动备份少数几个最重要的文件。系统目录/tmp 挂载不同硬盘上 的稳定分区,这样可以临时把文件备份到那里。 1.使用 gzip 压缩文件 (1) 在/home 目录里,用 find 命令定位文件所有者是 student 的文件。然后将其压缩备 份到/tmp 目录下。 root@Ubuntu:~# find /home –user student –exec tar rvf /tmp/backup.tar {} \ ; tar 命令的参数 r 表示追加文件。 (2) 将/etc 目录下的文件保存到/tmp 目录下。 root@Ubuntu:~# tar cvf /tmp/confbackup.tar /etc 2.列出两个文件的大小 root@Ubuntu:~# ls –lh /tmp /*.tar backup.tar 文件的大小是________。 confbackup.tar 文件的大小是________。 3.使用 gzip 压缩文件,然后报告文件的大小 root@Ubuntu:~# cd /tmp root@Ubuntu:~# gzip –v *.tar root@Ubuntu:~# ls –lh *tar* backup.tar.gz 文件大小为____________。 backup.tar.gz 文件的压缩百分比为________。 confbackup.tar.gz 文件大小为____________。 confbackup.tar.gz 文件的压缩百分比为________。 4.先解压缩 gzip 文件,然后再压缩,最后比较新文件的大小 (1) 解压缩文件并查看结果。 root@Ubuntu:~# gunzip *.gz root@Ubuntu:~# ls –lh *tar Linux 操作系统教程与实训 ·62· ·62· (2) 采用 bzip2 压缩文件并查看结果。 root@Ubuntu:~# bzip2 –v *tar root@Ubuntu:~# ls –lh *tar* backup.tar.bz2 文件大小为__________。 backup.tar.bz2 文件的压缩百分比为__________。 confbackup.tar.bz2 文件大小为__________。 confbackup.tar.bz2 文件的压缩百分比为__________。 任务 5 进程管理与作业控制 1.ps(查看系统的进程) (1) 显示当前控制终端的进程。 root@Ubuntu:~# ps (2) 显示所有的行程。 root@Ubuntu:~ # ps –A (3) 详细显示所有包含其他用户的行程。 root@Ubuntu:~ # ps –au 2.fg 和 bg 命令的使用 (1) 在前台运行。 root@Ubuntu:~# yes>/dev/null (2) 挂起这个作业:单击 Ctrl+Z 键。 (3) 查看作业情况。 root@Ubuntu:~# jobs (4) 把作业放到后台执行。 root@Ubuntu:~# bg (5) 查看作业情况,命令为 jobs。 (6) 把作业放到前台执行。 root@Ubuntu:~# fg (7) 挂起这个作业:单击 Ctrl+Z 键。 (8) 在前台运行作业。 root@Ubuntu:~# more /etc/man.comfig (9) 挂起这个作业:单击 Ctrl+Z 键。 (10) 把作业 1 放到后台执行。 root@Ubuntu:~# bg %1 第 3 章 Linux 基本命令 ·63· ·63· (12) 查看作业情况。 root@Ubuntu:~# jobs (13) 把作业 2 放到前台执行。 root@Ubuntu:~# fg %2 (14) 挂起这个作业:单击 Ctrl+Z 键。 (15) 撤销作业 1、2。 root@Ubuntu:~# kill %1 root@Ubuntu:~# kill %2 3.at(在指定时刻执行指定的命令序列) (1) 3 天后的下午 5 点钟执行 /bin/ls。 root@Ubuntu:~# at 5pm + 3 days waring commands will be executed user /bin/sh >/bin/ls 进入 at 编辑界面,输入“/bin/ls”,单击 Ctrl+D 键退出。 (2) 2008 年的最后一天的最后一分钟打印出“hello 2009! ”。 root@Ubuntu:~# at 23:59 12/31/2008 waring commands will be executed user /bin/sh > /bin/echo hello 2009! (3) 查询当前有多少工作。 root@Ubuntu:~# atq 也可以输入以下命令。 root@Ubuntu:~# at -l (4) 删除第二个工作。 root@Ubuntu:~# atrm jobnumber // jobnumber 为第二个作用的工作号 三、项目考核评价标准 任务 要求 分值 得分 备注 任务 1 进入 Linux 命令环境 能够采用多种方式进入系统 15 任务 2 文件和目录管理 熟练使用命令对文件与目录进行操作 25 任务 3 简单系统管理 使用命令进行简单的系统管理 20 任务 4 文件与目录压缩和解压缩 能够压缩与备份数据 20 任务 5 进程管理与作业控制 能够进行一般的进程管理与作业控制 20 四、归纳总结 灵活运用 Linux 各种命令往往能够达到事半功倍的效果。通过在文本环境练习文件和 目录管理、简单系统管理、文件与目录压缩和解压缩、进程管理与作业控制命令的使用, Linux 操作系统教程与实训 ·64· ·64· 进一步领会 Linux 系统的精髓。 五、项目拓展与提高 (1) 根据实际需要,灵活使用调动命令备份重要数据。 (2) 参考资料,了解 Ubuntu Linux 的运行级别与其他 Linux 发行版有哪些不同。 (3) 为了使 Ubuntu Linux 进一步中文化,到 http://wiki.ubuntu.org.cn 从事一些中文翻译 工作。
还剩29页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

cymt

贡献于2015-05-02

下载需要 6 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf