帮助文档 > 117数据 >LINUX文件的压缩与解压

LINUX文件的压缩与解压

发布时间:2024-07-09 17:42

LINUX文件的压缩与解压

1.压缩文件格式

在 Windows 系统中,常用的压缩文件格式有 .zip 和 .rar。Linux系统支持的压缩文件格式更加多样,包括 .gz、.tar.gz、.tgz、.bz2、.Z、.tar、.7z、.xz 等。此外,Windows 上的 .zip 和 .rar 文件在 Linux 系统中也可以使用。每种压缩文件的扩展名对应不同的压缩方法。

①tar 命令

tar 命令可用于在 Linux 中创建文件和目录的存档,还可用于备份特定文件、在存档中修改文件或添加新文件。最初,tar 命令用于在磁带上创建存档,现在可以在任意设备上创建存档。tar 命令能够将多个文件和目录打包成一个文件,非常适用于文件备份或将多个文件打包传输。

在学习 tar 命令前,需要理解两个概念:打包和压缩。打包是将多个文件或目录放在一个总文件或目录中;压缩是通过压缩算法将一个大文件变小。

命令语法如下:shelltar [选项] 自定义归档文件包名 被归档的文件。其中,主要选项参数值有 5 个,如表 8.8 所示,辅助选项有 8 个,如表所示:

选项 说明
-c 创建新的档案或备份文件和目录
-r 将文件追加到档案文件的末尾
-t 列出档案文件内容
-u 列出档案文件内容
-x 从档案文件中提取文件

选项 说明
-b 设置区块大小
-f 使用档案文件或设备
-k 保留文件修改时间
-M 创建多卷档案文件
-v 显示详细信息
-j 使用bzip2压缩
-J 使用xz压缩
-z 使用 gzip 压缩/解压缩

①创建一个未压缩的 tar 文件。
进入 root 用户的主目录,将 mrkj_3 和 mrkj_5 文件打包成一个 tar 文件,使用cvf参数,如图所示:

②将整个目录压缩成一个文件。
进入 root 用户的主目录,将 mrkj_d 目录压缩成一个文件,使用 cvzf 参数,其中 z 参数表示使用 gzip 压缩。压缩文件扩展名为 ".gz",如图所示:

2.gzip/gunzip 命令

gzip 最早用于 UNIX 系统的文件压缩。Linux 中常见的后缀为 ".gz" 的文件即为 gzip 格式,现在已经成为互联网广泛使用的数据压缩格式。

命令语法如下:shellgzip [选项] 压缩(解压缩)的文件名
选项参数值有 7 个,如表所示:

选项 说明
-c 输出到标准输出并保留原文件
-d 解压缩文件
-l 显示文件大小、压缩比、文件名
-r 递归压缩/解压缩目录
-t 检查文件完整性
-v 显示详细信息
-num 调整压缩速度

压缩单个文件:
进入 root 用户的主目录,通过 gzip 命令压缩文件 mrkj_3,显示压缩过程,注意压缩后源文件会消失,如图所示:

gunzip 是广泛使用的解压缩程序,用于解压 gzip 压缩的文件,扩展名通常为 ".gz"。事实上,gunzip 是 gzip 的硬连接,压缩和解压缩均可通过 gzip 命令完成。

3.bzip2/bunzip2 命令

bzip2 是基于 Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的 LZ77/LZ78 算法好。它免费且具有高质量的数据压缩能力,能将文件压缩 10%~15%,速度和效率高,支持 tar、gzip 等格式。bzip2 只能压缩(或解压缩)文件,对于目录则压缩(或解压缩)该目录及其子目录下的所有文件。压缩后生成的文件后缀为 ".bz2"。

命令语法如下:shellbzip2 [选项] [文件]
选项参数值有 7 个,如表所示:

选项 说明
-c 输出到标准输出
-d 解压缩 ".bz2" 文件
-k 保留原文件
-f 强制覆盖现有文件
-t 测试压缩包完整性
-v 显示详细信息
-num 定压缩等级,-1 最低,-9 最高

同时压缩两个文件并保留原文件。
进入 root 用户的主目录,通过 bzip2 命令压缩文件 mrkj_3 和 mrkj_5,使用 k 参数保留原文件,如图所示。未安装 bzip2 命令时,可通过 “yum install bzip2” 安装。

bunzip2 命令用于解压 ".bz2" 文件,实质上是 bzip2 的符号连接,执行 bunzip2 与 “bzip2 -d” 效果相同。

命令语法如下:shellbunzip2 [选项] 源文件
选项参数值有 4 个,如表所示:

选项 说明
-k 保留压缩文件
-f 强制覆盖现有文件
-v 显示详细信息
-L 列出文件内容

4.rar/unrar 命令

在 Windows 系统中,常用的压缩格式为 rar 和 zip,其中 rar 压缩比高于 zip。在 Linux 下处理这些格式的压缩文件需手动安装 rar 命令。

命令语法如下:shellrar [选项] 操作文件 文件列表
选项参数值有 15 个,如表所示:

选项 说明
a 添加文件到压缩文件
c 添加压缩文件注释
cf 添加文件注释
cw 写入压缩文件并注释
d 删除压缩文件中的文件
e 解压缩到当前目录
f 刷新压缩文件中的文件
I[t,b] 列出压缩文件信息
m[f] 移动到压缩文件
p 打印文件到标准输出
r 修复压缩文件
rn 重命名压缩文件
t 测试压缩文件
u 更新压缩文件
x 用绝对路径解压文件

①将两个文件压缩成 rar 文件。
进入 root 用户的主目录,通过 rar 命令压缩文件 mrkj_3 和 mrkj_5,使用 a 参数,注意前面不能加“_”符号,如图所示:

② 解压缩 rar 文件到指定目录。
进入 root 用户的主目录,通过 unrar 命令解压缩 mrkj_35.rar 文件,使用 x 参数,注意前面不能加“_”符号,如图所示:

5.zip/unzip 命令

zip 是一种用于计算机文件压缩的算法,其原名为 deflate。在 Windows 系统中,zip 是一种常见的压缩格式。虽然 zip 的压缩比不如 rar 格式高,但其压缩速度比 rar 快。如果系统中没有安装 zip 命令,可以通过 “yum install zip” 命令进行安装。

选项 说明
-r 递归压缩目录,将指定目录下的所有文件及子目录全部压缩
-m 压缩后删除原始文件,相当于将文件移到压缩包中
-v 显示详细的压缩过程信息
-q 压缩时不显示命令执行过程
-u 更新压缩包,即向压缩包中添加新文件
-压缩级别 压缩级别为 1~9 的数字,-1 代表更快速度,-9 代表更好效果

使用 zip 同时压缩多个文件。
进入 root 用户的主目录,通过 zip 命令压缩 mrkj_3 和 mrkj_5 文件,压缩时不保留原文件,使用 m 参数实现,如图所示:

unzip 命令用于解压 ".zip" 文件。

命令语法如下:shellunzip [选项] 压缩包名
在此语法中,选项参数有 6 个,如表所示:

选项 说明
-d 指定目录名,将压缩文件解压到该目录下
-n 解压时不覆盖已有文件
-o 解压时覆盖已有文件,无需用户确认
-v 查看压缩文件详细信息,包括文件大小、文件名及压缩比等
-t 检查压缩文件是否损坏,但不解压
-x 文件列表 解压文件时排除指定文件

进入 root 用户的主目录,通过 unzip 命令将 mrkj_35.zip 文件解压到指定路径下,使用 d 参数实现,如图所示:

本文导读

客户热线:13306992629

客户服务中心
Baidu
map