Linuxのリダイレクトechoコマンドや|(パイプ)をお勉強

インフラエンジニアというわけではないのですがAWS好きなのでLinuxを基礎から学びなおしている猫だくさんです。

甥にプログラムはいいぞといい続けてついにパソコン買わせることに成功しました。(いくらかお金は出しました)
これでネトゲ廃人になったりしたらギャグなのですが、鬱陶しいおじさんと思われない程度にWeb開発の楽しさを伝えて行こうと思います。

完全に余談でした。
今回はLinuxで何らかの出力する際に使うことが多いリダイレクトについて学んでいきたいと思います。

前回のあらすじ

前回はfileコマンドについて学びました。
https://nekodakusan.com/linux_file/

Linuxにおけるリダイレクトとは

Linuxのコンソール画面でコマンドを打った場合結果はコンソール上に標準出力・もしくは標準エラー出力されます。
それらの結果をファイルに転送(リダイレクト)することを言います。

他にはファイルからコマンドに対して標準入力を送るなど様々なリダイレクト方法がありますが、今回はechoコマンドの使い方を学びます。

echoコマンドについて

コマンドの後に指定した文字をコンソール上に標準出力するコマンドです。

リダイレクトもうちょい詳しく

ここからは実際にコマンドをうってみるのですが、仮想環境としてEnvaderを使用しています。

普通にechoコマンドを打つとコンソール上に標準出力されます。

echo hello work
# 標準出力
hello work

これだと文字を表示させただけに過ぎないので、ファイルに保存したい際に>記号などを使います。

echo hello work > hello.txt
cat hello.txt
hello work

他の使い方

>>でつなぐことで追記できます。

echo say hello world >> hello.txt
cat hello.txt
hello work
say hello world

使うのは主に上記の2つですが、この他に以下があります。

記号説明
<標準入力へのリダイレクト
<<入力終端文字指定
2>標準エラー出力をファイルに出力
2>&1標準出力・標準エラー出力をファイルに出力

|(パイプ)について

もうひとつよく使う|記号について役割を学びます。
これはコマンドとコマンドをつなぐ際に使用する記号です。

コマンド1の標準出力をパイプでつなぐとコマンド2の標準入力とすることができます。

コマンド1 | コマンド2

|(パイプ)の使い方

$ ps aux | grep nginx
root      1037  0.0  0.1 141124  1488 ?        Ss    2021   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  1041  0.0  0.2 143944  2808 ?        S     2021   0:11 nginx: worker process
prostudy  5347  0.0  0.1  15888  1076 pts/3    S+   21:06   0:00 grep --color=auto nginx

こちらの出力内容も>>>でファイルにリダイレクトすることができます。

引用:【Linuxコマンド】echo、パイプの使い方について

学んだこと

  • 出力結果をファイルに保存する方法を学びました。
  • |(パイプ)が出力と入力をつなぐということを学びました。

次回は標準入出力を詳しく学んでいきます。

あ、犬とか猫はそのへんで転がってます。

参考資料

ネットワークエンジニアのランチ
ネットワークエンジニアのランチ
コース一覧 | エンベーダー
コース一覧に関するページです。Linuxを学べるLinux基礎・応用コースを始めとして、エンジニア必須の知識であるデータベースやセキュリティのコースもあります。

コメント