Linux基础:tar命令选项实用小技巧

本文介绍了在Linux中使用tar命令时如何避免解压tgz文件到已存在目录时产生额外的目录层级。通过示例展示了当目标目录与解压缩后的顶级目录同名时的问题,并提出了解决方案:利用tar命令的`-C`选项和`--strip-components=1`参数,直接将内容解压到目标目录下。
摘要由CSDN通过智能技术生成

这篇文章介绍一下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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值