Linux tar命令

Tar(Tape Archive)是Linux/Unix系统中用于归档文件的命令。它能够将多个文件或目录合并为一个文件,即打包,并且支持通过不同的压缩算法进行压缩。在日常的文件管理、备份和传输中,tar命令是非常实用的工具。

打包与压缩的区别

  • 打包:指的是将若干文件或目录整合成一个单独的文件,但不减少其大小。这个过程有助于简化文件管理和传输。
  • 压缩:是指利用特定算法减小文件的大小,以节省存储空间或加快传输速度。通常情况下,压缩是在打包之后进行的,因为大多数压缩工具只能处理单个文件。

由于Linux中的很多压缩工具(如gzip, bzip2, xz等)只能对单一文件进行操作,所以在进行压缩之前,我们首先需要使用tar命令来打包文件或目录。

常用参数解释

参数 描述
-c 创建一个新的归档文件。
-x 从归档文件中解压文件。
-t 列出归档文件的内容,而不解压它们。
-u 更新已存在的归档文件,仅添加那些比归档中版本更新的文件。
-f 指定归档文件名。此选项必须给出,且一般放在命令行最后。
-j 使用bzip2进行压缩或解压。结果文件将以.tar.bz2为扩展名。
-z 使用gzip进行压缩或解压。结果文件将以.tar.gz.tgz为扩展名。
-v 显示操作过程中处理的文件名。
-p 保留文件的原始权限。
-P 保留绝对路径。
--exclude=FILE 排除指定的文件或目录,不将其包含在归档中。

使用示例

创建压缩文件

根据所选的压缩算法,创建压缩文件的方法有所不同:

  • 使用bzip2压缩:

    tar -jcvf 压缩文件名称.tar.bz2 要打包的文件或目录...
    
  • 使用gzip压缩:

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

解压文件

要解压文件,只需将上述命令中的c替换为x,并确保选择正确的压缩选项(-z-j)匹配原压缩格式:

  • 解压bzip2文件到指定目录:

    tar -jxvf 压缩文件名称.tar.bz2 -C 目标目录
    
  • 解压gzip文件到当前目录:

    tar -zxvf 压缩文件名称.tar.gz
    

请注意,-c, -x, -t, -u这些操作选项不能同时出现;每次只能执行一种类型的操作。

All is well
使用 Hugo 构建
主题 StackJimmy 设计