Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20200124_stdio_cli
Search
takusamar
January 24, 2020
Programming
0
44
20200124_stdio_cli
黒い画面で 標準入出力を使おう
2020/01/24 (Fri)
黒い画面おきなわ
takusamar
January 24, 2020
Tweet
Share
More Decks by takusamar
See All by takusamar
20240416_SuperMaskedDevOps
takusamar
1
1.1k
20230826_ScrumFestSendai_iwamu
takusamar
0
950
20230520_ScrumFestNiigata_iwamu
takusamar
0
450
20230414_JBUG_Okinawa#4_iwamu
takusamar
0
1.1k
20230411_ChatGPT_iwamu
takusamar
0
280
20230304_ScrumFestFukuoka_iwamu
takusamar
1
1k
20221213_devPM_iwamu
takusamar
0
300
20221119_FrontendConfOkinawa_iwamu
takusamar
0
250
20211105_ScrumFestSapporo_iwamu
takusamar
0
740
Other Decks in Programming
See All in Programming
fs2-io を試してたらバグを見つけて直した話
chencmd
0
280
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
540
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
980
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
320
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
210
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
720
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
820
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
240
Оптимизируем производительность блока Казначейство
lamodatech
0
880
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
790
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
5.8k
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
270
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
97
17k
Embracing the Ebb and Flow
colly
84
4.5k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Making Projects Easy
brettharned
116
6k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Become a Pro
speakerdeck
PRO
26
5.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
2
160
Transcript
黒い画面で 標準入出力を使おう 2020/01/24 (Fri) 黒い画面おきなわ YogAgile Engineer 岩村 琢 @takusamar
基本情報 H28春 午前 問18 UNIXにおいて、あるコマンドの標準出力を、直接別のコマンドの標準入力に つなげる機能はどれか。 (ア) パイプ (イ) バックグラウンドジョブ
(ウ) ブレース展開 (エ) リダイレクト
基本情報 H24春 午前 問24 シェルのリダイレクト機能による実現の可否に関する記述のうち、 適切なものはどれか。 (ア) 標準出力をファイルに切り替えることはできないが、 標準入力をファイルに切り替えることはできる。 (イ)
標準出力をファイルに追加することはできないが、 標準入力と標準出力をファイルに切り替えることはできる。 (ウ) 標準入力と標準出力をファイルに切り替えることができ、 標準出力をファイルに追加することもできる。 (エ) 標準入力をファイルに切り替えることはできないが、 標準出力をファイルに切り替えることはできる。
標準入出力のイメージ Wikipediaより
リダイレクト ファイルから入力 #1 stdout ProcessA #2 stderr $ ProcessA <
File0 File0 Display #0 stdin
リダイレクト ファイルへ出力 #1 stdout ProcessA #2 stderr $ ProcessA >
File1 #0 stdin File1 Keyboard
リダイレクト ファイルから入力、ファイルへ出力 #1 stdout ProcessA #2 stderr $ ProcessA <
File0 > File1 #0 stdin File1 File0
リダイレクト 通常の出力とエラー出力を分ける #1 stdout ProcessA #2 stderr $ ProcessA 1>
File1 2> File2 File1 File2
リダイレクト エラー出力を捨てる場合 #1 stdout Process A #2 stderr $ ProcessA
1> File1 2>/dev/null File 1 /dev/null
パイプ 前の出力を次の入力に使う #1 stdout ProcessA ProcessB #2 stderr $ ProcessA
| ProcessB #0 stdin
パイプ どんどん繋げられる #1 ProcessA ProcessB #2 $ ProcessA | ProcessB
| ProcessC #0 #1 ProcessC #2 #0
パイプとリダイレクトの組合せも可 $ ProcessA 1>/dev/null | ProcessB > File1 File1 #1
ProcessA ProcessB #2 #0 #1 #2 #0 /dev/null
知っておくと便利なコマンド cat ファイルまたは標準入力の内容を、そのまま標準出力に出力する head ファイルまたは標準入力の先頭n行を、標準出力に出力する tail ファイルまたは標準入力の末尾n行を、標準出力に出力する grep ファイルまたは標準入力から正規表現でマッチする行を探す sed
文字列を置換したり、行単位で抽出したり、削除したり、いろいろなテキスト 処理ができる find ディレクトリの中を再帰的にたどってファイルを検索する xargs ファイル名の一覧を標準入力から受け取って、それらのファイルに対して 任意のコマンドを実行する
基本情報 H28春 午前 問18 UNIXにおいて、あるコマンドの標準出力を、直接別のコマンドの標準入力に つなげる機能はどれか。 (ア) パイプ (イ) バックグラウンドジョブ
(ウ) ブレース展開 (エ) リダイレクト
基本情報 H24春 午前 問24 シェルのリダイレクト機能による実現の可否に関する記述のうち、 適切なものはどれか。 (ア) 標準出力をファイルに切り替えることはできないが、 標準入力をファイルに切り替えることはできる。 (イ)
標準出力をファイルに追加することはできないが、 標準入力と標準出力をファイルに切り替えることはできる。 (ウ) 標準入力と標準出力をファイルに切り替えることができ、 標準出力をファイルに追加することもできる。 (エ) 標準入力をファイルに切り替えることはできないが、 標準出力をファイルに切り替えることはできる。