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
LinuxCommand入門2
Search
Seiya
July 01, 2021
Technology
0
250
LinuxCommand入門2
大学サークルのイントロ用資料です
https://speakerdeck.com/silmin_/linuxcommandru-men
の続きです
Seiya
July 01, 2021
Tweet
Share
More Decks by Seiya
See All by Seiya
おうちGitLabのススメ
silmin_
3
1.2k
Git入門
silmin_
30
17k
暗号について
silmin_
0
140
LinuxCommand入門
silmin_
0
350
Webについて
silmin_
3
160
ネットワークとは
silmin_
0
220
コンピュータとは|初心者向け資料
silmin_
1
160
ビットについて|入門者向け資料
silmin_
0
190
GitLab-CIとGoogleCloudRunで作るSandBox環境
silmin_
2
240
Other Decks in Technology
See All in Technology
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
300
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
180
第65回コンピュータビジョン勉強会
tsukamotokenji
0
130
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
190
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
180
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
0
340
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
0
250
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
1.8k
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
280
クレジットカードの不正を防止する技術
yutadayo
16
7.4k
Lazy Constant - finalフィールドの遅延初期化
skrb
0
190
「O(n log(n))のパフォーマンス」の意味がわかるようになろう
dhirabayashi
0
140
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Raft: Consensus for Rubyists
vanstee
140
7.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Code Reviewing Like a Champion
maltzj
527
40k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
Linux Command 入門 2 Secprj Intro-phase
標準入力 / 標準出力 standard input / standard output
標準入力 / 標準出力 standard input / standard output
入力と出力 input / output コマンドには入力と出力となるファイルが存在する $ cp の場合は... $ cp
file1 file2 コマンド本体 引数
入力と出力 input / output コマンドには入力と出力となるファイルが存在する $ cp の場合は... $ cp
file1 file2 コマンド本体 引数 input output
入力と出力 input / output コマンドには入力と出力となるファイルが存在する $ cp の場合は... cp file2
file1 input output - inputされた ファイルを複製 - 指定された名前 でoutput
None
Terminalへの出力がある
Terminalへの出力がない
標準入力 / 標準出力 standard input / standard output
$ ls は出力先を指定してない
どうやって出力先を決めるか $ cp のように指定したわけではない Terminalがたくさんあったら? 指定してないけど,出力先が決まっている ls file1 dir/ input
Terminal output 勝手に 決まってる?
どうやって出力先を決めるか 何も指定しない場合に暗黙的に使用される 出力先のことを標準出力という (厳密にはlsが標準出力を指定している) ls file1 dir/ input Terminal standard
output 暗黙的に使用 される出力先
標準入力 / 標準出力 standard input / standard output
標準入力は標準出力の入力版 何も指定しないとき,コマンドが入力を求めた場合,標準入力から入力する 標準入力 bcコマンドは入力された文字列に対し,簡単な四則演算をして出力する
標準入力は標準出力の入力版 何も指定しないとき,コマンドが入力を求めた場合,標準入力から入力する 標準入力 bc Terminal standard output Terminal standard input
パイプとリダイレクト どちらも標準入出力を引き回す方法 パイプ |:コマンドの標準出力を他のコマンドの標準入力にする リダイレクト <, >, ...:コマンドの標準入出力を他のファイル宛にする $ ls
-l /bin | less $ bc < file1 > file2
パイプ(Pipe) コマンドの標準出力を他のコマンドの標準入力にする $ ls -l /usr/bin $ ls -l /usr/bin
| less lsの引数は何でもいい 今回はlessを使う関係上 長めなやつを選んだ
パイプ(Pipe) コマンドの標準出力を他のコマンドの標準入力にする $ ls -l /usr/bin $ ls -l /usr/bin
| less ls Terminal standard output ls Terminal output less standard output
パイプ(Pipe) コマンドの標準出力を他のコマンドの標準入力にする $ ls -l /usr/bin | less ls Terminal
output less standard output 標準出力した と思っている 標準入力された と思っている
リダイレクト(Redirect) コマンドの標準入出力を他のファイル宛にする $ bc > file2 $ bc < file1
$ bc $ bc < file1 > file2 bc Terminal standard output file1 input bc file2 output Terminal standard input bc Terminal standard output Terminal standard input bc file2 output file1 input
パイプとgrepコマンド grepコマンドは検索文字列と検索対象を受け取り,結果を出力する $ grep str file1
パイプとgrepコマンド 検索対象は標準入力から受け取ることもできる $ ls -l /usr/bin | grep apt
パイプとリダイレクトを組み合わせた例 $ tail はファイルの最後 数行のみを出力するコマンド $ cat hoge.out | grep
hoge.9 > hoge9
正規表現(regular expression) 文字列が特定のパターンにマッチするかどうかを判定してくれる このほかにもたくさんある 文字 説明 . 任意の1文字にマッチ + 直前の文字が1回以上繰り返す
* 直前の文字が0回以上繰り返す \n 改行文字 \t タブ文字 基本的な正規表現一覧 | murashun.jp https://murashun.jp/article/programming/regular-expression.html
正規表現(regular expression) CLI操作をする上で便利な場面がいくつかある $ ls -l *.py