Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04文件压缩与解压缩知识点详解(12)

Ubuntu 22.04文件压缩与解压缩知识点详解

1. gzip和gunzip命令

1.1 概述

gzip是Ubuntu中用于文件压缩的工具,压缩后生成.gz后缀文件,默认会删除原文件;gunzip是对应的解压缩工具,可解压.gz文件,也可通过gzip -d实现相同效果。

1.2 安装

Ubuntu 22.04默认预装gzip,若缺失可执行以下命令安装:

bash 复制代码
# 更新软件源
sudo apt update
# 安装gzip
sudo apt install -y gzip

1.3 核心语法

  • 压缩:gzip [选项] 文件名
  • 解压缩:gunzip [选项] 压缩文件名.gz / gzip -d 压缩文件名.gz

常用选项:

  • -c:保留原文件,将压缩/解压缩结果输出到标准输出(需重定向到文件);
  • -d:解压缩(等同于gunzip);
  • -r:递归处理目录下的所有文件;
  • -v:显示压缩/解压缩的详细信息;
  • -1~-9:压缩级别(1最快但压缩率最低,9最慢但压缩率最高,默认6)。

1.4 案例代码

bash 复制代码
# 1. 基础压缩(原文件会被删除,生成test.txt.gz)
gzip test.txt

# 2. 压缩并保留原文件(通过-c重定向输出)
gzip -c test.txt > test.txt.gz

# 3. 显示压缩详情
gzip -v test.txt  # 输出示例:test.txt:	 50% -- replaced with test.txt.gz

# 4. 递归压缩目录下所有文件(压缩dir目录内的所有文件,生成各自的.gz文件)
gzip -r dir/

# 5. 解压缩.gz文件(原压缩文件被删除,恢复test.txt)
gunzip test.txt.gz

# 6. 用gzip -d解压缩(效果同上)
gzip -d test.txt.gz

2. bzip2和bunzip2命令

2.1 概述

bzip2压缩率高于gzip,生成.bz2后缀文件;bunzip2用于解压缩.bz2文件,也可通过bzip2 -d实现。

2.2 安装

Ubuntu 22.04默认预装,缺失时安装:

bash 复制代码
sudo apt update
sudo apt install -y bzip2

2.3 核心语法

  • 压缩:bzip2 [选项] 文件名
  • 解压缩:bunzip2 [选项] 压缩文件名.bz2 / bzip2 -d 压缩文件名.bz2

常用选项:

  • -k:保留原文件(区别于gzip-cbzip2直接用-k更方便);
  • -d:解压缩;
  • -v:显示详细信息;
  • -1~-9:压缩级别(默认9)。

2.4 案例代码

bash 复制代码
# 1. 基础压缩(原文件被删除,生成test.txt.bz2)
bzip2 test.txt

# 2. 压缩并保留原文件(-k选项)
bzip2 -k test.txt

# 3. 显示压缩详情
bzip2 -v test.txt  # 输出示例:test.txt:  60% -- replaced with test.txt.bz2

# 4. 解压缩.bz2文件
bunzip2 test.txt.bz2

# 5. 用bzip2 -d解压缩并保留压缩文件
bzip2 -dk test.txt.bz2

3. xz命令

3.1 概述

xz是更高压缩率的工具,生成.xz后缀文件,解压缩可通过unxzxz -d实现。

3.2 安装

Ubuntu 22.04默认预装xz-utils,缺失时安装:

bash 复制代码
sudo apt update
sudo apt install -y xz-utils

3.3 核心语法

  • 压缩:xz [选项] 文件名
  • 解压缩:unxz [选项] 压缩文件名.xz / xz -d 压缩文件名.xz

常用选项:

  • -k:保留原文件;
  • -d:解压缩;
  • -v:显示详细信息;
  • -0~-9:压缩级别(默认6)。

3.4 案例代码

bash 复制代码
# 1. 基础压缩(原文件被删除,生成test.txt.xz)
xz test.txt

# 2. 压缩并保留原文件
xz -k test.txt

# 3. 显示压缩详情
xz -v test.txt  # 输出示例:test.txt (1/1)
#  100 %       128 B / 1.0 KiB = 0.125   0.0 MiB/s       0:00

# 4. 解压缩.xz文件
unxz test.txt.xz

# 5. 用xz -d解压缩并保留压缩文件
xz -dk test.txt.xz

4. 7z、7za、7zr命令

4.1 概述

7z是多功能压缩工具,支持7z、zip、rar等多种格式;7za7z的精简版(仅支持7z格式),7zr更精简(仅支持7z格式的压缩/解压)。

4.2 安装

Ubuntu默认未预装完整版本,需手动安装:

bash 复制代码
sudo apt update
# 安装完整7z工具(支持7z/zip/rar等格式)
sudo apt install -y p7zip-full p7zip-rar

4.3 核心语法

7z [命令] [选项] 压缩包名 源文件/目录

常用命令:

  • a:添加文件到压缩包(创建压缩包);
  • e:提取文件到当前目录(不保留目录结构);
  • x:提取文件并保留目录结构;
  • d:删除压缩包中的文件;
  • l:查看压缩包内容。

常用选项:

  • -t:指定压缩格式(如-t7z-tzip-trar);
  • -o:指定解压目录(注意无空格,如-o/home/user);
  • -v:显示详细信息。

4.4 案例代码

bash 复制代码
# 1. 创建7z格式压缩包(包含test.txt和dir目录)
7z a -t7z test.7z test.txt dir/  # -t7z指定格式为7z(默认也为7z)

# 2. 创建zip格式压缩包
7z a -tzip test.zip test.txt dir/

# 3. 解压7z压缩包到当前目录(不保留目录结构)
7z e test.7z

# 4. 解压7z压缩包到指定目录并保留结构(-o后无空格)
7z x test.7z -o/home/user/test_dir

# 5. 查看压缩包内容
7z l test.7z

# 6. 删除压缩包中的test.txt
7z d test.7z test.txt

5. zcat、zless、bzcat、bzless命令

5.1 概述

  • zcat:直接查看.gz压缩文件内容(不解压);
  • zless:分页查看.gz文件内容(类似less);
  • bzcat:查看.bz2文件内容;
  • bzless:分页查看.bz2文件内容。

5.2 安装

Ubuntu 22.04默认预装,无需额外安装。

5.3 核心语法

  • zcat 文件名.gz
  • zless 文件名.gz
  • bzcat 文件名.bz2
  • bzless 文件名.bz2

5.4 案例代码

bash 复制代码
# 1. 查看.gz文件内容(直接输出到终端)
zcat test.txt.gz

# 2. 分页查看.gz文件内容(按q退出,按PageUp/PageDown翻页)
zless test.txt.gz

# 3. 查看.bz2文件内容
bzcat test.txt.bz2

# 4. 分页查看.bz2文件内容
bzless test.txt.bz2

6. tar命令

6.1 概述

tar打包工具 (非压缩工具),常与gzip/bzip2/xz结合生成压缩包(如.tar.gz/.tar.bz2/.tar.xz)。

6.2 安装

Ubuntu 22.04默认预装,缺失时安装:

bash 复制代码
sudo apt update
sudo apt install -y tar

6.3 核心语法

tar [选项] 打包文件名 源文件/目录

核心选项组合:

  • -czvf:创建.tar.gz压缩包(c=创建,z=gzip压缩,v=详细,f=指定文件名);
  • -cjvf:创建.tar.bz2压缩包(j=bzip2压缩);
  • -cJvf:创建.tar.xz压缩包(J=xz压缩);
  • -xzvf:解压.tar.gz包;
  • -xjvf:解压.tar.bz2包;
  • -xJvf:解压.tar.xz包;
  • -tzvf:查看.tar.gz包内容;
  • -C:指定解压目录。

6.4 案例代码

bash 复制代码
# 1. 创建.tar.gz压缩包(打包并gzip压缩)
tar -czvf test.tar.gz test.txt dir/  # 生成test.tar.gz

# 2. 创建.tar.bz2压缩包(打包并bzip2压缩)
tar -cjvf test.tar.bz2 test.txt dir/  # 生成test.tar.bz2

# 3. 创建.tar.xz压缩包(打包并xz压缩)
tar -cJvf test.tar.xz test.txt dir/  # 生成test.tar.xz

# 4. 解压.tar.gz到当前目录
tar -xzvf test.tar.gz

# 5. 解压.tar.gz到指定目录(/home/user/test_dir)
tar -xzvf test.tar.gz -C /home/user/test_dir

# 6. 查看.tar.gz包内容(不解压)
tar -tzvf test.tar.gz

# 7. 解压.tar.xz包(静默模式,去掉-v则不显示详细信息)
tar -xJf test.tar.xz

7. cpio命令

7.1 概述

cpio是传统的打包/解包工具,支持cpiotar格式,常用于系统备份或内核模块打包。

7.2 安装

Ubuntu 22.04默认预装,缺失时安装:

bash 复制代码
sudo apt update
sudo apt install -y cpio

7.3 核心语法

  • 创建打包文件:ls 源文件/目录 | cpio -ov > 打包文件名.cpio
  • 解压打包文件:cpio -idv < 打包文件名.cpio
  • 查看打包内容:cpio -tv < 打包文件名.cpio

常用选项:

  • -o:创建打包文件(输出模式);
  • -i:解压(输入模式);
  • -t:查看内容;
  • -v:显示详细信息;
  • -d:解压时自动创建缺失的目录。

7.4 案例代码

bash 复制代码
# 1. 创建cpio打包文件(包含test.txt和dir目录)
ls test.txt dir/ | cpio -ov > test.cpio  # ls列出文件,通过管道传给cpio

# 2. 查看cpio包内容(不解压)
cpio -tv < test.cpio

# 3. 解压cpio包到当前目录(-d自动创建目录)
cpio -idv < test.cpio

# 4. 创建tar格式的cpio包(兼容tar)
ls test.txt | cpio -ov -H tar > test.tar  # -H指定格式为tar

# 5. 解压tar格式的cpio包
cpio -idv < test.tar

本章小结

Ubuntu 22.04中文件压缩与解压缩工具各有侧重:

  • 轻量压缩用gzip,高压缩率用bzip2/xz
  • 多格式支持用7z
  • 打包+压缩首选tar(结合z/j/J选项);
  • 查看压缩文件内容用zcat/bzcat或分页工具zless/bzless
  • 传统备份用cpio
    实际使用中需根据压缩率、格式兼容性选择合适工具,tar是最常用的打包压缩组合工具。
相关推荐
用户6135411460162 小时前
Krb5-libs-1.18.2-5.ky10.x86_64.rpm 安装失败怎么办?附详细步骤
linux
iconball3 小时前
个人用云计算学习笔记 --37 Zabbix
运维·笔记·学习·云计算·zabbix
zhougl9963 小时前
Vuex 模块命名冲突:问题解析与完整解决方案
linux·服务器·apache
一世琉璃白_Y3 小时前
Ubuntu(VMware)虚拟机网络异常排查与解决方案
linux·网络·ubuntu
AI+程序员在路上4 小时前
网桥及IP转发在嵌入式linux eth0与wlan0连接使用方法
linux·tcp/ip·php
FPGAI4 小时前
Java学习之计算机存储规则、数据类型、标识符、键盘录入、IDEA
java·学习
I · T · LUCKYBOOM5 小时前
1.Apache网站优化
linux·运维·服务器·网络·apache
JANGHIGH5 小时前
vmware安装ubuntu虚拟机后与主机win10共享文件夹
linux·运维·ubuntu
GHL2842710905 小时前
vmware中无法看到共享文件夹
linux·运维·服务器