手把手教你Linux下的文件管理(一)推荐

我的十大IT杰出博客参赛主页是:http://2010blog.51cto.com/1060257,请各位支持我,给我投上宝贵一票,谢谢!

随着Linux开源系统平台的不断发展,越来越多的开源软件可以提供给Linux用户使用,这样,也使得更多的文件 吞噬 着硬盘空间。作为一种优秀的开源操作系统,如何高效地管理系统中的软件是一个很重要的问题。Linux提供了多种方法,用户可以根据实际情况方便地对软件进行管理。比如,它提供了对文件打包的功能,用户可以使用其将若干文件或目录打成一个软件包;同时,它也提供了多种文件压缩工具,使得用户可以对某些文件进行压缩,以减小文件占用的硬盘空间或方便网络传输。本文将通过例子来介绍如何合理地利用这些方法来管理Linux系统中的软件。

一、Linux下的TAR包管理

TAR命令是在Linux下最常用的文件打包工具,可以将若干文件或若干目录下打包成一个文件,既有利于文件管理,也方便压缩和文件的网络传输。TAR可以为文件和目录创建档案。利用TAR,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

1、TAR命令语法及参数选项

TAR命令使用语法如下:

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

其中,主选项是必需的,表明tar命令要完成的操作,辅选项是辅助使用的,可以有也可以没有。下面列出常用的主选项,并简要说明其功能。

-A,–catenate,–concatenate :将若干个tar文件合并成一个tar文件 -c,–create :创建一个新的tar文件 -d,–diff,–compare:比较tar文件或文件系统的不同之处 –delete:从tar文件中删除文件,但不能磁带文件删除 -r,–append:在tar文件尾部追加文件 -t,–list:显示tar文件内容 -u,–update:更新tar文件 -x,–extract,–get:从tar文件中取出文件

每次使用tar命令时,上述8个命令参数选项必须选择一个,用以指明操作类型。

2、创建tar文件

创建一个tar文件要使用主参数选项c,并指明创建tar文件的文件名。下面假设当前目录下有smart和xplns两个子目录以及cpuinfo.txt,smart.txt,tar.txt ,tar_create.txt四个文件,smart目录下有smartsuite-2.1-2.i386.rpm文件,xplns目录下有xplns-cat-3.3.1-1.i386.rpm,xplns-elm-3.3.1-1.i386.rpm和xplns-img-3.3.1-1.i386.rpm三个文件。用ll r命令显示当前目录下文件信息如下:

#ll -r ./*-rwx------1 root root 7433 10月 12 21:25 ./tar.txt-rwx------1 root root 226 10月 12 21:25 ./tar_create.txt-rwx------1 root root 26 10月 12 21:25 ./smart.txt-rwx------1 root root 26 10月 12 21:25 ./cpuinfo.txt./xplns:总用量 1613-rwx------1 root root 793828 10月 12 21:26 xplns-img-3.3.1-1.i386.rpm-rwx------1 root root 572471 10月 12 21:26 xplns-elm-3.3.1-1.i386.rpm-rwx------1 root root 1933576 10月 12 21:26 xplns-cat-3.3.1-1.i386.rpm./smart:总用量 17-rwx------1 root root 34475 10月 12 21:25 smartsuite-2.1-2.i386.rpm

若要在该目录下将所有文件打包成gong.tar文件,可以使用如下命令:

//参数c指明创建tar,参数f指明是创建文件,参数v指明显示处理详细过程# tar cvf gong.tar ./*./cpuinfo.txt./smart/./smart/smartsuite-2.1-2.i386.rpm./smart.txt./tar_create.txt./tar.txt./xplns/./xplns/xplns-cat-3.3.1-1.i386.rpm./xplns/xplns-elm-3.3.1-1.i386.rpm./xplns/xplns-img-3.3.1-1.i386.rpm//显示当前目录下所有文件,从显示结果可以发现,当前目录下多了一个gong.tar文件,就是由刚才tar命令生成的总用量 4927-rwx------ 1 root root 3358720 10月 12 19:35 cpuinfo.txt-rwx------ 1 root root 6717440 10月 12 19:36 gong.tardrwx------ 1 root root 0 10月 8 21:37 smart-rwx------ 1 root root 26 10月 8 21:37 smart.txt-rwx------ 1 root root 226 10月 12 19:32 tar_create.txt-rwx------ 1 root root 7433 10月 12 17:13 tar.txtdrwx------ 1 root root 4096 10月 12 19:34 xplns

3、显示tar文件内容

对于一个已存在的tar文件,用户可能想了解其内容是由哪些文件和目录打包而来的,这就要用带t参数的tar命令。例如对于上述产生的gong.tar文件,若欲显示其文件内容,可使用如下命令:

# tar tf gong.tar./cpuinfo.txt./smart/./smart/smartsuite-2.1-2.i386.rpm./smart.txt./tar_create.txt./tar.txt./xplns/./xplns/xplns-cat-3.3.1-1.i386.rpm./xplns/xplns-elm-3.3.1-1.i386.rpm./xplns/xplns-img-3.3.1-1.i386.rpm

4、向tar文件中添加一个文件

欲向已存在的一个tar文件中添加一个文件或目录,可以使用带-r主选项参数的tar命令。例如欲向上面所述产生的gong.tar文件中添加tar_t.txt文件,可以使用如下步骤:

(1)在文件gong.tar图标上右键单击鼠标,系统显示快捷菜单。

(2)单击【添加到压缩文件】菜单项,系统将显示【添加文件或文件夹】对话框,在对话框中输入欲加入的文件或文件夹,或者单击【浏览(B)】按钮选择某个文件或文件夹,若选中【仅添加新文件(N)】复选框,则当添加的文件或文件夹在tar文件中已经存在时,系统并不加入该文件或文件夹。单击【增加(A)】按钮即可完成添加工作。

5、从tar文件中取出文件

在已经存在的tar文件中解包,可以使用带主选项参数-x的tar命令实现。下面以gong.tar文件为例,说明带主选项参数-x的tar命令的用法。

//首先显示当前目录下文件列表,由显示结果可见,当前目录下只有一个文件gong.tar。总用量 3280-rwx------ 1 root root 6717440 10月 12 21:12 gong.tar//对当前目录下gong.tar文件解包#tar x gong.tar//再显示解包后当前目录下所有文件,由显示结果可以看出,tar文件中所有文件均已解出总用量 4927-rwx------ 1 root root 3358720 10月 12 21:13 cpuinfo.txt-rwx------ 1 root root 6717440 10月 12 21:12 gong.tardrwx------ 1 root root 0 10月 12 21:13 smart-rwx------ 1 root root 26 10月 12 21:13 smart.txt-rwx------ 1 root root 226 10月 12 21:13 tar_create.txt-rwx------ 1 root root 7433 10月 12 21:13 tar.txtdrwx------ 1 root root 4096 10月 12 21:13 xplns

二、Linux下常用的压缩工具

对文件进行压缩的目的有两个:一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的网络开销。Linux下的压缩工具有很多,下面列出Linux下常用的压缩工具及其产生文件的后缀:

gzip/gunzip:后缀名为.gz compress/uncompress:后缀名为.Z zip/unzip:后缀名为.zip bzip2/bunzip2:后缀名为.bz2 lha:后缀名为.lzh

Linux下压缩工具中最常用的包括gzip、zip和bzip2三种,下面分别讲述这三种最常用的压缩工具。

1、gzip压缩工具

gzip是Linux最常用的软件压缩工具,在Linux终端输入man gzip命令降显示gzip的帮助文档。

该命令的使用形式为:gzip [选项] 压缩或解压缩的文件名。

该命令的主要参数选项有:

-c:将输出写到标准输出上,并保留原有文件。 -d:将压缩文件解压。 -l:对每个压缩文件,显示字段:压缩文件的大小,未压缩文件的大小,压缩比和未压缩文件的名字。 -r:递归地查找指定目录并压缩其中的所有文件或者是解压缩。 -t:测试,检查压缩文件是否完整。 -v:对每一个压缩和解压的文件,显示文件名和压缩比。 -num:用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统默认值为6。

(1)用gzip压缩文件:下面给出使用gzip命令压缩文件的例子:

//显示当前目录先所有文件总用量 5-rwx------ 1 root root 26 10月 13 22:16 smart.txt-rwx------ 1 root root 226 10月 13 22:16 tar_create.txt-rwx------ 1 root root 7433 10月 13 22:16 tar.txt//压缩当前目录下的所有文件,并且显示压缩比,显示已经替代原来的文件#gzip -v * //-v参数表明显示压缩比和文件名smart.txt: 0.0% -- replaced with smart.txt.gztar_create.txt: 43.8% -- replaced with tar_create.txt.gztar.txt: 68.3% -- replaced with tar.txt.gz//再显示当前目录所有文件,可以发现所有文件都压缩成了gz文件总用量 3-rwx------ 1 root root 54 10月 13 22:17 smart.txt.gz-rwx------ 1 root root 160 10月 13 22:17 tar_create.txt.gz-rwx------ 1 root root 2385 10月 13 22:17 tar.txt.gz

注意:gzip只能对单个文件压缩,不能像Winzip和Winrar一样,可以将多个文件压缩成一个.zip文件或.rar文件。正因为如此,Linux才提供了tar命令,用于将若干文件或文件夹打包成一个文件,然后再压缩成一个.gz文件。

(2)用gzip解压缩文件:下面给出用gzip解压缩文件的例子:

//对当前目录下所有压缩的文件解压,并列出详细的信息。#gzip -dv *smart.txt.gz: 0.0% -- replaced with smart.txttar_create.txt.gz: 43.8% -- replaced with tar_create.txttar.txt.gz: 68.3% -- replaced with tar.txt//再显示当前目录下的所有文件,从显示结果看出,所有的.gz压缩文件都已经解压缩了总用量 5-rwx------ 1 root root 26 10月 13 22:22 smart.txt-rwx------ 1 root root 226 10月 13 22:22 tar_create.txt-rwx------ 1 root root 7433 10月 13 22:22 tar.txt

(3)显示压缩文件的内容信息:可以用带-l参数的gzip命令显示gz文件的内容。这只是显示文件内容,并不实际解压缩文件。

# gzip -l *compressed uncompressed ratio uncompressed_name 54 26 0.0% smart.txt 160 226 43.8% tar_create.txt 2385 7433 68.3% tar.txt 2599 7685 66.5% (totals)

(4)在tar命令中嵌入压缩命令:在tar命令中就可以直接嵌入gzip命令,从而直接将若干文件或文件夹处理成一个.tar.gz文件。在这个处理过程中,系统先将若干文件或文件夹打包成.tar,然后将生成的.tar文件压缩成.tar.gz文件。先举例如下:

//将当前目录下所有文件打包并压缩成gong.tar.gz并显示处理进度# tar cvfz gong.tar.gz ./*./smart.txt./tar_create.txt./tar.txt//再显示当前目录下所有文件,从显示结果可以看出,已经产生了gong.tar.gz文件总用量 7-rwx------ 1 root root 2704 10月 13 22:59 gong.tar.gz-rwx------ 1 root root 26 10月 13 22:51 smart.txt-rwx------ 1 root root 226 10月 13 22:51 tar_create.txt-rwx------ 1 root root 7433 10月 13 22:51 tar.txt

勤奋,它是一块可以吸引到一切美好事物的天然磁石,它比黄金珍贵,

手把手教你Linux下的文件管理(一)推荐

相关文章:

你感兴趣的文章:

标签云: