这篇文章介绍一下tar命令的两个参数在使用中的小技巧。
情景
以docker目前最新的一个稳定版本的压缩tgz文件为例,压缩文件展开会有一个docker目录,如果希望这个tgz文件直接展开到一个已经存在的名为docker的目录下(比如/tmp/docker),一般的做法是tar xf展开后再使用mv操作,执行的时候就会发现一个很有趣的事情,就是docker目录下有一个docker的文件,然后在docker的目录下试图将这个docker的文件移动至此文件的父目录中,会发生什么情况,可自行试一下就会知道。
情景展开
上述的说明表明了一件事情,就是非常简单的事情也很难说明白,接下来直接使用代码进行说明:
[root@liumiaocn tmp]# ls docker-19.03.5.tgz
docker-19.03.5.tgz
[root@liumiaocn tmp]# tar tvf docker-19.03.5.tgz
drwxrwxr-x ubuntu/ubuntu 0 2019-11-13 02:30 docker/
-rwxr-xr-x ubuntu/ubuntu 764144 2019-11-13 02:30 docker/doc