Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、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'

转自:Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法_linux压缩文件_寒水馨的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/fuhanghang/article/details/133293745