解压缩
Linux下常见的压缩文件扩展名
- *.Z : compress程序压缩文件
- *.zip : zip程序压缩的文件
- *.gz : gzip程序压缩的文件
- *.bz2 : bzip2程序压缩的文件
- *.xz : xz程序压缩的文件
- *.tar : tar程序打包的数据,并没有压缩过
- *.tar.gz : tar程序打包的文件,经过gzip的压缩
- *.tar.bz2 : tar程序打包的文件,经过bzip2的压缩
- *.tar.xz : tar程序打包的文件,经过xz的压缩
Linux 常用的压缩指令是 zip、bip2、xz,compress 已经很少用了;由于这些指令通常仅能对一个文件压缩和解压缩,所以需要 tar 来先进行打包。
gzip
应用广泛,可以解开由 compress,zip 和 gzip 等软件所压缩的文件。用法如下:
$ gzip [-cdtv#] 文件名
选项与参数:
- -c : 将压缩的数据输出到屏幕,可通过数据流重导向来处理
- -d : 表示解压缩
- -t : 可以用来检验一个压缩文件的一致性,看看文件是否有错
- -v : 可以显示原文件/压缩文件的压缩比等信息
- -# : # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差,-9 最慢,但是压缩比最好,默认是 -6
$ gzip -v xx.txt
# 使用 gzip 压缩时,默认下文件会被压缩为 .gz 的文件名,原始文件就不存在了
$ gzip -d xx.txt.gz
# 解压缩到当前目录
bzip2
相比 gzip,bzip2 提供了更好的压缩比,用法如下:
$ bzip2 [-cdkzv#] 文件名
选项与参数:
- -c : 将压缩的数据输出到屏幕,可通过数据流重导向来处理
- -d : 表示解压缩的参数,解压缩时必须添加
- -k : 保留原始文件
- -z : 表示压缩的参数,默认值
- -v : 可以显示原文件/压缩文件的压缩比等信息
- -# : # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差,-9 最慢,但是压缩比最好,默认是 -6
具体用法和 gzip 一致。
xz
相比 bzip2,xz 拥有更好的压缩比,但缺点是耗时较长,用法如下:
$ xz [-dtlkc#] 文件名
选项与参数:
- -c : 将压缩的数据输出到屏幕,可通过数据流重导向来处理
- -d : 表示解压缩的参数,解压缩时必须添加
- -k : 保留原始文件
- -l : 列出压缩文件的相关信息
- -t : 测试压缩文件的完整性,看看有没有错误
- -# : # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差,-9 最慢,但是压缩比最好,默认是 -6
具体用法和 bzip2 一致。
tar
# 打包压缩
$ tar -jcv -f filename.tar.bz2 要被压缩的文件或者目录
# 解压缩
$ tar -jxv -f filename.tar.bz2 -C 目标目录
选项与参数:
- -c : 创建打包文件
- -t : 查看打包文件的内容含有哪些文件名
- -x : 解打包或解压缩的功能,可以搭配 -C(大写)在特定目录解开
- -z : 通过 gzip 的支持进行压缩/解压缩:文件名 *.tar.gz
- -j : 通过 bzip2 的支持进行压缩/解压缩:文件名 *.tar.bz2
- -J : 通过 xz 的支持进行压缩/解压缩:文件名 *.tar.xz
- -v : 在压缩/解压缩的过程中,将正在处理的文件名显示出来
- -f filename : 要被处理的文件名
- -C 目录 : 用于解压缩,比如需要解压缩到特定目录