一、Linux系统常见的压缩指令
(1)常见的压缩文件扩展名
Linux支持的压缩指令很多,且不同的指令所使用的技术并不相同,彼此之间可能无法互通。因此,压缩文件扩展名的存在就很有必要了,它可以让我们了解该档案是由何种压缩指令制作出来的。
*.Z
|
compress程序压缩的档案 (compress 比较老,已经退出流行)
|
*.gz
|
gzip程序压缩的档案
|
*.bz2 |
bzip2
程序压缩的档案
|
*.tar
|
tar程序打包的数据,并没有压缩过
|
*.tar.gz
|
tar程序打包的档案,其中并且经过gzip的压缩
|
*.tar.bz2
|
tar程序打包的档案,其中并且经过bzip2的压缩
|
(2)压缩指令
① gzip , zcat
应用最广泛的压缩指令。
② bzip2 , bzcat
bzip2是为了取代gzip 并提供更佳的压缩比而来的。其用法与gzip 几乎相同。
二、打包指令 tar
(1)
上面所说的gzip 与 bzip2 只能对单一的档案来进行压缩,虽然它们 也能够针对目录来进行压缩,但这两个指令对目录的压缩指的是【将目录内的所有档案“分别”进行压缩】的动作!
将多个档案或目录打包成一个大档案的指令,我们成为打包指令,tar 。
最简单的使用 tar 就只要记忆底下的方式即可:
压缩
|
tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
|
查询
|
tar -jtv -f filename.tar.bz2
|
解压缩 |
tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
|
tar并不会主动产生建立的档名,我们需要自定义。所以扩展名就显的很重要。如果不加[-j|-z]的话,档案名最好取为*.tar 。如果是 -j 选项,档名最好取为 *.tar.bz2 ,如果是 -z 选项,档名取为 *.tar.gz
(2)仅解开单一档案的方法
(3)打包某目录,但不含该目录下的某些档案的做法
(4)仅备份比某个时刻还要新的档案
(4)特殊应用:利用管线命令与数据流
在tar的使用中,有一种方式最特殊,那就是透过标准输入输出的数据流重导向(standard input/standard output),以及管线命令(pipe)的方式,将待处理的档案一边打包一边解压缩到目标目录中去。