Ubuntu
解壓 tar.gz 中的特定文件夾
如何使用終端/命令行 ( Ubuntu 14.04 (Trusty Tahr)) 解壓縮 tar.gz 中的特定文件夾?
精確的:
-file.tar.gz -- folder1 -- folder2
如何提取…
... folder1 --> ~/locationX ... folder2 --> ~/locationY
我怎樣才能做到這一點?
請注意: 這純粹與終端/命令行有關,與Puppet無關。這只是一個例子——我會在 Puppet 中節省大約 50 個額外的步驟,如果有一個命令可以從 a 中解壓縮特定文件夾,
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 -czf file.tar.gz .
您./
使用--strip-components=2
.