インフラエンジニアというわけではないのですが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、パイプの使い方について
学んだこと
- 出力結果をファイルに保存する方法を学びました。
- |(パイプ)が出力と入力をつなぐということを学びました。
次回は標準入出力を詳しく学んでいきます。
あ、犬とか猫はそのへんで転がってます。
コメント