【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 命令的详细文档以获取更多信息。


相关文章
|
2天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
3天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
3天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
运维 Ubuntu Java
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
不解压查看压缩包内容对于提升 Linux 使用效率帮助非常大,不管是开发人员还是运维人员,这种需求场景非常多。
2002 0
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
|
Linux
linux|解压和压缩命令
压缩包后缀类型: tar.gz tar.bz2 zip tar.gz image.png 压缩 image.png zcvf 说明 -z表示压缩成gz格式,调用gzip命令 -c表示创建 -v显示解压过程 -f使用文件名,之后立即加文件名 解压 image.png 解压后在varlog.tar.gz上面多了一个var目录。
929 0
|
6天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
16天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
36 9
|
4天前
|
Linux
【Linux】常用命令
【Linux】常用命令
24 0
|
4天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
17 0
Linux 网络操作命令Telnet
|
5天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0