行业知识
Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
文章目录
- Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
- 1. tar
- 1.1. 压缩:
- 1.2. 解压:
- 1.3. tar 命令各参数含义
- 2. gzip、gunzip
- 2.1. 压缩:
- 2.2. 解压:
- 2.3. gzip、gunzip 命令各参数含义
- 2.3.1. gzip 命令的各个参数的含义如下:
- 2.3.2. gunzip 命令的各个参数的含义如下:
- 3. zip、unzip
- 3.1. 压缩:
- 3.2. 解压:
- 3.3. zip、unzip 命令各参数含义
- 3.3.1. zip 命令参数含义
- 3.3.2. unzip 命令参数含义
- 4. 7z
- 4.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
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'
下一篇:云服务器家庭群组怎么用?