Slide 1

Slide 1 text

黒い画面で 標準入出力を使おう 2020/01/24 (Fri) 黒い画面おきなわ YogAgile Engineer 岩村 琢 @takusamar

Slide 2

Slide 2 text

基本情報 H28春 午前 問18 UNIXにおいて、あるコマンドの標準出力を、直接別のコマンドの標準入力に つなげる機能はどれか。 (ア) パイプ (イ) バックグラウンドジョブ (ウ) ブレース展開 (エ) リダイレクト

Slide 3

Slide 3 text

基本情報 H24春 午前 問24 シェルのリダイレクト機能による実現の可否に関する記述のうち、 適切なものはどれか。 (ア) 標準出力をファイルに切り替えることはできないが、 標準入力をファイルに切り替えることはできる。 (イ) 標準出力をファイルに追加することはできないが、 標準入力と標準出力をファイルに切り替えることはできる。 (ウ) 標準入力と標準出力をファイルに切り替えることができ、 標準出力をファイルに追加することもできる。 (エ) 標準入力をファイルに切り替えることはできないが、 標準出力をファイルに切り替えることはできる。

Slide 4

Slide 4 text

標準入出力のイメージ Wikipediaより

Slide 5

Slide 5 text

リダイレクト ファイルから入力 #1 stdout ProcessA #2 stderr $ ProcessA < File0 File0 Display #0 stdin

Slide 6

Slide 6 text

リダイレクト ファイルへ出力 #1 stdout ProcessA #2 stderr $ ProcessA > File1 #0 stdin File1 Keyboard

Slide 7

Slide 7 text

リダイレクト ファイルから入力、ファイルへ出力 #1 stdout ProcessA #2 stderr $ ProcessA < File0 > File1 #0 stdin File1 File0

Slide 8

Slide 8 text

リダイレクト 通常の出力とエラー出力を分ける #1 stdout ProcessA #2 stderr $ ProcessA 1> File1 2> File2 File1 File2

Slide 9

Slide 9 text

リダイレクト エラー出力を捨てる場合 #1 stdout Process A #2 stderr $ ProcessA 1> File1 2>/dev/null File 1 /dev/null

Slide 10

Slide 10 text

パイプ 前の出力を次の入力に使う #1 stdout ProcessA ProcessB #2 stderr $ ProcessA | ProcessB #0 stdin

Slide 11

Slide 11 text

パイプ どんどん繋げられる #1 ProcessA ProcessB #2 $ ProcessA | ProcessB | ProcessC #0 #1 ProcessC #2 #0

Slide 12

Slide 12 text

パイプとリダイレクトの組合せも可 $ ProcessA 1>/dev/null | ProcessB > File1 File1 #1 ProcessA ProcessB #2 #0 #1 #2 #0 /dev/null

Slide 13

Slide 13 text

知っておくと便利なコマンド cat ファイルまたは標準入力の内容を、そのまま標準出力に出力する head ファイルまたは標準入力の先頭n行を、標準出力に出力する tail ファイルまたは標準入力の末尾n行を、標準出力に出力する grep ファイルまたは標準入力から正規表現でマッチする行を探す sed 文字列を置換したり、行単位で抽出したり、削除したり、いろいろなテキスト 処理ができる find ディレクトリの中を再帰的にたどってファイルを検索する xargs ファイル名の一覧を標準入力から受け取って、それらのファイルに対して 任意のコマンドを実行する

Slide 14

Slide 14 text

基本情報 H28春 午前 問18 UNIXにおいて、あるコマンドの標準出力を、直接別のコマンドの標準入力に つなげる機能はどれか。 (ア) パイプ (イ) バックグラウンドジョブ (ウ) ブレース展開 (エ) リダイレクト

Slide 15

Slide 15 text

基本情報 H24春 午前 問24 シェルのリダイレクト機能による実現の可否に関する記述のうち、 適切なものはどれか。 (ア) 標準出力をファイルに切り替えることはできないが、 標準入力をファイルに切り替えることはできる。 (イ) 標準出力をファイルに追加することはできないが、 標準入力と標準出力をファイルに切り替えることはできる。 (ウ) 標準入力と標準出力をファイルに切り替えることができ、 標準出力をファイルに追加することもできる。 (エ) 標準入力をファイルに切り替えることはできないが、 標準出力をファイルに切り替えることはできる。