在Linux的环境中,压缩文件的扩展名较多,大多是:“ .tar, .tar.gz, .tgz, .gz, .Z, .bz2, *.xz ”,这是因为Linux支持的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件。
几个常见的压缩文件扩展名:
gzip可以说是应用度最广的压缩指令了!目前 gzip 可以解开compress, zip 与 gzip 等软件所压缩的文件。至于gzip所创建的压缩文件为 *.gz 的文件名。
现列举几个常用的操作,例如:
注意:当你使用gzip进行压缩时,在默认的状态下原本的文件会被压缩成为.gz 的文件名,原始文件就不再存在了。这点与一般习惯使用 windows 做压缩的朋友所熟悉的情况不同!
例如:gzip -c services > services.gz
注意:-c可以将原本要转成压缩文件的数据内容,将它变成文字类型从屏幕输出,然后我们可以通过大于(>) 这个符号,将原本应该由屏幕输出的数据,转成输出到文件而不是屏幕,所以就能够创建出压缩挡了。只是文件名也要自己写,当然最好还是遵循 gzip的缩文件名要求较佳!!
例如:gzip -d services.gz
注意:gzip -d可以用来解压缩,直接将压缩文件解压,解压后的文件名就是去掉“.gz”后的名字。
若说gzip是为了取代 compress 并提供更好的压缩比而成立的,那么bzip2则是为了取代gzip并提供更佳的压缩比而来的。 bzip2的用法几乎与gzip 相同。
例:
虽然 bzip2已经具有很棒的压缩比,不过显然某些自由软件开发者还不满足,因此后来还推出了xz 这个压缩比更高的软件!这个软件的用法也跟 gzip/bzip2 几乎一模一样!
例:
前面谈到的指令大多仅能针对单一文件来进行压缩 ,而tar可以将多个目录或文件打包成一个大文件,同时还可以通过 gzip/bzip2/xz 的支持,将该文件同时进行压缩!
那个filename.tar.bz2是我们自己取的文件名,tar 并不会主动的产生创建的文件名喔!我们要自定义啦!所以扩展名就显的很重要了!如果不加[-z|-j|-J]的话,文件名最好取为.tar 即可。如果是-j 选项,代表有bzip2 的支持,因此文件名最好就取为 .tar.bz2,因为bzip2会产生.bz2的扩展名之故!至于如果是加上了 -z 的 gzip的支持,那文件名最好取为*.tar.gz啦!
另外,由于“ -f filename”是紧接在一起的,过去很多文章常会写成“-jcvf filename”,这样是对的,但由于选项的顺序理论上是可以变换的,所以很多读者会误认为“-jvfc filename”也可以。事实上这样会导致产生的文件名变成 c!因为-fc嘛!所以啰,建议您在学习 tar时,将“ -f filename ”与其他选项独立出来,会比较不容易发生问题。
因此,利用tar 进行压缩、查询和解压缩操作,常用的命令为:(ps:其中 -v 可有可无)
A. 压缩:
B. 查询:
C. 解压缩: