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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
36
Gitの流れ...総復習してみた
7603
0
190
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
350
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
1
9.2k
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
650
Are APIs Still Relevant in the AI Era?
soyuka
0
300
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
500
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
Building an Out-of-Order CPU
latte72
1
790
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
15
12k
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
200
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
How to Ace a Technical Interview
jacobian
281
24k
Prompt Engineering for Job Search
mfonobong
0
460
Mind Mapping
helmedeiros
1
370
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
Tell your own story through comics
letsgokoyo
1
1.1k
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/ ご清聴ありがとうございました♂