この記事では主に Linux におけるリダイレクトの問題の簡単な分析を紹介しますので、必要な方は参考にしてください
はじめに
コンピューティングの分野では、リダイレクトはさまざまなコマンドラインインタープリターの機能です。標準ストリームをユーザー指定の場所にリダイレクトできる Unix シェルの一種。 Unix 系オペレーティング システム上のプログラムは、dup2 システム コール、または柔軟性に劣るが高レベルの freopen(3) および Popen を介してリダイレクトを実行できます。出力をファイルまたはデバイスにリダイレクトすると、元のファイルが強制的に上書きされます
>> ファイルまたはデバイスに出力がリダイレクトされ、元のファイルが追加されます< ファイルまたはデバイスに直接上書きされます元のファイル b-shell2>> 標準エラー出力をファイルまたはデバイスにリダイレクトします 元のファイルに追加します2>&1 標準エラー出力を標準出力にリダイレクトします コメント :1 は標準出力を表す可能性があります >リダイレクトの例
bash コマンドの実行中には、次の 3 つの主な入力条件と出力条件があります。つまり、標準入力コードは 0 または stdin; です。出力: コードは 1; または stdout; 使用されるメソッドは 1>3 エラー出力: コードは 2; または stderr; 表示される結果は次のように出力されます。 list.txt ファイルが存在する場合は置き換えられます。
[test @test test]# ls -al > list.txt
[test @test test]# ls -al >> list.txt
[test @test test]# ls -al 1> list.txt 2> list.err
[test @test test]# ls -al 1> list.txt 2> &1
は正しいデータをlist.txtに出力し、間違ったデータを破棄します。 /dev/null はブラックホールデバイスと言えます。空の場合は保存されません。 1.4 コマンド出力リダイレクトを使用する理由
• 画面に出力された情報が重要であり、それを保存する必要がある場合
• バックグラウンドで実行されているプログラムが通常の操作を妨げないようにします。結果を出力するとき• 一部のシステム ルーチン コマンド (/etc/crontab に記述されたファイルなど) の実行結果を保存できることを期待する場合
• 一部の実行コマンドについては、発生する可能性のあるエラー メッセージがすでにわかっています。 . そこで「2> /dev/null」で破棄したい場合• エラーメッセージと正しいメッセージを別々に出力する必要がある場合。
以上がLinux におけるリダイレクトの問題についての簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。