您的位置:

Linux下的tar命令使用教程

一、tar命令简介

tar是一个在Linux和Unix系统中广泛使用的文件归档工具。tar的全名为"tape archive",源自它最初被设计用于在磁带上归档文件的需要。tar通过将多个文件或目录打包成一个文件,并且可以选择压缩这个文件,来实现备份和迁移文件的目的。

指定了tar的文件名和一系列文件名作为参数后,tar将创建一个归档文件。归档文件可以被在非Unix和Unix系统之间传输,同时它也可以是压缩的文件,以便更轻松地管理和传输。

二、tar命令的语法

tar [选项] [文件或目录]

常用选项:

  • -c, --create: 创建一个新的归档文件
  •     
  • -x, --extract, --get: 从现有的归档文件中提取文件或目录
  •     
  • -f, --file: 指定归档文件的名称
  •     
  • -v, --verbose: 详细输出归档文件过程中的文件列表和详细信息,可以加上更高级别的详细信息
  •     
  • -z, --gzip, --gunzip, --ungzip: 在归档文件过程中,使用gzip压缩文件。提取时自动使用gzip解压。
  •     
  • -j, --bzip2, --xz, --lzma, --remove-files: 在归档文件过程中,使用更高级别的压缩算法。提取时,自动解压。
  •     
  • -t, --list: 列出归档文件中的内容
  • --exclude: 指定要排除的文件或目录

三、tar命令的常见用途

1. 创建一个新的归档文件

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

上述命令会将/path/to/directory目录中所有的文件及其子目录压缩成一个名为archive.tar.gz的压缩文件,并存储在当前目录中。

2. 将归档文件解压缩到指定目录

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

上述命令将解压缩名为archive.tar.gz的文件,并将它的内容提取到/path/to/directory目录中。

3. 向现有的tar文件中追加新文件

tar -rvf archive.tar new_file

上述命令将new_file文件追加到名为archive.tar的归档文件中。

4. 列出tar文件的内容

tar -tvf archive.tar

上述命令将输出归档文件archive.tar中的所有文件及其信息。

5. 排除特定文件或目录

tar -czvf archive.tar.gz --exclude='*.log' /path/to/directory

上述命令将排除文件名匹配*.log的文件,然后将/path/to/directory目录中的所有文件和子目录压缩成一个名为archive.tar.gz的压缩文件,并存储在当前目录中。

6. 使用进度条展示tar命令的执行进度

tar -czvf - /path/to/directory | pv | gzip > archive.tar.gz

上述命令将/path/to/directory目录及其子目录打包并以gzip压缩的方式,存储到归档文件archive.tar.gz中,并使用pv工具展示tar命令的执行进度。

总结

tar是一个功能强大的文件归档工具,在Linux和Unix操作系统中被广泛应用,并且其选项和参数众多,建议在使用时结合实际需求,适当使用tar的选项以及管道的特性,以达到最优的效果。