Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
UNIX/Linuxのキモである標準入出力・リダイレクション・パイプ を説明してみよう!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
F-Yuki
January 23, 2021
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UNIX/Linuxのキモである標準入出力・リダイレクション・パイプ を説明してみよう!
F-Yuki
January 23, 2021
More Decks by F-Yuki
See All by F-Yuki
コミュニティって...いい...
7603
0
38
Gitの流れ...総復習してみた
7603
0
190
Other Decks in Programming
See All in Programming
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
ジョジョの世界をXRで再現する
mofurune
0
170
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
990
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
contenteditable と日本語入力に向き合う
colorful12
0
200
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
The Invisible Side of Design
smashingmag
301
52k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Amusing Abliteration
ianozsvald
1
350
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Unsuck your backbone
ammeep
672
58k
Transcript
2021/1/23(土) FJORD BOOT CAMP ⚡初めてのLT会 Vol.6 @フッシー(31期生) 「UNIX/Linuxのキモである 標準入出力・リダイレクション・パイプ
を説明してみよう!」 祝初LT会
〜本日のアジェンダ〜 ・フッシーって何物?(ここ重要です!w) ・標準入出力・リダイレクション・パイプを説明してみる ・まとめ
〜本日のアジェンダ〜 ・フッシーって何物?(ここ重要です!w) ・標準入出力・リダイレクション・パイプを説明してみる ・まとめ
九州男児 名前:フッシー 年齢:35歳(S.60年) 趣味:キャンプ(初心者)バスケ カラオケ(お酒が入ると) 仕事歴:2008年4月〜2011年3月 求人広告業界(営業職) 2011年4月〜現在 製薬業界(営業職) 大名エンジニアカレッジ経由でフィヨルドを知り、一月より正式に参加しています!宜しくお 願いいたします
〜本日のアジェンダ〜 ・フッシーって何物?(ここ重要です!w) ・標準入出力・リダイレクション・パイプを説明してみる ・まとめ
〜本日のアジェンダ〜 ・フッシーで何物?(ここ重要です!w) ・標準入出力・リダイレクション・パイプを説明してみる ・まとめ WHY
〜本日のアジェンダ〜 ・フッシーって何物?(ここ重要です!w) ・標準入出力・リダイレクション・パイプを説明してみる ・まとめ 終了条件 ・標準入出力・リダイレクション・パイプを他人に
説明できるぐらい理解する。
《初めは標準入出力・リダイレクション・パイプのことをどう思っていたのか》 標準入出力 →読んで字の如く、入力や出力に関する事! リダイレクション →向き変える?何らかの処理を変える? パイプ
→棒??一体何者?? よく分からん!!!
《標準入出力・リダイレクション・パイプのことを調べると...》 標準入出力 →利用されるデータの入力元を標準入力、データの出力先を標準出力と呼ぶ。 リダイレクション →「標準出力や標準入力の表示先を変更すること」 パイプ(|)
→複数のコマンドを組み合わせて使うための手段であり、コマンドの入出力を次の コマンドへ引き渡す処理。
ふむふむ 言葉の意味は理解できましたが、 でもこれだけでは実際に処理の流れはどのようなになって いるのかという疑問が出たので、 ここからは図を用い説明していきます!
シェル $ echo "hello world" ユーザがコマンド入力 《標準入力》 カーネルの処理結果をターミナルで表示で
きるようにシェルで解釈 結果を表示 《標準出力》 hello world 「標準入出力の流れ」 Linuxカーネル シェルによってカーネルが分かるように解 釈してコマンド実行 PC端末のターミナルから入力 PC端末のターミナルへ出力
シェル $ echo "hello world" > test.txt カーネルの処理結果をターミナルで表示で きるようにシェルで解釈
リダイレクション Linuxカーネル シェルによってカーネルが分かるように解 釈してコマンド実行 PC端末のターミナルから入力 PC端末のtest.txtファイルへ出力(test.txt内に保存されているイメージ) ユーザがコマンド入力 《標準入力》 結果を表示 《標準出力》
「パイプ機能の流れ」 lsの結果をsortコマンドで逆順ソート 小さなコマンドをパイプで連結することによって、複数のコマンドがまるで一 つのプログラムのように動作させる事ができます
シェル $ ls -1 | sort -r Linuxカーネル シェルによってカーネルが分かるように解 釈してコマンド実行
PC端末のターミナルから入力 PC端末のターミナルへ出力 プログラミング関連 名称未設定フォルダ ・ ・ 結果を表示 《標準出力/$ sort -r》 ユーザがコマンド入力 《標準入力/$ ls -1》 Linuxカーネル シェルによってカーネルが分かるように解 釈してコマンド実行 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 シェル カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 パイプ機能を使い $ ls -1の結果を$ sort -rへ渡す 《標準出力/$ ls -1》 パイプ機能を使い渡された結果が $ sort -rコマンド 《標準入力/$sort -r》 「|」(パイプ)
シェル $ ls -1 | sort -r Linuxカーネル シェルによってカーネルが分かるように解 釈してコマンド実行
PC端末のターミナルから入力 PC端末のターミナルへ出力 プログラミング関連 名称未設定フォルダ ・ ・ 結果を表示 《標準出力/$ sort -r》 ユーザがコマンド入力 《標準入力/$ ls -1》 Linuxカーネル シェルによってカーネルが分かるように解 釈してコマンド実行 カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 シェル カーネルの処理結果をターミナルで表示で きるようにシェルで解釈 パイプ機能を使い $ ls -1の結果を$ sort -rへ渡す 《標準出力/$ ls -1》 パイプ機能を使い渡された結果が $ sort -rコマンド 《標準入力/$sort -r》 「|」(パイプ)
〜本日のアジェンダ〜 ・フッシーって何物?(ここ重要です!w) ・標準入出力・リダイレクション・パイプを説明してみる ・まとめ
コンピュータの世界には、「入力」→「処理」→「出力」という基本的な流れ があるように、Linuxのコマンドにも入力されたデータを受け取って、処理し た結果を出力するという流れがあります。この利用されるデータの入力元 が標準入力、データの出力先が標準出力です。
この標準入力、標準出力を基本に、 ・出力先を変更する作業が「リダイレクション」
・コマンドを繋げて入出力を次のコマンドへ引き渡す処理が「パイプ 機能」です!
皆様...いかがだったでしょうか♂ この説明で伝わりましたでしょうか? Good or Bad 是非、コメントやアドバイスを頂けますと幸いです♂
参考 ・https://www.kenschool.jp/blog/?p=1143 ・https://eng-entrance.com/linux-redirect ・https://eng-entrance.com/linux-pipeline#i ・イラスト(いらすとや)https://www.irasutoya.com/ ご清聴ありがとうございました♂