Linuxの入出力†
入出力の基本†
パイプ†
パイプライン†
- <command1> | <command2> ※コマンドの実行結果(標準出力)を別のコマンドの標準入力に渡す
<command> | grep <keyword>
<command> | tee <file-name> ※コマンドの実行結果を画面表示とファイル出力する
cat <csv-file> | sort -k <column-number> ※指定した列でソートする
tee コマンド†
リダイレクト(リダイレクション)†
- コマンドの実行結果(標準出力)をファイルに出力
- <command> > <file> ※上書
- <command> >> <file> ※追記
- コマンドの実行結果(標準出力と標準エラー出力の両方)をファイルに出力
- <command> >& <file> ※上書
- <command> >>& <file> ※追記
- コマンドへの標準入力をファイルとしてコマンドを実行
- 特定の文字列が現れるまで入力を続ける(ヒアドキュメント)
出力先にファイルディスクリプターを指定†
- ファイルディスクリプター
- 0 -標準入力
- 1 -標準出力
- 2 -標準エラー出力
- n -任意の入出力先
出力のパターン†
- 画面:標準出力と標準エラー出力の両方を出力(ファイル:標準出力を出力)
- ファイル:標準出力と標準エラー出力の両方を出力(画面:何も出力しない)
- ファイル:標準出力を出力(画面:標準エラー出力を出力)
- ファイル:標準エラー出力を出力(画面:標準出力を出力)
- 標準エラー出力先にファイルを指定
- "2>"を使う
sh ./test.sh 2> file.log
- 出力を破棄
- 出力先に"/dev/null"を指定
- 標準出力を破棄(画面:標準エラー出力を出力)
sh ./test.sh > /dev/null
sh ./test.sh 1> /dev/null
- 標準エラー出力を破棄(画面:標準出力を出力)
sh ./test.sh 2> /dev/null
- 標準出力と標準エラー出力の両方を破棄(画面:何も出力しない)
sh ./test.sh &> /dev/null
sh ./test.sh >/dev/null 2>&1
Linuxコマンド†
echo†
tee†
- 標準入力を標準出力とファイルに出力する。
- <command> | tee <filename> ※コマンドの実行結果をファイルに出力するとともに、標準出力(デフォルトは画面)に出力する
tee -a ※ファイルに追記する
xargs†