tar 压缩文件夹完全指南

目录

  1. 什么是 tar 压缩
  2. tar 基本用法
  3. 常用 tar 命令参数
  4. tar 压缩技巧
  5. tar 压缩文件夹 FAQ

什么是 tar 压缩

tar 是 Unix/Linux 系统上常用的归档和压缩工具。它可以将多个文件打包成一个文件,并支持基本的压缩功能。tar 是 Tape ARchive 的缩写,最初是为磁带存储设计的,但现在也广泛应用于磁盘文件的归档和压缩。

使用 tar 可以非常方便地对文件夹进行备份、迁移和存储。它不仅能够将多个文件打包成一个文件,还能够对文件进行压缩,大大减小文件的体积。

tar 基本用法

创建 tar 压缩包

使用 tar 命令可以非常方便地创建压缩包。基本语法如下:

tar -cf 压缩包名.tar 文件或目录1 文件或目录2 …

其中:

  • -c: 创建新的 tar 压缩包
  • -f: 指定输出文件名

例如,将当前目录下的 docsimages 文件夹打包成 backup.tar:

tar -cf backup.tar docs images

解压 tar 压缩包

使用 tar 命令也可以轻松地解压缩 tar 包。基本语法如下:

tar -xf 压缩包名.tar

其中:

  • -x: 解压缩 tar 包

例如,解压 backup.tar 压缩包:

tar -xf backup.tar

常用 tar 命令参数

基本参数

  • -c: 创建新的 tar 压缩包
  • -x: 解压缩 tar 包
  • -f: 指定输出文件名
  • -v: 显示详细信息
  • -z: 使用 gzip 压缩/解压缩
  • -j: 使用 bzip2 压缩/解压缩
  • -J: 使用 xz 压缩/解压缩

高级参数

  • -p: 保留文件权限和属性
  • -P: 保留绝对路径
  • -t: 查看 tar 包内容
  • -u: 更新 tar 包内容
  • -r: 向 tar 包追加文件
  • -W: 校验 tar 包
  • --exclude=FILE: 排除指定文件
  • --listed-incremental=FILE: 增量备份

tar 压缩技巧

增量备份

使用 --listed-incremental=FILE 参数可以实现增量备份。这个参数会将备份信息记录到指定的文件中,下次备份时只会备份自上次备份以来修改过的文件。这样可以大大减少备份时间和占用的存储空间。

例如:

tar –listed-incremental=/tmp/backup.snar -czf backup.tar.gz /home

多卷备份

当需要备份的文件太大,无法一次性备份到单个 tar 包时,可以使用多卷备份的方式。使用 -M 参数可以将 tar 包分割成多个独立的卷。

例如:

tar -Mcf backup.tar.gz /home

这样会将 /home 目录备份到多个名为 backup.tar.gz.001backup.tar.gz.002 等的文件中。

压缩级别调整

tar 命令支持多种压缩算法,如 gzip、bzip2 和 xz,每种算法都有不同的压缩级别。通常情况下,压缩级别越高,压缩比越大,但压缩速度也越慢。可以根据实际需求选择合适的压缩级别。

例如,使用 gzip 压缩时,可以指定 -1-9 的压缩级别:

tar -czf1 backup.tar.gz /home # 最快但压缩率最低 tar -czf9 backup.tar.gz /home # 最慢但压缩率最高

tar 压缩文件夹 FAQ

为什么要使用 tar 压缩?

  1. 文件备份和存储: tar 可以将多个文件打包成一个文件,便于备份和存储。
  2. 文件传输: tar 打包的文件可以更方便地进行网络传输或拷贝。
  3. 节省存储空间: tar 支持压缩功能,可以大幅减小文件体积,节省存储空间。
  4. 保留元数据: tar 可以保留文件的权限、属主等元数据信息。

tar 与 zip 有什么区别?

tar 和 zip 都是常用的文件归档和压缩工具,但有以下区别:

  1. 压缩算法: tar 本身不支持压缩,需要配合 gzip、bzip2 等压缩工具使用,而 zip 自带压缩功能。
  2. 跨平台性: zip 文件可以在 Windows、Linux 和 macOS 等多个操作系统上使用,而 tar 主要用于 Unix/Linux 系统。
  3. 文件属性保留: tar 可以保留文件的权限、属主等元数据信息,而 zip 不支持。
  4. 多卷备份: tar 支持将大文件拆分成多个卷进行备份,zip 不支持。

如何查看 tar 压缩包内容?

可以使用 tar -tf 压缩包名.tar 命令查看 tar 压缩包内的文件列表。如果是压缩过的 tar 包,可以使用 tar -tzf 压缩包名.tar.gz 命令。

tar 压缩包如何加密?

可以使用 gpg 命令对 tar 压缩包进行加密。具体步骤如下:

  1. 创建 tar 压缩包: tar -czf backup.tar.gz /home
  2. 使用 gpg 加密: gpg -c backup.tar.gz
    • 这会生成一个加密后的 backup.tar.gz.gpg 文件
  3. 解密时使用: gpg -d backup.tar.gz.gpg | tar -xz

tar 压缩包如何分卷?

使用 -M 参数可以将 tar 压缩包分割成多个独立的卷。例如:

tar -Mcf backup.tar.gz /home

这样会将 /home 目录备份到多个名为 backup.tar.gz.001backup.tar.gz.002 等的文件中。

解压时只需要指定第一个卷文件即可:

tar -xf backup.tar.gz.001

正文完