且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-04 18:03:19

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

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

 

一、Linux下的TAR包管理

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

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

TAR命令使用语法如下:

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

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

  1. -A,--catenate,--concatenate :将若干个tar文件合并成一个tar文件
  2. -c,--create :创建一个新的tar文件
  3. -d,--diff,--compare:比较tar文件或文件系统的不同之处
  4. --delete:从tar文件中删除文件,但不能磁带文件删除
  5. -r,--append:在tar文件尾部追加文件
  6. -t,--list:显示tar文件内容
  7. -u,--update:更新tar文件
  8. -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命令生成的
#ll
总用量 4927
-rwx------    1 root     root      3358720  10月 12 19:35 cpuinfo.txt
-rwx------    1 root     root      6717440  10月 12 19:36 gong.tar
drwx------    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.txt
drwx------    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。
#ll
总用量 3280
-rwx------    1 root     root      6717440  10月 12 21:12 gong.tar
//对当前目录下gong.tar文件解包
#tar –x gong.tar
//再显示解包后当前目录下所有文件,由显示结果可以看出,tar文件中所有文件均已解出
#ll
总用量 4927
-rwx------  1 root     root     3358720  10月 12 21:13 cpuinfo.txt
-rwx------  1 root     root     6717440  10月 12 21:12 gong.tar
drwx------  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.txt
drwx------  1 root     root        4096   10月 12 21:13 xplns

二、Linux下常用的压缩工具

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

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

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

1、gzip压缩工具

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

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

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

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

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

//显示当前目录先所有文件
#ll
总用量 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.gz
tar_create.txt:  43.8% -- replaced with tar_create.txt.gz
tar.txt:          68.3% -- replaced with tar.txt.gz
 
//再显示当前目录所有文件,可以发现所有文件都压缩成了gz文件
#ll
总用量 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.txt
tar_create.txt.gz:       43.8% -- replaced with tar_create.txt
tar.txt.gz:                68.3% -- replaced with tar.txt
 
//再显示当前目录下的所有文件,从显示结果看出,所有的.gz压缩文件都已经解压缩了
#ll
总用量 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文件。先举例如下:


-rwx------ 1 root root 7433 10月 13 22:51 tar.txt

















本文转自samsunglinuxl51CTO博客,原文链接: http://blog.51cto.com/patterson/439717,如需转载请自行联系原作者