gzip、bzip2和xz是linux上常见的压缩指令,但是只能对文件进行压缩和解压缩,要想处理目录的压缩和解压缩,就需要使用tar指令先将目录打包成文件,然后再使用这些文件压缩指令。
文件压缩指令 | 压缩时间 | 压缩程度 | 后缀 |
gzip | 短 | 小 | .gz |
bzip2 | 中 | 中 | .bz2 |
xz | 长 | 大 | .xz |
首先以gzip为例说明文件压缩的方法。
常用选项:
-c: 将压缩后的文件内容输出到屏幕上,且保持原文件不变
-d: 解压缩 filename.gz
-f : 强制压缩
-k: gzip 默认压缩后会删除原文件,使用 -k 选项来保留原文件
-v: 显示压缩比
用法:
gzip -[cfkv] filename
gzip -d filename.gz
下面说明打包指令tar的使用方法:
常用选项:
-c : 建立打包文件 (creat,创建)
-C:解压缩到指定目录下 (change directory,更换目录)
-t : 列出打包文件的内容,只包括文件和目录名 (list,列出)
-x : 解压缩文件 (extract,提取,取出)
-f : 后面紧跟着要被处理的文件 (file,文件)
-v : 详细列出正在处理的文件及其信息 (verbose,冗长的,啰嗦地)
-z : 使用gzip进行压缩和解压缩
-j : 使用bzip2进行压缩和解压缩
-J : 使用xz进行压缩和解压缩
用法(以tar + gzip为例):
# 解压缩文件 “filename.tar.gz”,x 代表解压缩,z 代表使用 gzip,v 代表列出被处理的档名
# f 放在最后,因为它的后面要紧跟着被处理的文件名
tar -xzvf filename.tar.gz
#解压缩文件 “filename.tar.gz” 到特定目录 dir1 下
tar -xzvf filename.tar.gz -C dir1
#压缩文件 “filename”,c 代表建立打包文件
tar -czvf filename.tar.gz filename
#查询压缩文件 “filename” 包含的档名,t 仅列出档名,v 则令文件或目录的信息被更详细地列出
tar -tzvf filename.tar.gz