
このコマンドを使用しています5GBファイル
tar -zxvf archive.tar.gz /folder/in/archive
これは正しいアプローチですか?コマンドライン出力がないと時間がかかるようです...
答え1
tar
相対パスを保存基本的に。絶対パスを保存しようとすると、GNU tarは次のように言います。
tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names
特定のフォルダを抽出する必要がある場合は、tarファイルの内容を確認してください。
tar -tvf foo.tar
そして正しいファイル名を書き留めます。私のファイルの場合は、次のように抽出foo.tar
できます。/home/foo/bar
tar -xvf foo.tar home/foo/bar # Note: no leading slash
したがって、いいえ、あなたが投稿した方法は(必ずしも)正しい方法ではありません。先行スラッシュを省略する必要があります。絶対パスをエミュレートするには、cd /
まずそのようにしてスーパーユーザーであることを確認してください。または同じことを行います。
tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option
tar
パスを相対パスに変換するには、非常に明白で妥当な理由があります。 1つは、ソースソースの外部のアーカイブを復元する機能です。もう一つは安全です。そのファイルが現在の作業ディレクトリに表示されることを期待してアーカイブを抽出できますが、誤ってシステムファイル(または自分の作業)を他の場所に上書きする可能性があります。
-P
注:このオプションを使用するとtar
〜するアーカイブ絶対パス。したがって、大容量アーカイブの内容を抽出する前に必ず確認することをお勧めします。