Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ターミナルと仲良くなろう / Let's get to know the terminal.
Search
kubo-sr
November 13, 2020
0
24
ターミナルと仲良くなろう / Let's get to know the terminal.
kubo-sr
November 13, 2020
Tweet
Share
More Decks by kubo-sr
See All by kubo-sr
現代的 PHP アプリの作り方 / How to build a modern PHP application
kubosr
0
40
サービスを継続させるために / What we can do to keep the service going
kubosr
0
48
Featured
See All Featured
Visualization
eitanlees
150
16k
Writing Fast Ruby
sferik
630
62k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to Ace a Technical Interview
jacobian
281
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Pragmatic Product Professional
lauravandoore
37
7.1k
A designer walks into a library…
pauljervisheath
210
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Being A Developer After 40
akosma
91
590k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
λʔϛφϧͱྑ͘ͳΖ͏
λʔϛφϧͱ
λʔϛφϧͱ • Terminal.app ͳͲ • 19xx ɺਓίϯιʔϧ͔Βί ϯϐϡʔλʔʹଓ͍ͯͨ͠ • ʹ͋ΔͷͰλʔϛφϧ
• Terminal.app ΤϛϡϨʔλʔ
λʔϛφϧͱ γΣϧ • λʔϛφϧΛ։͘ͱσϑΥϧτ γΣϧ͕ىಈ͢Δ • Χʔωϧ (OS ຊମ) ͱϢʔβʔͷ
ೖग़ྗΛհͯ͘͠ΕΔ • Bourne Shell ͷੜ͕Α͘Θ ΕΔ (ash, ksh, bash...) • macOS ͷσϑΥϧτ zsh (10.15 ~)
λʔϛφϧͱ ίϚϯυ • POSIX ඪ४ʹجຊίϚϯυҰཡ͕ ͋Δ • ls, cd ͳͲ
• ͜ΕΛ͓΅͓͚͑ͯͳΜͱ͔ ͳΔ • ୳͢ͷେมͳͷͰ Wikipedia • ࣮ߦ͢Δͱޭɾࣦഊ͕Θ͔Δ • $? • echo $?
λʔϛφϧͱ ύʔϛογϣϯ • ϑΝΠϧϑΥʔϚοτͱผʹ ࣮ߦͰ͖Δ͔Ͳ͏͔ܾΊΔཁૉ͕ ͋Δ • ύʔϛογϣϯ • read
- write - execute Λ 3bit Ͱ ཧ • σΟϨΫτϦͷ execute ͦͷ σΟϨΫτϦ (ͱத) ʹΞΫη εͰ͖Δ͔
λʔϛφϧͱ ॴ༗ऀ • ͯ͢ͷϑΝΠϧॴ༗ऀ (User) ͱάϧʔϓ (Group) ͕͋Δ • ॴ༗ऀɺάϧʔϓɺͦͷଞʹର͠
ͯઌͷݖݶΛࢦఆ͢Δ • ͳͷͰ 9bit ͬͯදݱͰ͖Δ
User - Group - Other
λʔϛφϧͷ͍ํ
λʔϛφϧͷ͍ํ ڥม • ࡞ۀσΟϨΫτϦ pwd ίϚϯυͰΘ ͔Δ • Α͘ΘΕΔσΟϨΫτϦ͕͋Δ •
Filesystem Hierarchy Standard • hier(7) • ϑΝΠϧ ύε (ϑΝΠϧͷͨͲΓண ͖ํ) Λ͏·͓͘͏ • ૬ରύε (࡞ۀσΟϨΫτϦ͔ΒΈ ͨύε) • ઈରύε (/ ͔ΒΈͨύε)
λʔϛφϧͷ͍ํ ϚχϡΞϧ • ίϚϯυʹݶΒͣͯ͢ॻ͔Εͯ ͍Δ • man(1) ίϚϯυʹΑΓݟΕΔ • man
keyword • ׳शͱͯ͠Ωʔϫʔυͷޙʹׅހ ͱࣈͰηΫγϣϯΛࣔ͢ • ηΫγϣϯҰཡ͕ man(1) ʹ͋ Δ
λʔϛφϧͷ͍ํ ऴྃ • ίϚϯυΛ࣮ߦ͢Δͱ (ॲཧ͕ऴ ྃ͠ͳ͚Ε) ಈ͖ଓ͚Δ • ॲཧ͕ऴΘͬͯػ͢Δͱ͖
• ͦΕͰऴΘΒ͍ͤͨͱ͖ίϚ ϯυʹରͯ͠γάφϧΛૹ৴ͯ͠ ऴΘΒͤΑ͏
λʔϛφϧͷ͍ํ γάφϧ • ϓϩάϥϜʹಛఆͷಈ࡞Λཁٻ͢ Δ੍ޚίʔυ • λʔϛφϧ্Ͱ Ctrl ͱΩʔΛΈ ߹Θͤͯૹ৴Ͱ͖Δ
• (Foreground ͷΈ) • ϓϩάϥϜΛऴ͍ྃͤͨ͞ͱ͖ Ctrl + C • kill ίϚϯυͰૹ৴Ͱ͖Δ
λʔϛφϧͷ͍ํ ੍ޚจࣈ • λʔϛφϧ্Ͱೖྗͨ͠γάφϧͷ࣮ମ ੍ޚจࣈ • ASCII ͰΞϧϑΝϕοτΑΓલʹఆٛ͞Εͯ ͍Δ •
λʔϛφϧ্Ͱ Ctrl ͱڞʹ ASCII จࣈΛೖ ྗ͢Δͱ্Ґ 3 Ϗοτ͕མͱ͞ΕΔ (-0x40) • D (0x44) - 0100 0100 • Ctrl + D - 0000 0100 • 0000 0100 (0x04) End Of Transmission • Shift -0x20
λʔϛφϧ γΣϧͰ͑Δػೳ
γΣϧͰ͑Δػೳ Ωʔ όΠϯσΟϯά • ҰൠతͳγΣϧઃఆ͠ͳͯ͘ ಛఆͷΩʔʹػೳׂ͕ΓͯΒΕ ͍ͯΔ • Tab (ೖྗิͳͲ)
γΣϧͰ͑Δػೳ Ωʔ όΠϯσΟϯά • ҰൠతͳγΣϧઃఆ͠ͳͯ͘ ಛఆͷΩʔ ίϯϏωʔγϣϯͰܾ ·ͬͨಈ࡞͕͋Δ • Ctrl
+ A (ΧʔιϧΛߦ಄Ҡ ಈ) • Ctrl + E (ΧʔιϧΛߦҠಈ) • Ctrl + W (લʹ͋Δ୯ޠΛআ)
γΣϧͰ͑Δػೳ Ωʔ όΠϯσΟϯά • ಛఆͷγΣϧ;͗͠ͳػೳ͕͋ Δ • Ctrl + R
(ೖྗཤྺΛݕࡧ) • ↑ (ೖྗΛͱʹཤྺΛݕࡧ - csh ܥ) • (ࢥ͍͔ͭͳ͔ͬͨ)
γΣϧͰ͑Δػೳ ϦμΠϨΫτ • ೖग़ྗΛͲ͔͜ʹઃఆ͢Δػೳ • ग़ྗઌΛ right operand ʹઃఆ •
echo 'test' > testfile.txt • echo 'test' >> testfile.txt # ه • cat testfile.txt # testtest • ೖྗઌ (ݩ) Λ left operand ʹઃఆ • php < info.php
γΣϧͰ͑Δػೳ ϦμΠϨΫτ • ύΠϓϥΠϯػೳ • ίϚϯυͷ࣮ߦ݁ՌΛଞͷίϚ ϯυ͢ػೳ • Τϥʔ͚ͩ͢…ͳΜͯ͜ͱ •
ύΠϓจࣈ | Λ͏ • ls /bin | grep ls
·ͱΊ
·ͱΊ • ϩάΛಡ͏ • λʔϛφϧ γΣϧͱྑ͘ͳΔͱ ͍͍͜ͱ͕͍ͬͺ͍ • ίϚϯυ GUI
ͱҧ͍࠶ݱ͠ ͍͢ • ;ͭ͏ʹ͏͚ͩͳΒͦΜͳʹ͜ Θ͘ͳ͍ʂ