Linux压缩文件常用操作的命令大全

目录

一、tar命令

1.1. 压缩文件

1.2. 解压文件

1.3. 示例

二、gzip命令

2.1. 压缩文件

2.2. 解压文件

2.3. 保留原文件

三、 bzip2命令

3.1. 压缩文件

3.2. 解压文件

3.3. 示例

四、zip命令

4.1. 压缩文件或目录

4.2. 解压文件

4.3. 注意事项

五、xz命令

5.1. 压缩文件

5.2. 解压文件

5.3. 示例

六、rar命令

6.1. 安装rar命令

6.2. 压缩文件

6.3. 解压文件

6.4. 注意事项

七、汇总表


在Linux系统中,压缩文件操作是一个常见的任务,可以通过多种命令来实现。以下是一些常用的Linux压缩文件命令及其基本用法。

一、tar命令

tar是Tape Archive的缩写,是 Linux 和 Unix 系统中用于归档(打包)文件的强大工具。它可以将多个文件和目录合并为一个文件,方便备份、传输或存储。同时,通过与其他压缩工具(如 gzip, bzip2, xz 等)结合使用,tar 也可以实现文件的压缩,从而节省存储空间和网络带宽。

1.1. 压缩文件

当想要使用 tar 命令结合 gzip 进行压缩时,可以使用如下命令格式:

tar -czvf 压缩包名称.tar.gz 要压缩的文件或目录

这里的选项意义如下:

  • -c:创建一个新的归档文件。
  • -z:通过 gzip 进行压缩或解压缩。
  • -v:在处理文件时显示详细信息(verbose模式)。
  • -f:指定归档文件的名称。注意 -f 选项应该放在所有其他选项之后,紧跟归档文件名。

1.2. 解压文件

要解压一个使用 tar 和 gzip 压缩的文件,可以使用以下命令格式:

tar -xzvf 压缩包名称.tar.gz -C 解压目录

这里的选项和 -C 选项的意义如下:

  • -x:从归档文件中提取文件。
  • -z:同上,指定 gzip 处理压缩文件。
  • -v:同上,显示详细信息。
  • -f:同上,指定归档文件的名称。
  • -C:指定解压文件的目标目录。如果目录不存在,则 tar 命令可能会失败或尝试创建该目录(取决于具体的 tar 实现和权限设置)。

注意,如果解压目录不存在,可能需要先创建该目录,或者使用其他方式(如 mkdir -p)在解压命令中创建它(尽管 -C 选项本身不直接支持创建目录)。

1.3. 示例

假设有一个名为 myfiles 的目录,想要将其压缩为一个名为 myfiles.tar.gz 的归档文件,并在之后将其解压到 /tmp/extracted 目录中(假设该目录已存在):

# 压缩  
tar -czvf myfiles.tar.gz myfiles/  
  
# 解压  
tar -xzvf myfiles.tar.gz -C /tmp/extracted

这样,myfiles 目录下的所有内容都将被压缩到 myfiles.tar.gz 文件中,并且之后可以从该归档文件中解压到 /tmp/extracted 目录下。

二、gzip命令

gzip是一个广泛使用的压缩程序,用于压缩文件以节省磁盘空间。使用gzip命令压缩文件时,默认情况下会删除原文件,但会生成一个以.gz为后缀的压缩文件。这一点对于初次使用者来说可能需要注意,以避免意外丢失原始文件。

关于gzip命令的使用,以下是更详细的说明:

2.1. 压缩文件

gzip 文件名

这个命令会压缩指定的文件,并将原文件替换为一个具有相同文件名但扩展名为.gz的压缩文件。原文件在压缩后会被删除。

2.2. 解压文件

解压.gz文件,可以使用gzip -d命令或者更常用的gunzip命令,因为gunzip是专门用于解压.gz文件的工具。

  • 使用gzip -d

gzip -d 压缩后的文件.gz

或者简写为:

gzip -d 文件名.gz

执行后,.gz文件将被解压,并恢复为原始文件(不带.gz扩展名),原.gz文件将被删除。

  • 使用gunzip

gunzip 压缩后的文件.gz

或者简写为:

gunzip 文件名.gz

 这个命令的效果与使用gzip -d相同,都是解压.gz文件并删除原压缩文件。

2.3. 保留原文件

如果希望在压缩文件时保留原文件,可以使用gzip命令的-c(或--stdout)选项,将压缩数据输出到标准输出(stdout),然后可以使用重定向将其保存到另一个文件中。例如:

gzip -c 文件名 > 压缩后的文件名.gz

这样,原文件将保持不变,同时生成一个新的压缩文件。解压时,仍然可以使用gzip -dgunzip来解压文件。

三、 bzip2命令

bzip2是另一种压缩程序,通常提供比gzip更高的压缩率。但相应地,压缩和解压的速度可能会稍慢一些。

3.1. 压缩文件

使用 bzip2 压缩文件时,默认情况下它会删除原始文件,并生成一个以 .bz2 为后缀的压缩文件。如果不希望删除原始文件,可以使用 -k 或 --keep 选项来保留原始文件。

# 压缩文件,并删除原始文件  
bzip2 要压缩的文件  
  
# 压缩文件,保留原始文件  
bzip2 -k 要压缩的文件

3.2. 解压文件

解压 .bz2 文件时,可以使用 bzip2 命令的 -d 选项,或者直接使用 bunzip2 命令(它们是等价的)。

# 使用 bzip2 解压文件  
bzip2 -d 压缩后的文件.bz2  
  
# 或者使用 bunzip2 解压文件  
bunzip2 压缩后的文件.bz2

这两个命令都会解压 .bz2 文件,并删除压缩文件(.bz2 文件),除非使用了 -k 或 --keep 选项来保留压缩文件。

3.3. 示例

假设有一个名为 example.txt 的文件,想要使用 bzip2 将其压缩,并保留原始文件,然后解压压缩后的文件:

# 压缩文件,保留原始文件  
bzip2 -k example.txt  
  
# 现在有两个文件:example.txt 和 example.txt.bz2  
  
# 解压文件  
bunzip2 example.txt.bz2  
  
# 或者使用 bzip2 -d  
# bzip2 -d example.txt.bz2  
  
# 解压后,example.txt.bz2 文件将被删除,只保留原始的 example.txt 文件(如果之前存在的话)

请注意,如果在解压时想要保留压缩文件,可以使用 -k 选项。但在上面的示例中,我们没有在解压时使用 -k 选项,因此 example.txt.bz2 文件在解压后会被删除。

四、zip命令

zip是一个流行的压缩程序,它支持跨平台(如 Windows、Linux、macOS 等)使用,并且能够将文件或目录压缩成一个 .zip 格式的压缩包。

4.1. 压缩文件或目录

  • 基本用法

zip 压缩包名称.zip 要压缩的文件或目录

 这个命令会将指定的文件或目录压缩成一个名为 压缩包名称.zip 的压缩包。如果指定的是目录,默认情况下,zip 命令只会压缩目录中的文件和子目录(但不包括目录本身),并且不会递归地压缩子目录中的文件。

  • 递归压缩目录

    为了递归地压缩目录及其所有子目录和文件,需要使用 -r(或 --recurse-paths)参数:

zip -r 压缩包名称.zip 要压缩的目录

 这个命令会递归地遍历指定目录中的所有文件和子目录,并将它们压缩到 压缩包名称.zip 中。

4.2. 解压文件

  • 基本用法

unzip 压缩包名称.zip

 这个命令会将 压缩包名称.zip 中的所有文件和目录解压到当前目录下。如果压缩包中包含目录,则这些目录及其内容也会被解压到当前目录下。

  • 解压到指定目录

    如果希望将压缩包中的内容解压到指定的目录中,可以使用 -d(或 --directory)参数:

unzip 压缩包名称.zip -d 目标目录

 这个命令会将 压缩包名称.zip 中的所有内容解压到 目标目录 下。如果 目标目录 不存在,unzip 命令通常会尝试创建它(但这可能取决于具体系统和 unzip 的版本)。

4.3. 注意事项

  • 在使用 zip 和 unzip 命令时,请确保足够的权限来读取压缩包和写入目标目录。
  • zip 和 unzip 命令在大多数 Linux 发行版和 macOS 上都是预装的,但在某些情况下,可能需要手动安装它们。
  • zip 命令支持许多其他选项和参数,允许自定义压缩过程,例如设置压缩级别、排除特定文件或目录等。可以通过在终端中输入 man zip 或 zip --help 来查看这些选项的完整列表。

五、xz命令

xz是一个提供高压缩率的压缩程序。非常适合用于需要最大限度减小文件大小的场景。它的压缩率通常比 gzip 和 bzip2 都要高,但相应地,压缩和解压的速度可能会稍慢。

5.1. 压缩文件

使用 xz 压缩文件时,默认情况下它会删除原始文件,并生成一个以 .xz 为后缀的压缩文件。如果想要保留原始文件,需要使用 -k 或 --keep 选项。

# 压缩文件,并删除原始文件  
xz 要压缩的文件  
  
# 压缩文件,保留原始文件  
xz -k 要压缩的文件

5.2. 解压文件

解压 .xz 文件时,可以使用 xz 命令的 -d 选项,或者直接使用 unxz 命令(这两个命令在功能上是等价的)。

# 使用 xz 解压文件  
xz -d 压缩后的文件.xz  
  
# 或者使用 unxz 解压文件  
unxz 压缩后的文件.xz

这两个命令都会解压 .xz 文件,并删除压缩文件(.xz 文件),除非使用了 -k 或 --keep 选项来保留压缩文件。

5.3. 示例

假设有一个名为 largefile.txt 的大文件,想要使用 xz 将其压缩,并保留原始文件,然后解压压缩后的文件:

# 压缩文件,保留原始文件  
xz -k largefile.txt  
  
# 现在有两个文件:largefile.txt 和 largefile.txt.xz  
  
# 解压文件  
unxz largefile.txt.xz  
  
# 或者使用 xz -d  
# xz -d largefile.txt.xz  
  
# 解压后,largefile.txt.xz 文件会被删除(如果没有使用 -k 选项),而 largefile.txt 文件保持不变

请注意,如果在解压时想要保留压缩文件,记得使用 -k 选项。但在上面的示例中,我们没有在解压时使用 -k 选项,因此 largefile.txt.xz 文件在解压后会被删除。

六、rar命令

rar是Roshal Archive的缩写,rar命令是用于处理RAR(Roshal Archive)格式文件的压缩和解压工具。RAR格式是一种流行的文件压缩和归档格式,它支持较高的压缩率和多种压缩选项。在Linux系统中,rar命令可能需要手动安装,因为并非所有Linux发行版都默认包含它。

6.1. 安装rar命令

在Linux中安装rar命令通常需要使用系统的包管理器。以下是在一些常见Linux发行版上安装rar命令的命令示例:

  • Debian/Ubuntu及其衍生版

    sudo apt-get update  
    sudo apt-get install rar
    
  •  Fedora/CentOS/RHEL

对于较新的Fedora版本,可以使用dnf:

sudo dnf install rar

对于CentOS或RHEL,可能需要先启用EPEL仓库或使用其他源,因为rar可能不在默认仓库中。

  • Arch Linux

    sudo pacman -S rar

6.2. 压缩文件

使用rar命令压缩文件或目录的基本语法如下:

rar a 压缩包名称.rar 要压缩的文件或目录
  • -a 选项表示添加文件到压缩包。如果压缩包不存在,则会创建新的压缩包;如果已存在,则会将指定文件或目录添加到该压缩包中。
  • 可以使用 -r 参数来递归地添加文件夹中的所有文件和子文件夹。

6.3. 解压文件

解压RAR文件的基本语法是:

rar x 压缩包名称.rar
  • -x 选项通常与解压命令一起使用,但它主要是用于提取文件时保持文件的完整路径。然而,在解压RAR文件时,x 命令通常已经足够,它会自动解压到当前目录或指定的目录(如果使用 -o+ -d 参数)。
  • 如果要解压到特定目录,可以使用 -o+ -d 参数,但请注意,-x 通常不是用于指定解压路径的,而是用于控制解压时文件的路径处理方式。

正确的解压到指定目录的命令可能如下:

rar x 压缩包名称.rar -o+ -d /path/to/extract/

这里,-o+ 表示覆盖已存在的文件(如果需要),-d 后面跟的是解压目标目录的路径。

6.4. 注意事项

  • 在使用rar命令时,请确保您有足够的权限来读取压缩包和写入目标目录。
  • rar命令支持许多其他选项和参数,允许您自定义压缩和解压过程。您可以通过在终端中输入 rar --help 或 man rar(如果已安装手册页)来查看这些选项的完整列表。
  • RAR格式的压缩文件在Windows系统中也非常常见,因此rar命令在跨平台文件传输和共享中非常有用。

七、汇总表

命令描述压缩文件命令解压文件命令注意事项
tar打包和压缩文件tar -czvf 压缩包名称.tar.gz 要压缩的文件或目录tar -xzvf 压缩包名称.tar.gz -C 解压目录tar本身只打包,压缩需配合gzip等使用;-C指定解压目录
gzip压缩文件以节省空间gzip 要压缩的文件gzip -d 压缩后的文件 或 gunzip 压缩后的文件默认删除原文件,生成.gz后缀文件
bzip2提供比gzip更高的压缩率bzip2 要压缩的文件bzip2 -d 压缩后的文件 或 bunzip2 压缩后的文件默认删除原文件,生成.bz2后缀文件
zip跨平台压缩程序zip 压缩包名称.zip 要压缩的文件或目录(使用-r递归)unzip 压缩包名称.zip支持递归压缩目录
xz提供高压缩率xz 要压缩的文件xz -d 压缩后的文件 或 unxz 压缩后的文件默认删除原文件,生成.xz后缀文件
rarRoshal Archive压缩格式rar a 压缩包名称.rar 要压缩的文件或目录(使用-r递归)rar x 压缩包名称.rar可能需要预先安装rar命令;支持递归压缩

注意事项

  • 在进行压缩和解压缩操作时,需要注意参数的选择和使用,以免造成不必要的错误和数据丢失。
  • 不同的压缩格式的压缩率和压缩速度都有所不同,需要根据实际情况选择最合适的格式进行压缩。
  • 对于一些特殊的压缩文件格式,例如ISO文件和IMG文件,可以使用mount命令进行挂载,然后直接访问其中的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byte轻骑兵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值