当前位置:   article > 正文

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

linux 压缩文件

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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

1.3. tar 命令各参数含义

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

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

其中,选项包括:

  • -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
  • 1

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

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

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

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

2. gzip、gunzip

gzip 是一种常用的压缩工具,可以将单个文件压缩成一个 gzip 文件,也可以将一个 gzip 文件解压缩。

2.1. 压缩:

# 将一个文件压缩成 gzip 格式,-c 表示将压缩结果输出到标准输出,-v 表示显示详细信息
gzip -cv filename > filename.gz
  • 1
  • 2

2.2. 解压:

# 将一个 gzip 文件解压缩,-d 表示解压
gunzip -d filename.gz
  • 1
  • 2

2.3. gzip、gunzip 命令各参数含义

gzip 和 gunzip 命令是 Linux 下常用的压缩和解压缩工具,用于将单个文件压缩成一个 gzip 文件,也可以将一个 gzip 文件解压缩。

2.3.1. gzip 命令的各个参数的含义如下:
gzip [选项] 文件名
  • 1

其中,选项包括:

  • -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
  • 1

其中,-c 表示将压缩结果输出到标准输出,filename 是要压缩的文件名,> filename.gz 表示将压缩结果重定向到 filename.gz 文件中。

2.3.2. gunzip 命令的各个参数的含义如下:
gunzip [选项] 文件名
  • 1

其中,选项包括:

  • -c, --stdout:将解压缩结果输出到标准输出;
  • -f, --force:强制解压缩,覆盖已有文件;
  • -h, --help:显示帮助信息;
  • -l, --list:列出 gzip 文件的详细信息;
  • -q, --quiet:不显示解压缩结果信息;
  • -r, --recursive:递归处理目录下的所有文件;
  • -t, --test:测试 gzip 文件的完整性;
  • -v, --verbose:显示解压缩结果信息。

例如,将一个 gzip 文件解压缩,可以使用以下命令:

gunzip filename.gz
  • 1

其中,filename.gz 是要解压缩的 gzip 文件名。

3. zip、unzip

zip 是一种常用的压缩工具,可以将多个文件或目录打包成一个 zip 文件,也可以将一个 zip 文件解压缩到指定的目录。

3.1. 压缩:

# 将多个文件或目录打包成一个 zip 文件
zip -r filename.zip file1 file2 dir1
  • 1
  • 2

3.2. 解压:

# 将一个 zip 文件解压缩到指定目录下
unzip filename.zip -d /path/to/directory
  • 1
  • 2

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
  • 1
3.3.2. unzip 命令参数含义

unzip 命令用于解压缩 .zip 格式的压缩文件,下面是常用的参数:

  • -l 列出压缩文件中的所有文件,但不解压缩它们。
  • -n 不要覆盖现有文件。
  • -o 覆盖现有文件。
  • -q 静默模式,不显示解压缩过程中的信息。
  • -v 显示解压缩过程中的详细信息。
  • -d 指定解压缩后的目录。

例如,要解压缩名为 docs.zip 的压缩文件到目录 /home/user/unzip 下,可以使用以下命令:

unzip docs.zip -d /home/user/unzip
  • 1

4. 7z

7z 是一种高压缩比的压缩工具,可以将多个文件或目录打包成一个 7z 文件,也可以将一个 7z 文件解压缩到指定的目录。

4.1. 压缩:

# 将多个文件或目录打包成一个 7z 文件
7z a filename.7z file1 file2 dir1
  • 1
  • 2

4.2. 解压:

# 将一个 7z 文件解压缩到指定目录下
7z x filename.7z -o/path/to/directory
  • 1
  • 2

以上是 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/*
  • 1

要解压缩名为 docs.7z 的压缩文件并将其解压缩到目录 /home/user/unzip 下,可以使用以下命令:

7z x docs.7z -o/home/user/unzip -p'mypassword'
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/170476
推荐阅读
相关标签
  

闽ICP备14008679号