今日、私は自分の技術グループで別の質問をしましたので、一般的な方法で説明して記録しました。説明が明確かどうか見てみましょう。
シェルは次のように表示されることがよくあります。> /dev /null 2>& 1
コマンドの結果は%>
の形式で定義できます。次の組み合わせを分解します。'> /dev /null 2>& 1< 1" 5つの部分。
1:>リダイレクト先を表します。例:空のデバイスファイルの場合はecho" 123" /home/123.txt2:/dev/null標準エラー4の場合は3:2> &は等価、2>& 1を意味し、2の出力リダイレクトが標準出力の15:1と等価で、システムのデフォルトは1であるため、> /dev /nullと等価です。 1> /dev /null"
したがって、> /dev /null 2>&1;は' 1> /dev /null 2>& 1< 1<< p> 1> /dev /null:最初に、標準出力は空のデバイスファイルにリダイレクトされます、つまり、端末には情報が出力されません。 2>& 1:次に、標準出力は空のデバイスファイルにリダイレクトされているため、標準エラー出力は標準出力にリダイレクトされ、標準エラー出力も空のデバイスファイルにリダイレクトされます。
あなたは明らかですか、誰もがそれを理解しています!
ところで、この用途の利点を比較してください。
最も一般的な方法は次のとおりです。
コマンド>ファイル2>ファイルとコマンド>ファイル2>& 1
違いはありますか。
最初のコマンド> file 2> fileは、コマンドによって生成された標準出力情報と間違った出力情報をfile.command> file 2> fileに送信することを意味します。このように、stdoutとstderrこれらは直接ファイルに送信され、ファイルは2回開かれるので、stdoutとstderrはお互いに上書きして、FD1とFD2を使ってファイルを取得します。 > file 2> 1コマンドはstdoutを直接fileに送信し、stderrがFD1パイプラインを継承した後にfileに送信されますが、このときfileは1回だけ開かれ、1つのパイプラインのみが使用されます。 FD1。stdoutとstderrの内容を含みます。 IOの効率から、前のコマンドの効率が後者のコマンドの効率よりも低いため、シェルスクリプトを作成するときは、コマンド> file 2>& 1を頻繁に作成します。
オープンファイルが多すぎるエラーはネットワーク上での一般的な障害であり、解決策はネットワーク上で簡単に見つけることができるオープンファイルに関するLinuxシステム構成ファイルの制限表設定値を超えると
Linuxでのディスクパーティション、ファイルシステムのフォーマットとRAIDデバイス Linuxシステムでのディスクパーティションのフォーマットの比較 Windows ブートディスクを挿入するのは非
企業のお客様は、SCOMのインストール時に指定された運用データベースおよびデータウェアハウスに格納されている、常時生成されるアラーム、パフォーマンス、情報データの後ろにSCOM2012をインストール
で複数のIPアドレスと複数のネットワーク・カードで構成された負荷分散ネットワークアダプタを達成するためにどのように Linuxでは、私たちは、ネットワークカードに複数のIPアドレスを設定し、マシンと負