本文共 1477 字,大约阅读时间需要 4 分钟。
首先介绍一下 tar 命令:
用途:打包文件(制作归档文件)、释放归档文件
格式:
tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
常用命令选项:
-c | 创建 .tar 格式的包文件 |
-x | 解开 .tar 格式的包文件 |
-v | 输出详细信息 |
-f | 表示使用归档文件 |
-t | 列表查看包内的文件 |
-p | 保持源文件的原来属性 |
-P | 保持源文件的绝对路径 |
-C | 建包或解包时进入指定的目录 |
-z | 调用gzip程序进行压缩或解压 |
-j | 调用bzip2程序进行压缩或解压 |
-J | 调用XZ程序进行压缩或解压 |
-A | 将归档文件追加到另一个归档文件中 |
现在根据一个练习题来讲一下tar命令和选项的具体应用:
第一步:
[root@dbserver02 ~]# tar cf /tmp/sxkj.tar -C /etc group passwd shadow
第二步:
[root@dbserver02 ~]# tar -tvf /tmp/sxkj.tar-rw-r--r-- root/root 707 2018-11-23 21:30 group-rw-r--r-- root/root 1524 2018-11-23 21:41 passwd---------- root/root 1125 2018-11-23 21:45 shadow
第三步:
[root@dbserver02 ~]# tar rf /tmp/sxkj.tar .bashrc
然后可以查看sxkj.tar里面的内容:
[root@dbserver02 ~]# tar -tvf /tmp/sxkj.tar-rw-r--r-- root/root 707 2018-11-23 21:30 group-rw-r--r-- root/root 1524 2018-11-23 21:41 passwd---------- root/root 1125 2018-11-23 21:45 shadow-rw-r--r-- root/root 176 2004-09-23 11:59 .bashrc
第四步:
已经知道sxkj.tar包里有四个文件,现在要求把其中的指定的一个文件解压到指定的 /tmp 目录;这是难点所在,代码如下:
[root@dbserver02 ~]# tar xvf /tmp/sxkj.tar -C /home groupgroup
注意:此处把包里的group文件放到了全部命令的最后。
第五步:
[root@dbserver02 ~]# tar cjvf /tmp/home.tar.bz2 /hometar: Removing leading `/' from member names/home//home/group
这里要求把路径中的 “ / ” 删除,因为在解压缩的过程中一定要注意绝对路径相对路径问题,推荐使用相对路径。如果使用了绝对路径,系统会自动修改成相对路径。
第六步:
[root@dbserver02 ~]# tar xjvf /tmp/home.tar.bz2 -C /tmphome/home/group[root@dbserver02 ~]# ls /tmphome home.tar.bz2 sxkj.tar
可以看到目录/tmp下已经有了home目录。
熟练掌握这个练习就应该可以掌握tar命令了。
转载地址:http://mbjxi.baihongyu.com/