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
ターミナルと仲良くなろう / Let's get to know the terminal.
Search
kubo-sr
November 13, 2020
25
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ターミナルと仲良くなろう / Let's get to know the terminal.
kubo-sr
November 13, 2020
More Decks by kubo-sr
See All by kubo-sr
現代的 PHP アプリの作り方 / How to build a modern PHP application
kubosr
0
44
サービスを継続させるために / What we can do to keep the service going
kubosr
0
51
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Tell your own story through comics
letsgokoyo
1
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
A better future with KSS
kneath
240
18k
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
ͱҧ͍࠶ݱ͠ ͍͢ • ;ͭ͏ʹ͏͚ͩͳΒͦΜͳʹ͜ Θ͘ͳ͍ʂ