linux文件压缩与解压用法总结

在windows系统,我们习惯于鼠标操作压缩文件,说“压缩一个文件或文件夹”,就得到一个压缩文件(多个文件压缩后变成一个文件似乎是理所当然的事情);但在linux系统,打包压缩是有区别的,打包指将多个文件整合成一个文件,此时没有压缩,而压缩指将当前文件通过压缩算法压缩后得到体积更小的文件。

linux打包文件用tar命令实现,当然tar命令还提供了调用压缩命令同时完成压缩的功能,常用压缩命令有gzip、bzip2、xz,另外,zipunzip命令压缩/解压兼容windows下zip文件,7z命令管理7zip文件(.7z后缀)。

以上命令选项众多,此处列出几种常见用法,最快而全查看用法的方式仍是通过命令行执行命令 --help,如gzip --helptar --help等。

一般用法是打包压缩命令组合使用:(下表命令中的中文表示实际执行时的文件以及文件夹,按需替换即可

打包压缩文件

(备注:为了更好显示命令之间的空格,下表中将命令以及选项分别用markdown语法代码标出)

操作命令备注
tar用gzip压缩tar -czvf 压缩后的文件名.tar.gz 所有被压缩的文件、文件夹1. 所有被压缩的文件、文件夹用空格隔开,可以用*号代替(表示当前目录下的所有文件和文件夹)
2. -f选项必须在压缩后的文件名之前
3. 后缀为.tar.gz是为了一眼看出是经过targzip命令打包压缩后的文件,便于以后解压缩
4. 压缩后源文件、文件夹仍存在
tar用bzip2压缩tar -cjvf 压缩后的文件名.tar.bz2 所有被压缩的文件、文件夹与gzip类似
tar用xz压缩tar -cJvf 压缩后的文件名.tar.xz 所有被压缩的文件、文件夹与gzip类似
zip压缩zip -r 压缩后的文件名.zip 所有被压缩的文件、文件夹1. zip命令可以直接压缩目录(使用-r选项)
2. 压缩后源文件、文件夹仍存在
7zip压缩7z a -r 压缩后的文件名.7z 所有被压缩的文件、文件夹1. 7z命令可以直接压缩目录(使用-r选项)
2. 压缩后源文件、文件夹仍存在

备注:其实压缩后加什么后缀文件系统不care,后缀是给人看的,主要是为了提高辨识度,便于后期用相同方式解压。

解压文件

一般经过tar打包压缩过的文件,后缀为.tar.gz.tar.bz2tar.xz,经过zip压缩过的文件后缀为.zip,经过7zip压缩过的文件后缀为.7z,通过后缀名判断解压方式。(备注:为了更好显示命令之间的空格,下表中将命令以及选项分别用markdown语法代码标出)

操作命令备注
解压.tar.gztar -xzvf 目标文件名(.tar.gz后缀)
tar -xzvf 目标文件名(.tar.gz后缀) -C 指定目录
1. 解压后源文件仍存在
2. 支持解压到指定目录(使用-C选项,-C指定的目录需要已存在)
3. -f选项必须在目标文件名之前
解压.tar.bz2tar -xjvf 目标文件名(.tar.bz2后缀)
tar -xjvf 目标文件名(.tar.bz2后缀) -C 指定目录
与gzip类似
解压.tar.xztar -xJvf 目标文件名(.tar.xz后缀)
tar -xJvf 目标文件名(.tar.xz后缀) -C 指定目录
与gzip类似
解压.zipunzip 目标文件名(.zip后缀)
unzip 目标文件名(.zip后缀) -d 指定目录
unzip -O GBK 目标文件名(.zip后缀)
unzip -O GBK '*zip'
1. 默认解压到当前目录下
2. 可以指定解压目录(需要-d选项),目录不存在时自动创建
3. 解压windows压缩的zip文件乱码时可以添加-O GBK 选项解决乱码问题
4. 解压当前目录下所有zip结尾的文件到当前目录
解压.7z7z x -r 目标文件名(.7z后缀)
7z x -r tmp.7z -o指定目录(没有空格)
1. 默认解压到当前目录下
2. 可以指定解压目录(需要**-o选项后直接跟目录名,不需要空格**),目录不存在时自动创建

只打包不压缩

如果只想打包多个文件、目录到一个文件,不压缩,只使用tar命令即可

  • 打包多个文件、目录
tar -cf 打包后的文件名.tar 要打包的文件与目录(用空格分开)
  • 解开打包文件
 # 解包到当前文件夹
 tar -xf 目标文件名.tar  
 # 解包到指定文件夹,该文件夹需要事先创建
 tar -xf 目标文件名.tar -C 目标文件夹

参考

[1] linux压缩归档命令gzip、bzip2、xz、tar、zip速查

[2] linux压缩归档命令gzip、bzip2、xz、tar、zip详解

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值