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を現在の作業ディレクトリへ展開します。