如何使用终端/命令行(Ubuntu 14.04(Trusty Tahr))解压缩tar.gz中的特定文件夹?
精确的:
-file.tar.gz
-- folder1
-- folder2
如何提取...
... folder1 --> ~/locationX
... folder2 --> ~/locationY
我怎样才能做到这一点?
请注意:这纯粹是与终端/命令行有关,而不是Puppet。这只是一个例子-如果有命令从a内解压缩特定的文件夹,我将在Puppet中节省大约50个其他步骤,tar.gz
因为我可以避免移动文件...
我认为应该这样做:
tar -xzf file.tar.gz -C ~/locationX folder1 -C ~/locationY folder2
该-C
选项意味着在提取之前更改为指定的目录。在tarfile名称之后指定文件名参数将提取限制为仅那些文件或目录。您可以-C
像这样重复此挂起的目录。
请注意,这将在子目录中进行提取:folder1
将进入~/locationX/folder1
,folder2
将进入~/locationY/folder2
。您可以通过使用以下--strip-components
选项来防止这种情况:
tar -xzf file.tar.gz -C ~/locationX --strip-components=1 folder1 \
-C ~/locationY --strip-components=1 folder2
另外,如果tar文件中的实际前缀为./folder1
和./folder2
,并且使用tar文件创建的可能性很大tar -czf file.tar.gz .
,则需要./
在文件名参数中包含前缀,然后更改为--strip-components=2
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句