MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Linux 出力結果の受け渡し
profile-img
投稿者: fujioka090...さん
投稿日:2021/12/15 13:56
更新日:
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守
投稿内容
今回はLinuxで出力結果の操作ができる要素の|(パイプライン)と<>(リダイレクト)について説明していきます。

まず、|(パイプライン)について説明します。

(パイプライン)(パイプライン)の前にあるコマンドを後へ渡す役割を持っています。

下記に具体的なコマンドを示して説明します。
cat fileA | grep "Microsoft"

これは、catコマンドで読み込んだfileAの内容を|の後にあるgrepへ渡して、Microsoftというキーワードが含まれている行を表示するというコマンドになります。

このように|(パイプライン)は前のコマンドの出力結果を受け渡すことができ、複数のコマンドを組み合わせることができます。


次に<>(リダイレクト)について説明します。

Linuxでは特に指定がない場合、入力のことを「標準入力」、出力のことを「標準出力」といいます。標準入力とはLinuxの端末画面へ入力したコマンドや引数のことで、標準出力とは端末画面へ表示されるプログラムの出力結果のことです。また、エラーが発生した場合は「標準エラー出力」といいます。下記に標準入出力についてまとめた表を示します。


これら標準入力や出力の操作を行うのが<>(リダイレクト)という要素です。

下記にコマンドの具体例を示します。

ls -l > filelist

このコマンドは、ls -lコマンドの出力結果を「filelist」という名前をつけて保存します。通常であれば端末画面へ標準出力が表示されるのですが、出力先を<>(リダイレクト)によって変更することでファイル出力することも可能です。


次に示す例は、標準入力と標準出力を変更した場合になります。

grep "Azure" < Microsoft.txt > result.txt

これは、grepコマンドの入力として「Microsoft.txt」が使用され、その標準出力の結果を「result.txt」として保存するコマンドとなります。先ほどのコマンドでは標準出力のみ変更しましたが、このように標準入力も<>(リダイレクト)によって変更することができます。


コマンド実行時にエラーが発生することがあります。そのエラーメッセージを保存しておきたい場合にも<>(リダイレクト)は使えます。

例えば下記のような書式でコマンドを入力すると、保存できます。

エラーが発生したコマンド 2> ファイル名


今回は出力結果の操作を行うコマンド、|(パイプライン)と<>(リダイレクト)について説明しました。

どちらもよく使用されている要素なので、現場でも使えるようにしっかり勉強しようと思います。


参考URL・書籍

・LPICレベル1 Version4.0対応

【Ubuntu】 リダイレクトとパイプライン処理 | Hbk project (hibiki-press.tech)

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3