Linux におけるリダイレクトの問題についての簡単な紹介

巴扎黑
リリース: 2017-08-05 14:25:50
オリジナル
1284 人が閲覧しました

この記事では主に 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
ログイン後にコピー

表示された結果を list.txt ファイルに蓄積します。このファイルは蓄積され、古いデータは保持されます。

[test @test test]# ls -al >> list.txt
ログイン後にコピー
表示されているデータは正しくlist.txtに出力し、間違っているデータはlist.errに出力します

[test @test test]# ls -al 1> list.txt  2> list.err
ログイン後にコピー

表示されているデータは正しいか間違っているかに関係なくlist.txtに出力します!エラーファイルと正しいファイルが同じファイルに出力される場合は、上記の方法で書き込む必要があります。他の形式では書き込めません。


[test @test test]# ls -al 1> list.txt 2> &1
ログイン後にコピー

は正しいデータをlist.txtに出力し、間違ったデータを破棄します。 /dev/null はブラックホールデバイスと言えます。空の場合は保存されません。 1.4 コマンド出力リダイレクトを使用する理由

• 画面に出力された情報が重要であり、それを保存する必要がある場合

• バックグラウンドで実行されているプログラムが通常の操作を妨げないようにします。結果を出力するとき

• 一部のシステム ルーチン コマンド (/etc/crontab に記述されたファイルなど) の実行結果を保存できることを期待する場合

• 一部の実行コマンドについては、発生する可能性のあるエラー メッセージがすでにわかっています。 . そこで「2> /dev/null」で破棄したい場合

• エラーメッセージと正しいメッセージを別々に出力する必要がある場合。

以上がLinux におけるリダイレクトの問題についての簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート