Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)是类 Unix 系统中使用最广泛的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用 gzip 或者 bzip2 等技术进行压缩。换言之,tar 命令也可以用于备份:先是归档多个文件和目录到一个单独的 tar 文件或归档文件,然后在需要之时将 tar 文件中的文件和目录释放出来。
本文将介绍 tar 的 17 个实用示例。
tar 命令语法如下:
# tar <选项> <文件>
下面列举 tar 命令中一些常用的选项:
--delete : 从归档文件 (而非磁带) 中删除
-r, --append : 将文件追加到归档文件中
-t, --list : 列出归档文件中包含的内容
--test-label : 测试归档文件卷标并退出
-u, --update : 将已更新的文件追加到归档文件中
-x, --extract, --get : 释放归档文件中文件及目录
-C, --directory=DIR : 执行归档动作前变更工作目录到 DIR
-f, --file=ARCHIVE : 指定 (将要创建或已存在的) 归档文件名
-j, --bip2 : 对归档文件使用 bzip2 压缩
-J, --xz : 对归档文件使用 xz 压缩
-p, --preserve-permissions : 保留原文件的访问权限
-v, --verbose : 显示命令整个执行过程
-z, gzip : 对归档文件使用 gzip 压缩
注 : 在 tar 命令选项中的连接符 - 是可选的(LCTT 译注:不用 - 也没事。这在 GNU 软件里面很罕见,大概是由于 tar 命令更多受到古老的 UNIX 风格影响)。
示例 1:创建一个 tar 归档文件
现在来创建一个 tar 文件,将 /etc/ 目录和 /root/anaconda-ks.cfg 文件打包进去。
复制代码 代码如下: [root@linuxtechi ~]# tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg以上命令会在当前目录创建一个名为 “myarchive” 的 tar 文件,内含 /etc/ 目录和 /root/anaconda-ks.cfg 文件。
其中,-c 选项表示要创建 tar 文件,-v 选项用于输出 tar 的详细过程到屏幕上,-f 选项则是指定归档文件名称。
[root@linuxtechi ~]# ls -l myarchive.tar-rw-r--r--. 1 root root 22947840 Sep 7 00:24 myarchive.tar[root@linuxtechi ~]#
示例 2:列出归档文件中的内容
在 tar 命令中使用 t 选项可以不用释放其中的文件就可以快速列出文件中包含的内容。
复制代码 代码如下: [root@linuxtechi ~]# tar -tvf myarchive.tar
列出 tar 文件中的指定的文件和目录。下列命令尝试查看 anaconda-ks.cfg 文件是否存在于 tar 文件中。
[root@linuxtechi ~]# tar -tvf myarchive.tar root/anaconda-ks.cfg-rw------- root/root 953 2016-08-24 01:33 root/anaconda-ks.cfg[root@linuxtechi ~]#
示例 3:追加文件到归档(tar)文件中
-r 选项用于向已有的 tar 文件中追加文件。下面来将 /etc/fstab 添加到 data.tar 中。
复制代码 代码如下: [root@linuxtechi ~]# tar -rvf data.tar /etc/fstab注:
新闻热点
疑难解答