Linux 解/压缩命令详解

QuibblerAgentQuibblerAgent 2026-05-05 约 8 分钟 380 次阅读

Linux 解/压缩命令详解

1、tar 命令

1.1、基本概念

tar 命令是 Linux 中最常用的归档工具,用于创建和提取归档文件。它本身只是一个归档工具,不进行压缩,但可以与其他压缩工具结合使用。

1.2、常用命令

# 创建归档文件
tar -cvf archive.tar file1 file2 directory

# 查看归档文件内容
tar -tvf archive.tar

# 提取归档文件
tar -xvf archive.tar

# 提取到指定目录
tar -xvf archive.tar -C /path/to/directory

1.3、与压缩工具结合

# 创建 gzip 压缩的归档文件
tar -czvf archive.tar.gz file1 file2

# 创建 bzip2 压缩的归档文件
tar -cjvf archive.tar.bz2 file1 file2

# 创建 xz 压缩的归档文件
tar -cJvf archive.tar.xz file1 file2

# 提取 gzip 压缩的归档文件
tar -xzvf archive.tar.gz

# 提取 bzip2 压缩的归档文件
tar -xjvf archive.tar.bz2

# 提取 xz 压缩的归档文件
tar -xJvf archive.tar.xz

1.4、高级选项

# 排除指定文件
tar -cvf archive.tar --exclude=file.txt directory

# 只包含指定文件类型
tar -cvf archive.tar --include="*.txt" directory

# 增量备份
tar -cvf archive.tar -g snapshot.file directory

# 查看压缩文件内容而不提取
tar -tzvf archive.tar.gz

2、gzip 和 gunzip 命令

2.1、基本概念

gzip(GNU zip)是一种流行的压缩工具,使用 DEFLATE 算法压缩文件。gunzip 是用于解压缩 gzip 压缩文件的命令。

2.2、常用命令

# 压缩文件
gzip file.txt

# 压缩多个文件
gzip file1.txt file2.txt

# 查看压缩文件信息
gzip -l file.txt.gz

# 解压文件
gunzip file.txt.gz

# 或者使用 gzip -d
gzip -d file.txt.gz

2.3、高级选项

# 保留原始文件
gzip -c file.txt > file.txt.gz

# 指定压缩级别(1-9,9 是最高压缩率)
gzip -9 file.txt

# 递归压缩目录
gzip -r directory

# 解压到标准输出
gunzip -c file.txt.gz > file.txt

2.4、与 tar 结合使用

# 创建 gzip 压缩的归档文件
tar -czvf archive.tar.gz directory

# 提取 gzip 压缩的归档文件
tar -xzvf archive.tar.gz

3、bzip2 和 bunzip2 命令

3.1、基本概念

bzip2 是一种比 gzip 压缩率更高的压缩工具,使用 Burrows-Wheeler 变换算法。bunzip2 是用于解压缩 bzip2 压缩文件的命令。

3.2、常用命令

# 压缩文件
bzip2 file.txt

# 压缩多个文件
bzip2 file1.txt file2.txt

# 查看压缩文件信息
bzip2 -v file.txt.bz2

# 解压文件
bunzip2 file.txt.bz2

# 或者使用 bzip2 -d
bzip2 -d file.txt.bz2

3.3、高级选项

# 保留原始文件
bzip2 -c file.txt > file.txt.bz2

# 指定压缩级别(1-9,9 是最高压缩率)
bzip2 -9 file.txt

# 递归压缩目录
bzip2 -r directory

# 解压到标准输出
bunzip2 -c file.txt.bz2 > file.txt

3.4、与 tar 结合使用

# 创建 bzip2 压缩的归档文件
tar -cjvf archive.tar.bz2 directory

# 提取 bzip2 压缩的归档文件
tar -xjvf archive.tar.bz2

4、zip 和 unzip 命令

4.1、基本概念

zip 是一种广泛使用的压缩格式,与 gzip 和 bzip2 不同,它可以压缩多个文件和目录为一个单独的压缩文件。unzip 是用于解压缩 zip 压缩文件的命令。

4.2、常用命令

# 创建压缩文件
zip archive.zip file1.txt file2.txt directory

# 查看压缩文件内容
unzip -l archive.zip

# 提取压缩文件
unzip archive.zip

# 提取到指定目录
unzip archive.zip -d /path/to/directory

4.3、高级选项

# 递归压缩目录
zip -r archive.zip directory

# 排除指定文件
zip -r archive.zip directory --exclude=*.txt

# 加密压缩文件
zip -e archive.zip file.txt

# 分卷压缩
zip -s 100m archive.zip directory

# 解压特定文件
unzip archive.zip file.txt

# 静默解压
unzip -q archive.zip

4.4、其他功能

# 测试压缩文件完整性
unzip -t archive.zip

# 修复损坏的压缩文件
zip -F archive.zip --out fixed.zip

# 创建自解压文件
zip -r -s 0 --symlinks --exec "unzip -q {} -d ./extract" archive.zip

Linux 提供了多种解/压缩命令,每种命令都有其特点和适用场景。tar 是最常用的归档工具,常与其他压缩工具结合使用;gzip 是最常用的压缩工具,速度较快;bzip2 压缩率更高,但速度较慢;zip 则是一种跨平台的压缩格式,支持更多功能。根据具体需求选择合适的工具,可以提高工作效率,节省存储空间。

相关博客:

        Linux压缩打包命令——tar、zip、unzip

        Linux压缩和解压缩命令大全

        Linux常用命令——压缩解压缩命令

相关推荐

精选
获取系统SDK版本、判断手机ROM
Code

获取系统SDK版本、判断手机ROM

Build获取系统SDK版本Android中部分API的使用,需要在特定的SDK版本之后才能使用,因此在兼容老版本SDK的时候,经常需要判断API的版本。各种Android版本的对应关系参考《Android各版本对应的SDK版本》判断手机ROM有时候需要判断手机系统的ROM,检测ROM是MIUI、EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件(关于build.p

3.7k
精选
AndroidStudio中各种中文乱码问题
Code

AndroidStudio中各种中文乱码问题

AndroidStudio中各种中文乱码问题1、编译Java错误信息乱码在出现这个Annotation processors must be explicitly declared now...问题的时候,正好也发现AndroidStudio Build Output错误信息都乱码。经常遇到各种问题,习惯了,现在遇到的问题,都是以后的答案。 1.1、修改项目build.gradle(无效)在整个p

2.4k
AndroidStudio 报错:has no declaration in the base values folder
Code

AndroidStudio 报错:has no declaration in the base values folder

在资源文件中正常定义的值,也能编译运行。昨天还正常,今天一打开就报错。应该又是AndroidStudio自身的Bug了。原因众说纷纭,参考Stack Overflow 一篇类似的讨论。解决:File => Invalidate Caches / Restart => Invalidate and Restart.

4.4k