【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

简介: 【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法



在Linux系统中,有多种方式可以用于压缩和解压文件。下面是使用常见命令的一些示例:

1、使用 tar 命令:

1.1. 压缩:
# 将多个文件或目录打包成一个 tar 包,-c 表示创建 tar 包,-v 表示显示详细信息,-f 表示指定文件名
tar -cvf filename.tar file1 file2 dir1
# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-z 表示使用 gzip 压缩,-f 表示指定文件名
tar -czf filename.tar.gz dir1
# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-j 表示使用 bzip2 压缩,-f 表示指定文件名
tar -cjf filename.tar.bz2 dir1
1.2. 解压:
# 将一个 tar 包解压缩到指定目录下,-x 表示解压,-v 表示显示详细信息,-f 表示指定文件名
tar -xvf filename.tar -C /path/to/directory
# 将一个 gzip 压缩的 tar 包解压缩到指定目录下,-z 表示使用 gzip 解压缩
tar -zxvf filename.tar.gz -C /path/to/directory
# 将一个 bzip2 压缩的 tar 包解压缩到指定目录下,-j 表示使用 bzip2 解压缩
tar -jxvf filename.tar.bz2 -C /path/to/directory
1.3. tar 命令各参数含义

tar 命令是 Linux 下常用的打包和压缩工具,用于将多个文件或目录打包成一个 tar 包,也可以将一个 tar 包解压缩到指定的目录。tar 命令的各个参数的含义如下:

tar [选项] [文件名] [文件列表]

其中,选项包括:

  • -c, --create:创建一个 tar 包。可以和 -f 参数一起使用,指定生成的 tar 包的文件名;
  • -x, --extract, --get:解包一个 tar 包。可以和 -f 参数一起使用,指定要解压缩的 tar 包的文件名;
  • -r, --append:将一个或多个文件追加到已存在的 tar 包的末尾。可以和 -f 参数一起使用,指定要追加的 tar 包的文件名;
  • -u, --update:仅将新于 tar 包中已有的文件或目录添加到 tar 包中。可以和 -f 参数一起使用,指定要更新的 tar 包的文件名;
  • -t, --list:列出一个 tar 包中包含的文件列表。可以和 -f 参数一起使用,指定要列出的 tar 包的文件名;
  • -f, --file=ARCHIVE:指定要操作的 tar 包的文件名;
  • -v, --verbose:在操作的过程中显示详细信息;
  • -z, --gzip, --ungzip:在 tar 包中使用 gzip 压缩;
  • -j, --bzip2:在 tar 包中使用 bzip2 压缩;
  • -C, --directory=DIR:指定解压缩到的目录。

例如,将多个文件或目录打包成一个 tar 包,可以使用以下命令:

tar -cvf filename.tar file1 file2 dir1

其中,-c 表示创建 tar 包,-v 表示显示详细信息,-f 后面跟着的是生成的 tar 包的文件名,file1 file2 dir1 是要打包的文件或目录列表。

将一个 tar 包解压缩到指定目录下,可以使用以下命令:

tar -xvf filename.tar -C /path/to/directory

其中,-x 表示解压缩,-v 表示显示详细信息,-f 后面跟着的是要解压缩的 tar 包的文件名,-C 后面跟着的是解压缩到的目录。

2. gzip、gunzip

gzipgunzip 是在 Linux 中用于压缩和解压缩文件的工具。gzip 使用 DEFLATE 压缩算法,而 gunzip 则用于解压缩经 gzip 压缩过的文件。以下是它们的详细介绍和使用指令:

gzip 命令:

压缩文件:
gzip filename

这将会创建一个名为 filename.gz 的压缩文件,并删除原始文件。

保留原始文件,创建压缩文件:
gzip -c filename > filename.gz

这会将原始文件压缩,并将压缩内容写入新的 filename.gz 文件,同时保留原始文件。

保留原始文件,显示压缩进度:
gzip -v filename

使用 -v 选项会显示压缩的详细信息,包括压缩比和进度。

gunzip 命令:

解压文件:
gunzip filename.gz

这会将 filename.gz 解压缩为原始文件,并删除压缩文件。

保留压缩文件,创建原始文件:
gunzip -c filename.gz > filename

这会将压缩文件解压缩,并将原始内容写入新的 filename 文件,同时保留压缩文件。

保留压缩文件,显示解压进度:
gunzip -v filename.gz

使用 -v 选项会显示解压缩的详细信息,包括解压缩比和进度。

这些命令可以用于单个文件的压缩和解压缩操作。如果要处理多个文件或者整个目录,建议使用 tar 命令结合 gzip 进行打包和压缩,以方便管理。

3. zip、unzip

zipunzip 是用于在 Linux 系统中创建和解压缩 ZIP 文件的命令行工具。

zip 命令:

压缩文件:
zip archive.zip file1 file2 file3

这将会创建一个名为 archive.zip 的 ZIP 压缩文件,包含指定的文件。

压缩目录及其内容:
zip -r archive.zip directory

使用 -r 选项,可以递归地将目录及其内容压缩为一个 ZIP 文件。

保留原始文件,创建 ZIP 文件:
zip -r - files | cat > archive.zip

这将会将文件和目录压缩,并将 ZIP 内容写入 archive.zip 文件,同时保留原始文件。

unzip 命令:

解压 ZIP 文件:
unzip archive.zip

这会将 archive.zip 解压缩到当前目录。

解压 ZIP 文件到指定目录:
unzip archive.zip -d /path/to/destination

使用 -d 选项,可以将 ZIP 文件解压缩到指定的目录。

列出 ZIP 文件内容:
unzip -l archive.zip

使用 -l 选项,可以列出 ZIP 文件的内容列表,包括文件名、压缩比等信息。

这些命令提供了灵活的选项,以满足不同的压缩和解压缩需求。可以通过 man zipman unzip 命令查看它们的详细文档以获取更多信息。

4、7z

7z 是一个用于创建和解压缩文件归档的命令行工具,支持多种压缩算法。以下是 7z 命令的一些常见用法:

压缩文件或目录:

使用 LZMA 算法创建 7z 文件:
7z a archive.7z file1 file2 dir1

这将会创建一个名为 archive.7z 的文件,包含指定的文件和目录,使用 LZMA 算法进行压缩。

使用不同的压缩算法:
7z a -tzip archive.zip file1 file2 dir1

使用 -t 选项可以指定不同的压缩算法,例如 zip

解压缩文件:

解压缩 7z 文件:
7z x archive.7z

这会将 archive.7z 解压缩到当前目录。

解压缩到指定目录:
7z x archive.7z -o/path/to/destination

使用 -o 选项,可以将文件解压缩到指定的目录。

查看 7z 文件内容:

列出 7z 文件的内容:
7z l archive.7z

使用 l 命令,可以列出 7z 文件的内容列表,包括文件名、压缩比等信息。

这些只是 7z 命令的一些常见用法。7z 还支持许多其他选项和压缩算法,你可以通过 man 7z 命令查看 7z 命令的详细文档以获取更多信息。


相关文章
|
6天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
20天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
33 11
|
Linux 开发工具
Linux:时间日期指令(date)+查找指令(find,locate,grep)+压缩和解压指令(gzip,gunzip;zip,unzip;tar)(内含详细解释+操作实例)
Linux:时间日期指令(date)+查找指令(find,locate,grep)+压缩和解压指令(gzip,gunzip;zip,unzip;tar)(内含详细解释+操作实例)
252 0
Linux:时间日期指令(date)+查找指令(find,locate,grep)+压缩和解压指令(gzip,gunzip;zip,unzip;tar)(内含详细解释+操作实例)
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
343 8
|
3月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1128 6
|
3月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
194 3
|
3月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
143 2
|
2月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
99 14
Linux 10 个“who”命令示例