Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
文章目录
Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法1. tar1.1. 压缩:1.2. 解压:1.3. tar 命令各参数含义 2. gzip、gunzip2.1. 压缩:2.2. 解压:2.3. gzip、gunzip 命令各参数含义2.3.1. gzip 命令的各个参数的含义如下:2.3.2. gunzip 命令的各个参数的含义如下: 3. zip、unzip3.1. 压缩:3.2. 解压:3.3. zip、unzip 命令各参数含义3.3.1. zip 命令参数含义3.3.2. unzip 命令参数含义 4. 7z4.1. 压缩:4.2. 解压:4.3. 7z 命令各参数含义
Linux 压缩、解压文件的方式有如下几种:
1. tar
tar 是一种常用的打包工具,可以将多个文件或目录打包成一个 tar 包,也可以将一个 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
gzip 是一种常用的压缩工具,可以将单个文件压缩成一个 gzip 文件,也可以将一个 gzip 文件解压缩。
2.1. 压缩:
# 将一个文件压缩成 gzip 格式,-c 表示将压缩结果输出到标准输出,-v 表示显示详细信息gzip -cv filename > filename.gz
2.2. 解压:
# 将一个 gzip 文件解压缩,-d 表示解压gunzip -d filename.gz
2.3. gzip、gunzip 命令各参数含义
gzip 和 gunzip 命令是 Linux 下常用的压缩和解压缩工具,用于将单个文件压缩成一个 gzip 文件,也可以将一个 gzip 文件解压缩。
2.3.1. gzip 命令的各个参数的含义如下:
gzip [选项] 文件名
其中,选项包括:
-c, --stdout
:将压缩结果输出到标准输出;-d, --decompress, --uncompress
:解压缩 gzip 文件;-f, --force
:强制压缩,覆盖已有文件;-h, --help
:显示帮助信息;-l, --list
:列出 gzip 文件的详细信息;-n, --no-name
:不保存原文件名到 gzip 文件中;-q, --quiet
:不显示压缩结果信息;-r, --recursive
:递归处理目录下的所有文件;-t, --test
:测试 gzip 文件的完整性;-v, --verbose
:显示压缩结果信息;-1
到 -9
:指定压缩级别,数字越大压缩比越高,但所需时间也越长。 例如,将一个文件压缩成 gzip 格式,并将压缩结果输出到标准输出,可以使用以下命令:
gzip -c filename > filename.gz
其中,-c
表示将压缩结果输出到标准输出,filename
是要压缩的文件名,> filename.gz
表示将压缩结果重定向到 filename.gz 文件中。
2.3.2. gunzip 命令的各个参数的含义如下:
gunzip [选项] 文件名
其中,选项包括:
-c, --stdout
:将解压缩结果输出到标准输出;-f, --force
:强制解压缩,覆盖已有文件;-h, --help
:显示帮助信息;-l, --list
:列出 gzip 文件的详细信息;-q, --quiet
:不显示解压缩结果信息;-r, --recursive
:递归处理目录下的所有文件;-t, --test
:测试 gzip 文件的完整性;-v, --verbose
:显示解压缩结果信息。 例如,将一个 gzip 文件解压缩,可以使用以下命令:
gunzip filename.gz
其中,filename.gz
是要解压缩的 gzip 文件名。
3. zip、unzip
zip 是一种常用的压缩工具,可以将多个文件或目录打包成一个 zip 文件,也可以将一个 zip 文件解压缩到指定的目录。
3.1. 压缩:
# 将多个文件或目录打包成一个 zip 文件zip -r filename.zip file1 file2 dir1
3.2. 解压:
# 将一个 zip 文件解压缩到指定目录下unzip filename.zip -d /path/to/directory
3.3. zip、unzip 命令各参数含义
3.3.1. zip 命令参数含义
zip
命令用于将多个文件或目录归档成一个压缩文件,下面是常用的参数:
-r
递归地压缩目录及其子目录下的所有文件。-m
将文件移动到压缩文件中,而不是复制它们。这意味着被压缩的文件将被删除。-j
将目录信息从压缩文件中删除,仅压缩文件本身。-q
静默模式,不显示压缩过程中的信息。-v
显示压缩过程中的详细信息。-c
创建一个新的压缩文件,如果该文件已经存在,则覆盖它。-u
只更新压缩文件中的新文件或修改过的文件。-f
指定压缩文件名。 例如,要将目录 /home/user/docs
下的所有文件压缩成一个名为 docs.zip
的压缩文件,可以使用以下命令:
zip -r docs.zip /home/user/docs
3.3.2. unzip 命令参数含义
unzip
命令用于解压缩 .zip
格式的压缩文件,下面是常用的参数:
-l
列出压缩文件中的所有文件,但不解压缩它们。-n
不要覆盖现有文件。-o
覆盖现有文件。-q
静默模式,不显示解压缩过程中的信息。-v
显示解压缩过程中的详细信息。-d
指定解压缩后的目录。 例如,要解压缩名为 docs.zip
的压缩文件到目录 /home/user/unzip
下,可以使用以下命令:
unzip docs.zip -d /home/user/unzip
4. 7z
7z 是一种高压缩比的压缩工具,可以将多个文件或目录打包成一个 7z 文件,也可以将一个 7z 文件解压缩到指定的目录。
4.1. 压缩:
# 将多个文件或目录打包成一个 7z 文件7z a filename.7z file1 file2 dir1
4.2. 解压:
# 将一个 7z 文件解压缩到指定目录下7z x filename.7z -o/path/to/directory
以上是 Linux 压缩、解压文件的几种常用方式,根据需要选择不同的方式。
4.3. 7z 命令各参数含义
7z
命令是一个高效的压缩和解压缩工具,常用于Linux和Windows平台。下面是常用的参数:
a
创建一个压缩文件。-t
指定压缩文件的格式,常用格式有:7z、zip、gzip、bzip2、tar等。-mx
指定压缩级别,数字越大,压缩比越高,但耗费的时间也越多。取值范围为0-9,其中0表示不压缩,9表示最高压缩级别。-p
设置压缩文件密码。-mhe=on
启用文件头加密。-mmt
设置多线程压缩,可以加快压缩速度。-m0=lzma2
指定压缩算法,常用的算法有:lzma2、lzma、ppmd、bzip2等。-v
指定压缩包大小,支持 K(千字节)、M(兆字节)、G(吉字节)和 B(字节)等单位。-r
递归压缩目录及其子目录下的所有文件。-x
排除某些文件或目录。-o
指定压缩文件输出路径和名称。 例如,要将目录 /home/user/docs
下的所有文件压缩成一个使用 lzma2 算法的压缩文件,并设置密码为 mypassword
,可以使用以下命令:
7z a -t7z -m0=lzma2 -mx=9 -mhe=on -p'mypassword' docs.7z /home/user/docs/*
要解压缩名为 docs.7z
的压缩文件并将其解压缩到目录 /home/user/unzip
下,可以使用以下命令:
7z x docs.7z -o/home/user/unzip -p'mypassword'