Linux常见命令 20 - 压缩解压命令

时间:2025-04-06 07:00:12

目录

1.  文件压缩解压命令 gzip

2. 打包压缩命令 tar

3. 解压命令 tar

4. 压缩解压命令 zip / unzip

5. 压缩解压命令 bzip2 / bunzip2


1.  文件压缩解压命令 gzip

压缩文件语法:gzip [文件] 

解压文件语法:gunzip [压缩文件]

压缩后文件格式:.gz

注意事项:① gzip只能压缩文件,不能压缩文件夹  ② 压缩后不会保留源文件

liu@SLR:/hd1/Dling/lane/Wmq/hello/dir1$ ls


liu@SLR:/hd1/Dling/lane/Wmq/hello/dir1$ gzip 

liu@SLR:/hd1/Dling/lane/Wmq/hello/dir1$ ls


liu@SLR:/hd1/Dling/lane/Wmq/hello/dir1$ gunzip 

liu@SLR:/hd1/Dling/lane/Wmq/hello/dir1$ ls

2. 打包压缩命令 tar

功能:打包(压缩)目录

语法:tae [-zcfv] [压缩后文件名] [目录]

压缩后文件格式:.

参数含义:

  • -c 打包
  • -v 显示详细信息
  • -f 指定文件名
  • -z 打包时同时压缩
liu@SLR:/hd1/Dling/lane/Wmq/hello$ tar -zcvf  dir1
dir1/
dir1/

liu@SLR:/hd1/Dling/lane/Wmq/hello$ ls
dir1  

3. 解压命令 tar

tar命令解压缩语法:tar [-zxfv] [解压文件名]

  • -x 解包
  • -v 显示详细信息
  • -f 指定解压文件名
  • -z 解压缩
liu@SLR:/hd1/Dling/lane/Wmq/hello$ tar -zxvf 

4. 压缩解压命令 zip / unzip

功能:压缩文件或目录,在windows和linux都支持的压缩解压格式

压缩语法:zip [-r] [压缩后文件名] [文件 / 目录],其中 -r 表示压缩目录

压缩后文件格式: .zip

解压缩语法:unzip [压缩文件]

示例1:压缩文件,且压缩后可以保留源文件

liu@SLR:/hd1/Dling/lane/Wmq/hello$ zip  
  adding:  (stored 0%)

示例2:压缩目录

liu@SLR:/hd1/Dling/lane/Wmq/hello$ zip -r  dir1
  adding: dir1/ (stored 0%)
  adding: dir1/ (stored 0%)

示例3:解压缩文件/目录

解压时还会有询问选项,问是否覆盖现有文件

liu@SLR:/hd1/Dling/lane/Wmq/hello$ unzip 
Archive:  
replace dir1/? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: dir1/

5. 压缩解压命令 bzip2 / bunzip2

功能描述:压缩文件,比zip压缩率高,所以特大文件推荐使用 bzip2

压缩语法:bzip2 [-k] [待压缩文件],其中 -k表示产生压缩文件后保留原文件

压缩后文件格式: .bz2

解压缩语法:bunzip2 [-k] [压缩文件],其中 -k 表示解压缩后保留原文件 

示例1:bzip2之后产生以.bz2为后缀的文件

liu@SLR:/hd1/Dling/lane/Wmq/hello$ touch test
liu@SLR:/hd1/Dling/lane/Wmq/hello$ bzip2 -k test
liu@SLR:/hd1/Dling/lane/Wmq/hello$ ls
test  test.bz2

示例2:跟tar结合使用,将 -czf 替换成 -cjf,生成 .tar.bz2

liu@SLR:/hd1/Dling/lane/Wmq/hello$ mkdir dir1
liu@SLR:/hd1/Dling/lane/Wmq/hello$ tar -cjf .bz2 dir1
liu@SLR:/hd1/Dling/lane/Wmq/hello$ ls
dir1  .bz2

示例3: 解压 test.bz2文件

liu@SLR:/hd1/Dling/lane/Wmq/hello$ bunzip2 -k test.bz2

 示例4:解压  .bz2 文件,将 -xzf 替换成 -xjf

liu@SLR:/hd1/Dling/lane/Wmq/hello$ tar -xjf .bz2