重複の可能性:
sudotarcvpzfが以前のエラーのために失敗して終了しました
コマンドを実行すると
tar -cvfz backup.tar.gz somedirectory
次のsterrを取得します
tar: Exiting with failure status due to previous errors
ただし、-cvfz
から前のハイフンを省略した場合 すべてがうまく機能しているようです。ハイフンがファイルのtarを妨げている理由はわかっていますか?
承認された回答:
tar cvfz
の理由がわかりません man
のクイックスキャンによると機能します ページと私の経験では、ハイフンが標準的な方法です。多分それはBSD互換性のものです(ps
のような) 。
とにかく、あなたの構文は正しくありません。 -f
圧縮先のファイル名として次の引数を取ります。この場合、そのファイル名はz
です。 、これはあなたが期待したものではありません。これが出力のサンプルで、私が何を意味するのかがわかります:
$ tar -cvfz test.tar.gz scott
tar: test.tar.gz: Cannot stat: No such file or directory
scott/
scott/netx/
scott/netx/locks/
scott/netx/locks/netx_running
tar: Exiting with failure status due to previous errors
ls
z
というファイルを示しています 。 file
コマンドは、それが非圧縮のtar
であることを示します 記録。 -z
であるため、圧縮されていません 引数は渡されませんでした。また、存在しないファイルtest.tar.gz
を追加しようとしたときにエラーメッセージが表示されました。 アーカイブに。
オプションを並べ替えるだけで大丈夫です:
tar -czvf test.tar.gz some/directory
常に-f
を作成する場合 最後の議論、あなたは大丈夫でしょう。ちなみに、引数を取る短いオプション(1文字のオプション)は、通常、オプションと引数の間にスペースを必要としないことに注意してください。
編集: ちなみに、ハイフンのないフォームがBSD互換のものなどである場合は、tar
の方法である可能性があります。 このような環境で呼び出されるのは異なり、f
は必要ありません。 入力ファイルを指定するフラグですが、cp
のように機能します か何か。ただし、これはps
との比較に基づく推測にすぎません。 (q.v。)。