Linux 必学的 60 个命令(6) 其他

Linux 必学的 60 个命令(6) 其他

在前面儿讲中,我们把 Linux 命令按照在系统中的作用分成儿个部分分别予以介绍。但是, 还有一些命令不好划分,然而学习它们同样是比较重要的。

tar

1.作用

tar 命令是Unix/Linux 系统中备份文件的可靠方法,儿乎可以工作千任何环境中,它的使用权限是所有用户。

2.格式

tar [主选项+辅选项] 文件或目录

3.主要参数

使用该命令时,主选项是必须要有的,它告诉tar 要做什么事情,辅选项是辅助使用的, 可以选用。主选项:

—c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。—r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

—t 列出档案文件的内容,查看已经备份了哪些文件。

—u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

—x 从档案文件中释放文件。辅助选项:

—b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为 2O

(2OX512 bytes)。

—f 使用档案文件或设备,这个选项通常是必选的。

—k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。

—m 在还原文件时,把所有文件的修改时间设定为现在。

—M 创建多卷的档案文件,以便在儿个磁盘中存放。

—v 详细报告 tar 处理的文件信息。如无此选项,tar 不报告文件信息。

—w 每一步都要求确认。

—z 用gzip 来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定

要使用该选项进行解压缩。

4.应用说明

tar 是 Tape Archive(磁带归档)的缩写,最初设计用千将文件打包到磁带上。如果下载

过 Linux 的源代码,或许已经碰到过 tar 文件

请注意,不要忘了 Linux 是区分大小写的。例如,tar 命令应该总是以小写的形式执行。命令行开关可以是大写、小写或大小写的混合。例如,—t 和—T 执行不同的功能。文件或目录名称可以混合使用大小写,而且就像命令和命令行开关一样是区分大小写的。

5.应用实例

tar 是一个命令行的工具,没有图形界面。使用 Konsole 打开一个终端窗口,接下来是一个简单的备份命令(在/temp 目录中创建一个 back.tar 的文件,/usr 目录中所有内容都包含在其中。):

$tar cvf — /usr > /temp/back.tar 另外,tar 命令支持前面第三讲中讲过的crontab 命令,可以用 crontab 工具设置成基千时间的有规律地运行。例如,每晚6 点把/usr 目录备份到 hda—第一个 IDE 接口的主驱动器 (总是位千第一个硬盘)中,只要将下面语旬添加到

root 的 crontab 中即可: $OO O6 * * * tar cvf /dev/hda1/usrfiles.tar — /usr

一般情况下,以下这些目录是需要备份的:

• /etc 包含所有核心配置文件,其中包括网络配置、系统名称、防火墙规则、用户、组, 以及其它全局系统项。

• /var 包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲

文件、HTTP 服务器文件、dB2 实例配置等。

• /home 包含所有默认用户的主目录,包括个人设置、已下载的文件和用户不希望失去的其它信息。

• /root 根(root)用户的主目录。

• /opt 是安装许多非系统文件的地方。IBM 软件就安装在这里。OpenOffice、JDK 和其它软件在默认情况下也安装在这里。有些目录是可以不备份的:

• /proc 应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,包括诸如/proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。

• /dev 包含硬件设备的文件表示。如果计划还原到一个空臼的系统,就可以备份/dev。然而,如果计划还原到一个已安装的 Linux 系统,那么备份/dev 是没有必要的。

unzip

1.作用

unzip 命令位千/usr/bin 目录中,它们和 MS DOS 下的 pkzip、pkunzip 及 MS Windows 中的 Winzip 软件功能一样,将文件压缩成.zip 文件,以节省硬盘空间,当需要的时候再将压缩文件用 unzip 命令解开。该命令使用权限是所有用户。

2.格式

unzip [—cflptuvz][—agCjLMnoqsVX][—P <密码>][.zip 文件][文件][—d <目录>][—x <文件>]

3.主要参数

—c:将解压缩的结果显示到屏幕上,并对字符做适当的转换。

—f:更新现有的文件。

—l:显示压缩文件内所包含的文件。

—p:与—c 参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

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

—u:与—f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。

—v:执行是时显示详细的信息。

—z:仅显示压缩文件的备注文字。

—a:对文本文件进行必要的字符转换。

—b:不要对文本文件进行字符转换。

—C:压缩文件中的文件名称区分大小写。

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

—L:将压缩文件中的全部文件名改为小写。

—M:将输出结果送到 more 程序处理。

—n:解压缩时不要覆盖原有的文件。

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

—P<密码>:使用 zip 的密码选项。

—q:执行时不显示任何信息。

—s:将文件名中的空臼字符转换为底线字符。

—V:保留 VMS 的文件版本信息。

—X:解压缩时同时回存文件原来的 UID/GID。

[.zip 文件]:指定.zip 压缩文件。

[文件]:指定要处理.zip 压缩文件中的哪些文件。

—d<目录>:指定文件解压缩后所要存储的目录。

—x<文件>:指定不要处理.zip 压缩文件中的哪些文件。

—Z unzip:—Z 等千执行 zipinfo 指令。在Linux 中,还提供了一个叫 zipinfo 的工具,能

够察看 zip 压缩文件的详细信息。unzip 最新版本是 5.5O。gunzip 1.作用

gunzip 命令作用是解压文件,使用权限是所有用户。

2.格式

gunzip [—acfhlLnNqrtvV][—s <压缩字尾字符串>][文件...]

或者

gunzip [—acfhlLnNqrtvV][—s <压缩字尾字符串>][目录] 3.主要参数

—a 或——ascii:使用 ASCII 文字模式。

—c 或——stdout 或——to—stdout:把解压后的文件输出到标准输出设备。

—f 或—force:强行解开压缩文件,不理会文件名称或硬连接是否存在,以及该文件是否为符号连接。

—h 或——help:在线帮助。

—l 或——list:列出压缩文件的相关信息。

—L 或——license:显示版本与版权信息。

—n 或——no—name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略

不予处理。

—N 或——name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。

—q 或——quiet:不显示警告信息。

—r 或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理。

—S<压缩字尾字符串>或——suffix<压缩字尾字符串>:更改压缩字尾字符串。

—t 或——test:测试压缩文件是否正确无误。

—v 或——verbose:显示指令执行过程。

—V 或 ——version: 显 示 版 本 信 息 。 4. 说 明gunzip 是个使用广泛的解压缩程序,它用千解开被 gzip 压缩过的文件,这些压缩文件预设最后的扩展名为“.gz"。事实上,gunzip 就是gzip 的硬连接,因此不论是压缩或解压缩,都可通过 gzip 指令单独完成。gunzip 最新版本是 1.3.3 。

unarJ 1. 作 用 unarj 解压缩格式为.arj 格式的文件,使用权限是所有用户。2.格式unarj [eltx][.arj 压缩文件]3.主要参数

e:解压缩.arj 文件。

l:显示压缩文件内所包含的文件。

t:检查压缩文件是否正确。 x:解压缩时保留原有的路径。4.说明

带有.arj 扩展名的文件是由用千 MS DOS 和 Windows 的 ARJ 实用程序创建的。因为 ARJ 是一种不能免费获得源代码的共享件程序,所以在 Linux 平台上儿乎不存在与其功能匹配的工具,要解压缩.arJ 文件,就要使用 unarJ 实用程序。unarJ 比 ARJ 慢,能力也不如 ARJ, 但至少能够顺利地抽取大多数.arJ 文件。unarJ 只能将文件抽取到当前的工作目录、列出档案内容,或者测试档案。从 ARJ Software 的站点或携带所需 Linux 发行版的 FTP 服务器上可以下载 unarJ 源码。另外,unarJ 通常是基本 Linux 发行版的一部分,因此可以在主要发行版本的 CD-ROM 上找到它。如果需要可到所有 Linux 发行版链接的列表下载,ARJ 软件网址为

http: //www.arJsoft.com,ARJ 的下载页面为 http://www.arJsoft.com/files.htm 。unarJ 最新版本是 2.65,注意 unarJ 选项不是以减号(-)开头的。

mtools 1. 作 用 mtools 实际上是一个命令集合,是 DOS 文件系统的工具程序,它可以模拟许多DOS 命令, 使用起来非常方便。使用权限是所有用户。Linux 系统提供了一组称为 mtools 的可移植工具,可以让用户轻松地从标准的 DOS 软盘上读、写文件和目录。它们对DOS 和 Linux 环境之间交换文件非常有用。mtools 的使用非常简单,如果想把软盘里所有的文件都拷贝到硬盘上,那么就可以执行以下命令:

mcopy a:*.*也就是说,只需要在相应的DOS 命令之前加上一个字母“m",就可以完成对应的功能了。一般 Linux 发行版本中都有这个软件,可以使用下面命令检查一下。

rpm —qalgrep mtools

如果没有安装,也没有关系,可以从网上下载(http://mtools.linux.lu/)一个最新版本来安装。目前可供下载的最新 mtools 版本是 3.9.9,下载链接为

http://mtools.linux.lu/mtools-3.9.9-3.i386.rpm。下载后安装一下即可。

2.包括的命令

mcd 目录名:改变 MS DOS 下的目录。 mcopy 源文件 目标文件:在 MS DOS 和 Unix 之间复制文件。mdel 文件名:删除 MS DOS 下的文件。mdir 目录名:显示 MS DOS 下的目录。

mformat 驱动器号:在低级格式化的软盘上创建 MS DOS 文件系统。

rnlabel 驱动器号:产生 MS DOS 下的卷标。mmd 目录名:建立 MS DOS 下的目录。mrd 目录名:删除 MS DOS 下的目录。

mren 源文件 目标文件:重新命名已存在的 MS DOS 文件。

mtype 文件名:显示 MS DOS 文件的内容。

请注意,这些命令和对应的 MS DOS 命令非常相似。在 mtools 命令中,“/"和“\\"是可以混用的。因为文件列表的是 DOS 系统下的文档,对大小写并不敏感,所以“CDE"和 “cde"在这里是一样的。 3.应用实例 (1)如果把软盘进行快速格式化,可以使用命令 mformat:

mformat A: mtools 当初发展的目的是用来处理DOS 文件系统的,所以只能用在FAT 文件格式的分区上。需要注意的是,如果用mount 命令来挂载了 FAT16/32 分区,那么就不能使用mtools 的指令来处理这些分区上的文件。这是因为一旦 FAT16/32 分区挂到了 Linux 文件目录下,Linux就会将其视为文件系统本身的一部分,这时如果要对其操作就必须使用Linux 本身所附带的指令集。 (2)将 DOS 盘上的文件 htca.c 复制到当前目录下,并用 ls 命令进行验证。

$ mcopy a:\\htca.c

$ ls —l htca.c

—rw—r— —r— — 1 xxq xxq 27136 Jan 1 O1:8O htca.c man 1.作用

man 命令用来提供在线帮助,使用权限是所有用户。在 Linux 系统中存储着一部联机使用的手册,以供用户在终端上查找。使用 man 命令可以调阅其中的帮助信息,非常方便和实用 。 2. 格 式 man 命令名称

man [—acdfhkKtwW] [—m system] [—p string] [—C config_file] [—M path] [—P pager] [—S section_list] [section] name ...3.参数

—C config_file:指定设定文件 man.conf,缺省值是/etc/man.conf。

—M path:指定了联机手册的搜寻路径, 如果没有指定则使用环境变数MANPATH 的设定;如果没有使用MANPATH, 则会使用/usr/lib/man.conf 内的设定;如果MANPATH 是空字串, 则表示使用缺省值。

—P pager:指定使用何种 pager.man 会优先使用此选项设定,然后是依环境变数 MANPAGER

设定,然后是环境变数 PAGER;man 缺省使用/usr/bin/less —is。

—S section_list man:所搜寻的章节列表(以冒号分隔),此选项会覆盖环境变数 MANSECT

的设定。

—a man:缺省情况是在显示第一个找到的手册之后,就会停止搜寻,使用此选项会强迫 man 继续显示所有符合 name 的联机手册。

—c:即使有最新的 cat page,也继续对联机手册重新作排版,本选项在屏幕的行列数改变时或已排版的联机手册损坏时特别有意义。

—d:不要真的显示联机手册,只显示除错讯息。

—D:同时显示联机手册与除错讯息。

—h:显示求助讯息然后结束程式 。

—K:对所有的联机手册搜寻所指定的字串。请注意,本功能回应速度可能很慢,如果指定

section(区域)会对速度有帮助。

—m system:依所指定的 system 名称而指定另一组的联机手册。

man:是 manual(手册)的缩写。在输入命令有困难时,可以立刻得到这个文档。例如, 如

果使用 ps 命令时遇到困难,可以输入 man ps 得到帮助信息,此时会显示出 ps 的手册页。由千手册页(man page)是用 less 程序来看的(可以方便地使屏幕上翻和下翻), 所以在man page 里可以使用 less 的所有选项。less 中比较重要的功能键有:

[q] 退出;

[Enter] 一行行地下翻;

[Space] 一页页地下翻;

[b] 上翻一页;

[/] 后跟一个字符串和[Enter]来查找字符串;

[n] 发现上一次查找的下一个匹配。4.阅读手册页

手册页在很少的空间里提供了很多的信息,这里简单介绍一下大多数手册页中都有的部分内容。Linux 手册页主要有九个部分:用户指令、系统调用、程序库、设备说明、文件格式、游戏、杂项、系统指令、内核。 5. 应 用 实 例 Linux 命令中有一些基础的、重要的命令,例如 ps、find、cat 和 ls 等。下面来举一个综合应用的例子,由此可以看出 man 的地位在 Linux 中可谓至关重要。但是,man 所显示的信息却不是普通的文本,如果直接将这些文字重定向到一个文本文件,就会发现在man 中高亮显示的文字就变成了两个,而且有不计其数的制表符,使打印、编辑都变得非常不便。不过,使用下面这样一条语旬就能得到 ps 命令打印。

t: man ps l col —b l lpr

这条命令同时运用了输出重定向和管道两种技巧,作用是将 ps 命令的帮助信息可以直接打

印出来。更多的 Man 文件可以查看 Linux Man unencode 1.作用

unencode 命令可以把一个二进制文件表编码为一个文本文件,使用权限是所有用户。

2.格式

uuencode [—hv] [源文件] 目标文件 3.主要参数

—h:列出指令使用格式(help) 。

—v:列出版本信息。4.应用说明

uuencode 指令可以将二进制文件转化成可使用电子邮件发送的 ASCII 编码形式。uuencode

编码后的资料都以 begin 开始,以 end 作为结束,且通常其中的每一行的开始均为“M",中间部分是编码过的文件,编码后的文件比源文件要大一些。

uudecode 1. 作 用 uudecode 命令用来将 uuencode 编码后的档案还原,uudecode 只会将 begin 与end 标记之间的编码资料还原,程序会跳过标记以外的资料。它的使用权限为所有用户。2.格式uuencode [—hv] [file1 ...]3.主要参数

—h:列出指令使用格式(help)。

—v:列出版本信息。4.应用实例使用下面命令一次还原儿个文件:

uuencode file1.uud file2.uud file3.uud

动手练习

1.在Linux 命令行下发送邮件

虽然 Linux 桌面应用发展很快,但是命令行(Shell)在 Linux 中依然有很强的生命力。如果能确认电子邮件服务器支持 8bit 的字节,就可以直接使用下面命令:

cat l mail cat(cat 是 concatenate 的缩写)命令是将儿个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件,这里我们用它来合并邮件的文本。

写好邮件名称,比如叫 cjkmail,然后使用下面命令:

$uuencode >>cjkmail

这样就可以用 vi 编辑器写 cjkmail 文件,并在前面写上信的正文,然后寄出。

对方收到信后,把信中属千 cjkmail 中的内容拷贝出来,存为 themail.uue。如果对方是在 Windows 下,就可以用 WinRAR 或 WinZip 解压,这样就可以看到附件。

如果对方也使用 Linux,可以用 undecode 命令还原:

$ uudencode —o themail.uue

2.实现tar 的分卷

笔者想把一个 378MB 的文件压缩成多个 63MB 的文件(笔者的 USB 为 64MB),使用下面命令:

$tar czvf — dir l split —d —b 63m 然后合并命令:

$cat x* > dir.tgz

以上例子实际是由三个命令组合完成的,即用 tar 打包,用 split 分割,用 cat 合并。“tar czvf — dir"的意思是把 dir 目录打包,并输出到标准输出(argv),这样就可以直接用管道输出给 split。

3.连续执行一个命令

使用 watch 命令,可以反复执行命令。如果和 ls 配合,可以达到观察某文件大小变化的效果。

$watch ls —l file.name

4.用tar 命令导出一个文件

有一个 tar 格式的 DVD 文件 GLvPro6.4_linux.tar,因为该文件非常大(4.7GB),如果全部解压比较麻烦,可以用下面命令先导出 readme.txt 看看。

tar xvf GLvPro6.4_linux.tar readme.txt

这样 readme.txt 就单独被导出了。5.用tar 打包一个目录时只备份其中的儿个了目录tar cf ——exclude home/cjh home/cao

这样 home 目录下只有 cjh 和 cao 两个子目录备份。

到此为止,Linux 必学的 6O 个命令已经全部介绍完了。Linux 的命令行方式功能强大,如果熟练掌握了 Linux 的常用命令,往往只需要通过各种技巧就可以组合构成一条复杂的命令,从而完成用户任务。Linux 系统中的命令实在是太多了,不可能像在 MS DOS 中把所有的命令及参数都记住。Linux 系统提供了一些方法,比如可以通过“help"和“man"来查询名令。


分享到:


相關文章: