Slide 1

Slide 1 text

2021/1/23(土) FJORD BOOT CAMP ⚡初めてのLT会 Vol.6
                   @フッシー(31期生) 
 
 「UNIX/Linuxのキモである
   標準入出力・リダイレクション・パイプ
                 を説明してみよう!」
 祝初LT会


Slide 2

Slide 2 text

〜本日のアジェンダ〜
 
 ・フッシーって何物?(ここ重要です!w)
 
 ・標準入出力・リダイレクション・パイプを説明してみる
 
 ・まとめ


Slide 3

Slide 3 text

〜本日のアジェンダ〜
 
 ・フッシーって何物?(ここ重要です!w)
 
 ・標準入出力・リダイレクション・パイプを説明してみる
 
 ・まとめ


Slide 4

Slide 4 text

九州男児
 名前:フッシー
 年齢:35歳(S.60年)
 趣味:キャンプ(初心者)バスケ カラオケ(お酒が入ると)
 仕事歴:2008年4月〜2011年3月 求人広告業界(営業職)
     2011年4月〜現在 製薬業界(営業職)
 大名エンジニアカレッジ経由でフィヨルドを知り、一月より正式に参加しています!宜しくお 願いいたします


Slide 5

Slide 5 text

〜本日のアジェンダ〜
 
 ・フッシーって何物?(ここ重要です!w)
 
 ・標準入出力・リダイレクション・パイプを説明してみる
 
 ・まとめ


Slide 6

Slide 6 text

〜本日のアジェンダ〜
 
 ・フッシーで何物?(ここ重要です!w)
 
 ・標準入出力・リダイレクション・パイプを説明してみる
 
 ・まとめ
 WHY


Slide 7

Slide 7 text

〜本日のアジェンダ〜
 
 ・フッシーって何物?(ここ重要です!w)
 
 ・標準入出力・リダイレクション・パイプを説明してみる
 
 ・まとめ
 
 終了条件
 ・標準入出力・リダイレクション・パイプを他人に
  説明できるぐらい理解する。
 


Slide 8

Slide 8 text

《初めは標準入出力・リダイレクション・パイプのことをどう思っていたのか》 
 
 標準入出力
 →読んで字の如く、入力や出力に関する事!
 
 リダイレクション
 →向き変える?何らかの処理を変える?
 
 パイプ
 →棒??一体何者??
 よく分からん!!!


Slide 9

Slide 9 text

《標準入出力・リダイレクション・パイプのことを調べると...》 
 
 標準入出力
 →利用されるデータの入力元を標準入力、データの出力先を標準出力と呼ぶ。
 
 リダイレクション
 →「標準出力や標準入力の表示先を変更すること」  
 
 パイプ(|)
 →複数のコマンドを組み合わせて使うための手段であり、コマンドの入出力を次の  コマンドへ引き渡す処理。
  


Slide 10

Slide 10 text

ふむふむ 言葉の意味は理解できましたが、
 
 
 でもこれだけでは実際に処理の流れはどのようなになって
 いるのかという疑問が出たので、
 
 
 ここからは図を用い説明していきます!
 
 


Slide 11

Slide 11 text

シェル
 $ echo "hello world" 
 ユーザがコマンド入力 
 《標準入力》
 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 
 結果を表示
 《標準出力》
 hello world 
 「標準入出力の流れ」
 Linuxカーネル
 シェルによってカーネルが分かるように解 釈してコマンド実行 
 PC端末のターミナルから入力 
 PC端末のターミナルへ出力 


Slide 12

Slide 12 text

シェル
 $ echo "hello world" > test.txt 
 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 
 リダイレクション
 Linuxカーネル
 シェルによってカーネルが分かるように解 釈してコマンド実行 
 PC端末のターミナルから入力 
 PC端末のtest.txtファイルへ出力(test.txt内に保存されているイメージ) 
 ユーザがコマンド入力 
 《標準入力》
 結果を表示
 《標準出力》


Slide 13

Slide 13 text

「パイプ機能の流れ」
 lsの結果をsortコマンドで逆順ソート
 
 小さなコマンドをパイプで連結することによって、複数のコマンドがまるで一 つのプログラムのように動作させる事ができます


Slide 14

Slide 14 text

シェル
 $ ls -1 | sort -r 
 Linuxカーネル
 シェルによってカーネルが分かるように解 釈してコマンド実行 
 PC端末のターミナルから入力 
 PC端末のターミナルへ出力 
 プログラミング関連 
 名称未設定フォルダ      ・         ・    結果を表示
 《標準出力/$ sort -r》
 ユーザがコマンド入力 
 《標準入力/$ ls -1》
 Linuxカーネル
 シェルによってカーネルが分かるように解 釈してコマンド実行 
 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 
 シェル
 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 
 
 パイプ機能を使い $ ls -1の結果を$ sort -rへ渡す
 《標準出力/$ ls -1》
 
 パイプ機能を使い渡された結果が $ sort -rコマンド
 《標準入力/$sort -r》
 「|」(パイプ)


Slide 15

Slide 15 text

シェル
 $ ls -1 | sort -r 
 Linuxカーネル
 シェルによってカーネルが分かるように解 釈してコマンド実行 
 PC端末のターミナルから入力 
 PC端末のターミナルへ出力 
 プログラミング関連 
 名称未設定フォルダ      ・         ・    結果を表示
 《標準出力/$ sort -r》
 ユーザがコマンド入力 
 《標準入力/$ ls -1》
 Linuxカーネル
 シェルによってカーネルが分かるように解 釈してコマンド実行 
 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 
 シェル
 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 
 
 パイプ機能を使い $ ls -1の結果を$ sort -rへ渡す
 《標準出力/$ ls -1》
 
 パイプ機能を使い渡された結果が $ sort -rコマンド
 《標準入力/$sort -r》
 「|」(パイプ)


Slide 16

Slide 16 text

〜本日のアジェンダ〜
 
 ・フッシーって何物?(ここ重要です!w)
 
 ・標準入出力・リダイレクション・パイプを説明してみる
 
 ・まとめ


Slide 17

Slide 17 text

コンピュータの世界には、「入力」→「処理」→「出力」という基本的な流れ があるように、Linuxのコマンドにも入力されたデータを受け取って、処理し た結果を出力するという流れがあります。この利用されるデータの入力元 が標準入力、データの出力先が標準出力です。


Slide 18

Slide 18 text

この標準入力、標準出力を基本に、
 ・出力先を変更する作業が「リダイレクション」

Slide 19

Slide 19 text

・コマンドを繋げて入出力を次のコマンドへ引き渡す処理が「パイプ 機能」です!
 


Slide 20

Slide 20 text

皆様...いかがだったでしょうか‍♂
 この説明で伝わりましたでしょうか?
 
 
 Good or Bad
 
 
 是非、コメントやアドバイスを頂けますと幸いです‍♂


Slide 21

Slide 21 text

参考
 ・https://www.kenschool.jp/blog/?p=1143
 ・https://eng-entrance.com/linux-redirect
 ・https://eng-entrance.com/linux-pipeline#i
 ・イラスト(いらすとや)https://www.irasutoya.com/
 ご清聴ありがとうございました‍♂