CentOS 系统中 tar 命令的使用指南
一、概念介绍

tar 是 Unix 和 Linux 系统中常用的文件打包工具,用于将多个文件或目录归档成一个文件,常用于备份和压缩。tar 代表 "tape archive"(磁带档案),因为早期计算机系统使用磁带备份数据,尽管现在的tar 文件通常存储在硬盘或其他介质上,但这个名称依然得以保留。
二、常用操作
创建一个新的归档文件
1.1 基本命令
tar cvf archive.tar /path/to/files
此命令会创建一个新的归档文件archive.tar,并将指定路径的文件包含在内。
1.2 参数说明
c:创建新的归档文件。

v:显示详细信息,列出处理中的文件。
f:指定归档文件的名称。
解压一个归档文件
2.1 基本命令
tar xvf archive.tar
此命令会将archive.tar 文件中的内容解压到当前目录。
2.2 参数说明
x:从归档文件中提取文件。

用 gzip 压缩或解压文件
3.1 压缩为.tar.gz 文件
tar czvf archive.tar.gz /path/to/files
此命令会创建一个.tar.gz 文件,这是先用tar 打包再用gzip 压缩的结果。
3.2 解压缩.tar.gz 文件
tar xzvf archive.tar.gz
此命令会将.tar.gz 文件解压缩并提取内容。
3.3 参数说明
z:通过gzip 压缩或解压。
用 bzip2 压缩或解压文件
4.1 压缩为.tar.bz2 文件
tar cjvf archive.tar.bz2 /path/to/files
此命令会创建一个.tar.bz2 文件,这是先用tar 打包再用bzip2 压缩的结果。
4.2 解压缩.tar.bz2 文件
tar xjvf archive.tar.bz2
此命令会将.tar.bz2 文件解压缩并提取内容。
4.3 参数说明
j:通过bzip2 压缩或解压。
tar tvf archive.tar
此命令会列出archive.tar 文件中的所有文件和目录。
参数说明
t:列出归档文件中的内容。
三、高级用法与示例
排除特定文件或目录
使用exclude 选项可以从归档文件中排除特定文件或目录,要打包/etc 目录,但排除密码文件/etc/passwd:
tar exclude=/etc/passwd czvf etc_backup.tar.gz /etc
追加文件到现有归档
使用r 选项可以向现有归档文件中追加文件,向archive.tar 追加newfile.txt:
tar rvf archive.tar newfile.txt
保留文件权限与属性
使用p 选项可以在解压时保留文件的原始权限和属性。
tar xpvf archive.tar
转换归档为标准输出
使用O (大写字母 O) 选项可以将归档文件转换为标准输出,将archive.tar 转换为标准输出并重定向到新文件newfile.txt:
tar xOvf archive.tar > newfile.txt
或者将多个归档文件合并:
cat archive1.tar archive2.tar > combined_archive.tar
然后可以使用以下方法解压合并后的归档:
tar xvf combined_archive.tar
这种方法适用于需要将多个归档文件合并为一个的情况,但需要注意合并后的文件顺序问题。
四、归纳
本文详细介绍了 CentOS 系统中tar 命令的基本用法和高级功能,涵盖了从基本的文件打包、解压到使用不同压缩算法进行压缩和解压缩的各个方面,通过掌握这些命令,用户可以更高效地管理系统中的归档文件,提高日常工作的效率,无论是进行简单的文件备份还是复杂的数据管理任务,tar 命令都是不可或缺的工具。
