开发工具

Shell之 tar 指令

tar 是 Unix 和类 Unix 系统上的一个命令行工具,用于将多个文件和目录打包成一个归档文件,同时也可以从归档文件中提取文件。tar 命令的名称来源于磁带归档(tape archive)的缩写,尽管现在它通常用于硬盘上的文件归档。


基本语法

tar [选项] [归档文件名] [文件或目录...]

选项:用于指定 tar 命令的行为,如 -c 表示创建归档文件,-x 表示提取文件。

归档文件名:指定归档文件的名称。如果不指定,则默认将归档文件输出到标准输出或从标准输入读取。

文件或目录:要打包或提取的文件和目录列表。


常用选项

-c:创建一个新的归档文件。

-x:从归档文件中提取文件。

-v:详细模式,显示处理过程中的文件列表。

-f:指定归档文件的名称。注意,-f 选项通常放在选项列表的最后,紧跟归档文件名。

-z:通过 gzip 压缩或解压缩归档文件。

-j:通过 bzip2 压缩或解压缩归档文件。

-J:通过 xz 压缩或解压缩归档文件。

-t:列出归档文件中的文件列表,而不提取它们。

-C:切换到指定目录后再执行提取操作。


示例

1、创建一个 gzip 压缩的归档文件

tar -czvf archive.tar.gz /path/to/directory

这将 /path/to/directory 目录及其内容打包成一个名为 archive.tar.gz 的 gzip 压缩归档文件。


2、从 gzip 压缩的归档文件中提取文件

tar -xzvf archive.tar.gz

这将从 archive.tar.gz 归档文件中提取文件到当前目录。


3、列出归档文件中的文件列表

tar -tzvf archive.tar.gz

这将列出 archive.tar.gz 归档文件中的文件列表,而不提取它们。


4、切换到指定目录后提取文件

tar -xzvf archive.tar.gz -C /path/to/extract

这将从 archive.tar.gz 归档文件中提取文件到 /path/to/extract 目录。


注意事项

1、使用 tar 命令时,-f 选项通常紧跟归档文件名,以明确指定归档文件的名称。

2、压缩选项(-z、-j、-J)应与创建或提取归档文件的选项(-c 或 -x)一起使用。

3、在处理大文件或大量文件时,tar 命令可能会占用较多系统资源,建议在非高峰时段执行。

4、对于重要的数据,建议在打包或提取前进行备份,以防万一出现数据丢失或损坏的情况。