web-dev-qa-db-ja.com

">"と ">>"の違いは何ですか?

現在、LinuxでのGCSEコンピューティング制御評価の準備をしています。私はタイプする ls > listおよびls >> listをコマンドラインに入力しますが、何もしません。私はそれをグーグルで調べました、しかしそれが正確に何をするかを見つけることができません。

何が:

ls > list

そして

ls >> list

行う?

18
ayy lmao

どちらもstdoutをファイルにリダイレクトします。

ls > list

ファイルが存在する場合は置き換えられます。

ls >> list

ファイルが存在しない場合は作成されます。存在する場合は、ファイルの最後に追加されます。

詳細: IO Redirection

24
Albert

この:

ls > list

は、lsコマンドからの出力をcreatelistという新しいファイルにリダイレクトすることを意味します。ファイルがすでに存在する場合は、replaceです。

一方

ls >> list

lsコマンドとappendからの出力をlistというファイルにリダイレクトすることを意味します。ファイルが存在しない場合はcreate it 。


通常>は、既存のファイルを消去しても問題がない場合に使用されます。これは、出力が最新の現在の状態に基づいて継続的にファイルを上書きすることを意味します。たとえば、プログラムをテストするたびに、前のテスト出力を上書きする可能性があります。

通常>>は、ロギングイベント、解析、またはデータが1つずつ作成されたり、新しいフォームに変換されたりするその他のデータ処理などの項目に使用されます。

7
Michael Durrant

どちらのコマンドも、lsコマンドの出力をlistという名前のファイルにリダイレクトします。 >は、出力ファイルをlistという名前で作成/置換します。 >>は、ファイルlistがまだ存在しない場合に作成またはファイルlistを追加します。 cat listを使用して、ファイルlistの内容を表示できます。

0
Mr. B