《归档与压缩》
归档(tar)
将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。归档不是压缩!!!所谓归档,就是将一些文件归到一起,并没有对其进行压缩的操作。
-c:创建归档文件 .tar
-f:表示使用归档文件
-j:调用bzip2程序进行压缩或解压 用来压缩的选项
-z:调用gzip程序进行压缩或解压 用来压缩的选项
-v:输出详细信息
-t:列出归档内容
-x:从归档中解出文件
-C(大写):指定解压位置
压缩
gzip:
- -#:1-9,指定压缩比,默认是6
- -d:解压缩
不能对目录进行压缩,使用时只需要指定要进行压缩的文件名称即可,而不必写出压缩后的文件的新的名称,因为gzip会自动的保留原来要进行压缩的文件的文件名,并在其后添加.gz。gzip压缩和解压后默认会删除原来的文件!要会一个目录里面所有文件进行压缩,如果目录里面还有目录,需要参数 -r 来递归压缩。如果要对一个目录里面除目录外的所有文件进行压缩,而不再是 -r 递归压缩时,需要通配符来指出目录下的所有内容,如:gzip ./*; 当使用 gzip ./ 会提示目录不能压缩!
要保留原文件,需要 -c 参数和重定向 ( > )到 原文件名.gz,不然shell终端会乱码 !
zcat + 压缩文件;在不解压时查看文件的内容。
解压时使用gunzip + 压缩文件;也可以使用 gzip -d + 压缩文件。
bzip2:
- -d: 解压缩
- -#: 1-9,默认是6
- -k: 压缩时保留原文件
用法与gzip一样,也不能对目录进行压缩!但是不能递归压缩!无需指定压缩后文件的名称,默认使用:(原来文件名.bz2)。bzcat 与 zcat 用法一样。
归档压缩
我们发现,不管是gzip还是bzip2,都不能对目录进行压缩,只能对单个文件进行压缩,如果要对一个目录下所有文件进行压缩,会生成很多压缩文件,这样会使得压缩后的文件杂乱!这是,我们就需要采用归档压缩,先将文件归档,再进行压缩!
除了先归档再压缩外,还可以在归档时,选择压缩工具:
- tar -jcvf 归档压缩后文件名.tar.bz2 要归档压缩的文件名(默认保留原文件)
- tar -jcvf 归档压缩后文件名.tar.bz2 要归档压缩的文件名 --remove-files(不保留原文件)
- tar -zcvf 归档压缩后文件名.tar.gz 要归档压缩的文件名(保留原文件)
- tar -zcvf 归档压缩后文件名.tar.gz 要归档压缩的文件名 --remove-files(不保留原文件)
解压:
tar -jxvf 归档压缩后文件名 .tar.bz2 (解压时也可以不要 j 和 z )
tar -zxvf 归档压缩后文件名 .tar.gz
要指定解压路径,使用 -C 参数。