Linux では、ストリームとは、特定の順序で読み取られるデータの列であるデータ フローを意味するため、データ フローの方向はデータ フローの読み取り順序になります。 Linux システムがデータを他のファイルに読み込んだ後、出力結果をインポートするプロセスは、リダイレクトされたデータ フローと呼ばれます。 Linuxでコマンドを入力して実行すると、成功した場合は標準出力、失敗した場合は標準エラー出力の2つの結果が画面に表示され、処理されなかった場合はそれらが表示されます。画面上に表示され、データ フローを通じてリダイレクトされ、他のファイルに保存できます。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux では、ストリームはデータ フローを意味します。
ストリーム (データ ストリーム) とは何ですか?
ストリーム (データ ストリーム) は、特定の順序で読み取られるデータの文字列です。データフロー データストリームの読み取り順序です。
データ ストリームは、もともと通信分野で使用される概念であり、情報の送信に使用されるデジタル的にエンコードされた一連の信号を表します。この概念は、1998 年に Henzinger によって Document 87 で初めて提案されました。彼は、データ ストリームを「所定の順序で 1 回だけ読み取ることができるデータのシーケンス」と定義しました。
Linux システムのリダイレクト データ フローは、データを他のファイルに読み込んだ後、出力結果をインポートします。
Linux データ フロー リダイレクト
データ フロー リダイレクトは、単に入力データ ソースを見つけるか、特定のコマンドの他のファイルへの出力データを見つけることです。 Linux ではすべてがファイルです。ここでのファイルは、デバイス ファイル、通常のファイルなどです。
1. stdin stdout stderr
stdin
: 標準入力。コマンドを実行するために提供されるいくつかの情報を指します。 stdout
: 標準出力。コマンドの実行によって返される正しい情報を指します。 stderr
: 標準エラー出力。コマンドの実行が失敗した後に返されるエラー メッセージを指します。
これら 3 つとコマンドの関係は通常次のとおりです。
標準出力
#stderr
stdout
#######################################ファイル########## ##########################指示#######################
#画面/ファイル ##画面/ファイル
Linux 環境では、コマンドを入力して実行すると、2 つの結果が表示されます。 the screen : 操作が成功した場合の結果は標準出力であり、操作が失敗した場合の結果は標準エラー出力です。
STDOUT と STDERR が処理されない場合は、画面に表示されます。これらは、データ フロー リダイレクトを通じて他のファイルに保存したり、ファイルに保存したりできます。特殊文字は次のとおりです。
#標準入力 stin: コードは 0、< または
<<
# を使用してください。 ##標準出力 stout: コードは 1、
または
標準エラー出力 stderr: コードは 2 、2> または 2>>
## 2. データ ストリームの使用redirection
stdout: 標準出力のリダイレクト。ここでリダイレクトされるのは正しい出力です。
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">find / -name '.bashrc' > ~/out_right</pre><div class="contentsignin">ログイン後にコピー</div></div>
このコマンドは、正しい出力をファイル ~/out_right に送ります。 ~/out_right が存在しない場合は、自動的に作成されます。エラーメッセージは処理されないため、デフォルトではエラー出力はスクリーンターミナルに出力されますが、このときターミナルにはエラー出力のみが表示されます。
stderr: 標準エラー出力のリダイレクト。ここでリダイレクトされるのはエラー出力です。
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">find / -name '.bashrc' 2> ~/out_error</pre><div class="contentsignin">ログイン後にコピー</div></div>
このコマンドは、エラー出力をファイル ~/out_error に送信します。 ~/out_error が存在しない場合は、自動的に作成されます。正しい情報が処理されないため、デフォルトでは正しい出力が画面ターミナルに出力されますが、このときターミナルには正しい出力のみが表示されます(指定されたファイルが見つからない場合、画面には出力されません)。 。
stdin: 標準入力は通常、キーボード入力の代わりに使用されます。
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">cat > catfile < ~/.bashrc</pre><div class="contentsignin">ログイン後にコピー</div></div>
cat コマンドの後にパラメータを指定しないと、cat はキーボードからデータを読み取ります。標準入力を使用して、入力ソースをファイル ~/.bashrc に指定します。次に、
を介して、catfile ファイルへの標準出力を見つけます。
cat はファイルを参照するコマンドで、ここでは
~/.bashrc ファイルを直接読み込んで
catfile に出力します。
3、 ##>>,2>>,<<#>>(
ACCUMULATION): 標準出力を追加します。 cmd > file1、コマンド cmd は、
fiel1 が以前に存在していた場合、 stdout を
file1 に出力します。データがある場合は、
file1 が事前にクリアされてから
stdout に書き込まれます。コマンド
cmd >> file1 を使用する場合、
file1 ファイルは事前にクリアされず、入力データがファイルの末尾に直接追加されます。
2>> (
cumulative): 追加の標準エラー出力。
に似ています。
<< ( は終了キーワード を指定します):
で終わる入力文字 が続きます。キーワードは単独の行に指定する必要があります。そうでない場合は無効になります。 2dfb512ab1deb54b686b0b72f6b40185
実装方法は複数あるので、よりわかりやすい記述方法を選択しましょうfind / -name .bashrc > list 2> &1 。このコードの 2>&1 は、標準エラー出力 (コード 2) を標準出力 (コード 1) にリダイレクトするものとして理解できます。次に、 は標準出力をファイル
list にリダイレクトします。標準エラー出力は標準出力として出力されるため、すべての出力は最終的にファイル
list に出力されます。
関連する推奨事項: 「
Linux ビデオ チュートリアル 」
以上がLinux におけるストリームとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。