GNU/Linux >> Linux の 問題 >  >> Ubuntu

「cvfz」の前にハイフンを省略しない限り、Tar -cvfzコマンドでエラーメッセージが表示されますか?

この質問にはすでに回答があります :9年前に閉鎖。

重複の可能性:
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。)。

関連:Ubuntuの複数のコンピューターにネットワーク経由で音楽をストリーミングする方法は?
Ubuntu
  1. LinuxでTarコマンドを使用する方法

  2. コマンドラインを使用してLinuxでtar.gzファイルを抽出する方法

  3. Ubuntu のツリー コマンドとは何ですか?

  1. Tar.bz2ファイルを抽出できません:エラーメッセージ、.hファイル:アクセスが拒否されましたか?

  2. FIND の結果を COPY コマンド CP にパイプすることは可能ですか?

  3. tar.bz2 ファイル エラーを tar で抽出する

  1. Linuxでsudoコマンドを使用する方法

  2. Linuxでwallコマンドを使用する方法

  3. 「tar」コマンドと「find」コマンドを組み合わせる方法