使用shell进行文档的归档与压缩!!

文件的归档和压缩

(1)压缩文件

   用户在进行数据备份时,需要把若干文件整合为一个文件以便保存。尽管整合为一个文件进行管理,但文件大小仍然没变。
 若需要网络传输文件时,就希望将其压缩成较小的文件,以节省在网络传输的时间。因此本节介绍文件的归档与压缩。

 归档文件是将一组文件或目录保存在一个文件中。
 
 压缩文件也是将一组文件或目录保存一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。
 
    a. 归档文件仍是没有经过压缩的,它所使用的磁盘空间仍等于其所有文件的总和。因而,用户可以将归档文件再进行压缩,使其容量更小。
    
    b. gzip是Linux中最流行的压缩工具,具有很好的移植性,可在很多不同架构的系统中使用。bzip2在性能上优于gzip,提供了最大限度的压缩比率。
       如果用户需要经常在Linux和微软Windows间交换文件,建议使用zip。 
		压缩工具     解压工具    文件扩展名
		gzip          gunzip       .gz
		bzip2         bunzip2      .bz2
		zip           unzip        .zip
 目前,归档工具使用最广泛的tar命令,可以把很多文件(甚至磁带)合并到一个称为tarfile的文件中,通常文件扩展名为.tar。
 然后,再使用zip、gzip或bzip2等压缩工具进行压缩。

(2) shell归档和压缩工具

 使用shell归档和压缩工具可以更直接地完成文档的打包任务。由于该类shell命令是成对使用的,因此下面按对介绍相关命令。

(1) gzip与gunzip命令

 与zip明显区别在于只能压缩一个文件,无法将多个文件压缩为一个文件。gzip命令符号模式的一般语法格式为:
 其中,filename表示要压缩的文件名,gzip会自动在这个文件名后添加扩展名为.gz,作为压缩文件的文件名。
	gzip  [ -l| -d | -num ]  filename
 选项             描述
  -l        查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压
  -d        将文件解压,功能与gunzip相同
  -num      指定压缩比率,num为1~9个等级

gunzip命令符号模式的一般语法格式为:
	gunzip  [ -f ]  file.gz
其中,选项“-f”用于解压文件时,对覆盖同名文件不做提示。
在执行gzip命令后,它将删除旧的未压缩的文件并只保留已压缩的版本。以下命令以最大的压缩率对文件file_1进行压缩,生成file_1.gz文件。
使用“-l”选项可以查看压缩的相关信息。最后使用gunzip命令对文件进行了解压。与压缩时相反,file_1.gz文件会被删除,继之生成file_1。
		linux@ubuntu:~$ gzip  -9  file_1
		linux@ubuntu:~$ gzip  -l   file_1.gz	
		compressed  uncompressed    ratio    uncompressed_name
		  1200                  4896           76.0%       file_1
		linux@ubuntu:~$ gunzip    file_1.gz

(2) tar命令

 tar命令主要用于将若干文件或目录合并为一个文件,以便备份和压缩。当然,之后出现tar程序的改进版本,可以实现在合并归档的同时进行压缩。
     tar命令符号模式的一般语法格式为:
		tar  [ -t | -x | -u | -c | -v | -f | -j | -z ]  tarfile  filelist
-t	显示归档文件的内容
-x	释放归档文件
-u	更新归档文件
-c	创建一个新的归档文件
-v	显示归档和释放的过程信息
-f	用户指定归档文件的文件名,否则使用默认名称
-j	由tar生成归档,然后由bzip2压缩
-z	由tar生成归档,然后由gzip压缩

 第一,将myExamples/目录下的所有文件全部归档,打包到一个文件中myExamples.tar;
 第二,将myExamples/目录下的所有文件全部归档,并使用bzip2压缩成一个文件myExamples.tar.bz;
 第三,将myExamples/目录下的所有文件全部归档,并使用gzip压缩成一个文件myExamples.tar.gz。

linux@ubuntu:~$ tar  –cf   myExamples.tar      myExamples
linux@ubuntu:~$ tar  -cjf   myExamples.tar.bz   myExamples
linux@ubuntu:~$ tar  -czf  myExamples.tar.gz    myExamples
linux@ubuntu:~$ ls   -lh   myExamples.tar* 
-rw-r--r-- 1  wdl  wdl  9.3M  2007-09-23 00:42  myExamples.tar
-rw-r--r-- 1  wdl  wdl  8.6M  2007-09-23 00:43  myExamples.tar.bz
-rw-r--r-- 1  wdl  wdl  8.5M  2007-09-23 00:44  myExamples.tar.gz

如果想查看一下归档文件中的详细内容,使用类似以下命令:
	linux@ubuntu~$ tar  –tvf   myExamples.tar.gz
使用以下命令完成tar文件的释放。其中,“tar -xjf”和“tar –xzf”等效与先解压缩后释放tar文件。
	linux@ubuntu:~$ tar  –xvf   myExamples.tar
	linux@ubuntu:~$ tar  -xvjf   myExamples.tar.bz
	linux@ubuntu:~$ tar  -xvzf  myExamples.tar.gz
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值