2.8.5 失敗するコマンド
試してしまいそうな、しかし動作しないコマンドの例と、その理由を示します。
次のコマンドを使おうとすると、
$ tar -xvf music.tar folk jazz
次の応答が返ります。
tar: folk: Not found in archive tar: jazz: Not found in archive
これらのファイルは、もともとアーカイブの置かれた親ディレクトリ..の中にあったのではなく、practiceディレクトリにあったためです。ファイル名にも、それが反映されています。
$ tar -tvf music.tar practice/blues practice/folk practice/jazz
同様に、次のコマンドを使おうとすると、
$ tar -tvf music.tar folk jazz
同じような応答が返ります。その名前のメンバーはアーカイブにありません。ファイルを展開するには、正しいメンバー名かワイルドカードを使う必要があります。
アーカイブ内のファイルの正確な名前を忘れた場合は、tar --list --verboseで正しい名前を一覧表示してください。
practice/folkというメンバーを展開するには、次のように指定する必要があります。
$ tar --extract --file=music.tar practice/folk
また、先に説明したとおり、practiceが存在しなければ作成されることにも注意してください。先頭のディレクトリ要素を指定した数だけ取り除くオプションもあります(ファイル名とメンバー名の変更を参照)。たとえば、
$ tar --extract --file=music.tar --strip-components=1 folk
ファイルfolkを現在の作業ディレクトリへ展開します。