$ ls one.tar.gz
one.tar.gz
$ tar -xvfz one.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
$ tar -xvzf one.tar.gz
one
$ tar -xzvf one.tar.gz
one
$ tar -zxvf one.tar.gz
one
$
-f
switchは引数(ファイル名)を取ります。 z
がf
の後に表示される場合、それがファイル名と見なされます。
tar -xvfz one.tar.gz
と同じです
tar -xvf z one.tar.gz
これを行った場合:
tar -xvf -z one.tar.gz
次に-z
がファイル名として使用され、同様のエラーが発生します。
ただし、これは機能します。
tar -xvz -f one.tar.gz
GNU tar
man page 状態:
Tarの最初の引数は、オプションの1つである必要があります。Acdrtuxの後にオプションの関数が続きます。 tarの最後の引数は、アーカイブする必要のあるファイルまたはディレクトリの名前です。
入力がstdinからのものであるか、出力がstdoutへのものでない限り(適切な場合)、-f filename
オプションと引数を指定する必要があります。マニュアルページは順序が固定されていることを示していますが、実際にはオプションは任意の順序にすることができます。この奇妙なものでも機能します(ただし、tar
のすべてのバージョンで機能するとは限りません):
tar -v files_to_archive* -f xyz.tar.gz -cz
移植性のために、慣用的な引数の順序に固執し、ハイフンを省略した方がおそらく良いでしょう:
tar czvf xyz.tar.gz files_to_archive*
z最後に使用できます:
tar -x -v -f foo.tar.gz -z
しかし、@ Dennisが述べているように、fフラグは引数を取ります。