【Linuxコマンド】標準入力、標準出力、標準エラー出力(stdin、stdout、stderr)

Linuxコマンドで標準入力、標準出力、標準エラー出力とエラー表示(stdin、stdout、stderr)を行う方法についてオプションと例題付きでまとめました。

【stdin】ファイルの種類を表示

標準入力、標準出力、標準エラー出力の意味と違いは以下のとおりです。

項目 概要
標準入力(standard input:stdin) プログラムが、特に何も指定されていない場合に標準的に利用するデータ入力元。
標準出力(standard output:stdout) プログラムが、特に何も指定されていない場合に標準的に利用するデータ出力先。
標準エラー出力(standard error:stderr) プログラムが、特に何も指定されていない場合にエラーメッセージや診断メッセージの出力に特化したデータ出力先。

【動作順序】
標準入力 -> プログラム(Linuxコマンド) -> 標準出力 or 標準エラー出力 -> ターミナル(CLI)

【例】標準入力、標準出力、標準エラー出力

echoコマンドで以下のように入力すると「うまぴょい」と表示されます。
これはキーボードで、echoコマンドで「うまぴょい」と標準入力し、その入力値(うまぴょい)がそのまま標準出力されたことを意味します。

$ echo 'うまぴょい' 

うまぴょい

※上の1行目の引数(‘うまぴょい’)が標準入力値、3行目の(うまぴょい)が標準出力値

次に、

$ echo うまぴょい 


【補足】リダイレクト

リダイレクトとは、コマンドの最後に「> 出力先ファイル」と記述することで標準出力をファイルに保存できる機能です。
例えば、以下のように記述すると、「result.txt」に「うまぴょい」が書き込まれます。

$ echo 'うまぴょい' > result.txt

他にも、「>」以外に「>>」などと書くと以下の動作になります。

記述例 動作
コマンド >> 出力先ファイル 出力がファイルに追記されます。(元のファイル内容の後ろに新しい出力結果が追記される)
コマンド 2> 出力先ファイル 標準エラー出力をファイルに保存。
コマンド > 出力先ファイル 2>&1 標準出力と標準エラー出力の両方をファイルに保存。

※■数字の意味(入出力を意味する割り振り番号)
0…標準入力
1…標準出力
2…標準エラー出力

【補足】パイプ

パイプは、記号 | で複数のコマンド同士をつなぎます。
そして、繋いだうちの1つ目のコマンドの標準出力を、2つ目のコマンドの標準入力にできます。

■例

ls | cat > result.txt 

上記の例だと、まずlsでカレントディレクトリの中身を調べた結果を、catの標準入力としています。
そして、catで一覧表示された現在のディレクトリの中身をresult.txtに保存しています。

【Linuxコマンド入門】主なコマンドとサンプル集
Linuxコマンドの主な使い方とサンプル集について入門者向けにまとめました。

コメント

タイトルとURLをコピーしました