首页 > 系统 > Linux > 正文

17个Linux tar命令实用示例

2019-11-02 16:28:22
字体:
来源:转载
供稿:网友

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

注:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表