7、Linux:一起玩转压缩/解压命令1

工作中,经常会遇到一些压缩格式的后缀文件类型,那么它们怎么压缩和解压的呢,这里记录一下。首先,总结下 zip 及 zip 相关的变种命令的使用。

一、zip/unzip 命令

zip 命令是常用的压缩命令,会生成后缀为 .zip 文件,基本语法格式如下:

zip [参数选项] 压缩后文件 源文件/目录

常用参数有:(通常不使用参数)

  • -d:从压缩文件中去除指定的文件
  • -m:移动源文件到压缩文件中,会删除源文件
  • -n <特定字尾字符串>:不压缩具有特定字尾字符串的文件
  • -q:不显示压缩过程信息
  • -r:递归,将指定目录下的所有文件和子目录一并处理
  • -v:显示压缩过程信息或版本信息
  • -数字:数字指的是压缩效率,数值在1~9

使用举例:

# 压缩当前目录下指定的所有文件
zip test_20220704.zip wheater_070*.txt

# 从压缩文件中,排除指定的文件
zip -d test_20220704.zip wheater_0704.txt

# 压缩当前目录下的所有文件,并显示压缩过程信息
zip -v -r test_20220704_all.zip *

而 unzip 命令则是专门解压缩后缀为 .zip 的文件,语法格式如下:

unzip [参数选项] xxx.zip

常用参数选项有:(通常不使用参数)

  • -a:对文本文件进行必要的字符转换
  • -l:解压过程中显示包含的所有文件
  • -t:检查压缩文件是否正确
  • -v:查看压缩目录的详细信息,但不会解压
  • -q:不显示解压过程信息
  • -L:将压缩文件中的全部文件名转小写
  • -n:解压时不要覆盖原有的文件
  • -Z:unzip -Z 等同于 zipinfo 命令,会列出压缩文件的详细信息

二、gzip/gunzip 命令

gzip 命令也是常用的压缩命令,会生成后缀为 .gz 文件,语法格式如下:

gzip [参数选项] 源文件/目录

常用参数选项有:(通常不使用参数)

  • -d:解压
  • -l:列出压缩文件的相关信息
  • -q:不显示解压过程中的警告信息
  • -r:递归处理,将指定目录下的所有文件及子目录一并处理
  • -v:显示压缩过程信息
  • -数字:数字指的是压缩效率,数值在1~9,预设值为"6"

使用举例:

# 压缩指定文件,会生成wheater_20220704.gz
gzip wheater_20220704.txt

# 压缩当前目录,当前目录下有2个文件:wheater_20220701.txt、wheater_20220702.txt
# 结果会生成wheater_20220701.gz、wheater_20220702.gz
gzip *

# 列出解压过程的信息信息
gzip -dv *

可以看到,该命令生成的 .gz 文件名称会和 源文件的名称 保持一致。如果是多个源文件,或者某目录下所有的文件,通常会一个个压缩,如果需要合并压缩某目录下所有的文件,使用 -r 参数。

而 gunzip 命令,则是专门解压缩后缀为 .gz 的文件,语法格式如下:

gunzip [参数选项] xxxx.gz

常用参数选项有:(通常不使用参数)

  • -l:列出压缩文件的相关信息
  • -q:不显示警告信息
  • -r:递归处理,将指定目录下的所有文件及子目录一并处理。
  • -S<压缩字尾字符串>:更改压缩字尾字符串
  • -t:测试压缩文件是否正确无误
  • -v:显示执行过程

请注意,gunzip 相当于 gzip 的硬连接,不论是压缩或解压,都可通过 gzip 命令单独完成。

三、bzip2/bunzip2 命令

bzip2 命令采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。如果没有加上任何参数,bzip2 压缩完文件后会产生 .bz2 的压缩文件,并删除原始的文件。

bzip2 [参数选项] 源文件/目录
bunzip2 [参数选项] xxxx.bz2

常用参数选项有:(通常不使用参数)

  • -c:将压缩与解压缩的结果送到标准输出
  • -d:解压
  • -k:压缩或解压缩文件时保留原始的文件,不删除
  • -t:测试压缩文件是否完整
  • -v:压缩或解压缩文件时,显示详细的信息
  • -z:强制执行压缩
  • -压缩等级:压缩时的区块大小

请注意:bunzip2 命令可解压缩 .bz2 格式的压缩文件,bunzip2 实际上是 bzip2 的符号连接,执行 bunzip2 命令与 bzip2 -d 的效果一样。

最后

实际工作中,最常用的 zip 和 unzip 命令,当然压缩解压的重点在 tar 包使用,下篇将重点梳理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值