makoto_blog

パパさん_blog

プログラミング勉強メモや雑記など。

Linux シェル(2) リダイレクト・パイプ

標準入出力

リダイレクト

リダイレクトはコマンドの標準出力を端末画面ではなく任意のファイルに切り替える。

mhaya@mhaya-V5-131:~/work/lpic$ date
2018年  9月 23日 日曜日 08:49:07 JST
mhaya@mhaya-V5-131:~/work/lpic$ date > today.txt
mhaya@mhaya-V5-131:~/work/lpic$ cat today.txt 
2018年  9月 23日 日曜日 08:49:15 JST

上では、>によって出力先を画面上ではなくファイルに切り替えたのですね。

mhaya@mhaya-V5-131:~/work/lpic$ date >> today.txt
mhaya@mhaya-V5-131:~/work/lpic$ cat today.txt 
2018年  9月 23日 日曜日 08:49:15 JST
2018年  9月 23日 日曜日 08:52:01 JST

追記リダイレクトは>>ですね。

標準エラー出力をリダイレクト

2> または 2>> を使う。

mhaya@mhaya-V5-131:~/work/lpic$ ll aaa 2> err.txt
mhaya@mhaya-V5-131:~/work/lpic$ ls
dr      err.txt  services     shot.png   shot3.png   today.sym
dr.tar  m.txt    services.gz  shot2.png  today.hard  today.txt
mhaya@mhaya-V5-131:~/work/lpic$ cat err.txt
ls: 'aaa' にアクセスできません: そのようなファイルやディレクトリはありません

パイプ

パイプはコマンドの実行結果を別のコマンドで処理できる。

例:1画面に収まりきらない出力をlessコマンドで表示。

history | less

ちなみに、historyで履歴番号を見てからぬけて、
「!履歴番号」でそのコマンドを再実行できるよ。

Tabキーの二回押し

候補が表示されるよ。

エイリアス

引数なしのaliasコマンドで、設定済のエイリアス一覧が表示されるよ。