ルートフォルダなしでアーカイブを展開し、その中に完全な階層を保持する方法は?


25

.tarアーカイブを取得し、それを抽出するとfoo、次のように、さらに多くのものを含む単一のフォルダーが表示されます。

foo/
  something.txt
  another.txt
  bar/
    something-else.txt

.tarコマンドを変更してルートフォルダー(fooこの場合)を「スキップ」し、そのフォルダーのすべてのコンテンツを次のように直接cwdに抽出する方法はありますか。

something.txt
another.txt
bar/
  something-else.txt

回答:


29

簡単です。--strip-components=1アーカイブで次のように使用するだけです。

tar -xf archive.tar --strip-components=1

そして公式のtarmanページで説明されているように:

--strip-components = NUM​​BER

抽出時にファイル名からNUMBER個の主要コンポーネントを削除します

論理パスがで構成されている場合であることとfoo/something.txt、その経路の最初の「成分」であろうfoo/ように--strip-components=1効果的に落とすことになるfoo/経路からfoo/something.txt

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.