Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

ターミナルと仲良くなろう / Let's get to know the terminal.

Avatar for kubo-sr kubo-sr
November 13, 2020
24

ターミナルと仲良くなろう / Let's get to know the terminal.

Avatar for kubo-sr

kubo-sr

November 13, 2020
Tweet

Transcript

  1. λʔϛφϧͱ͸ γΣϧ • λʔϛφϧΛ։͘ͱσϑΥϧτ γΣϧ͕ىಈ͢Δ • Χʔωϧ (OS ຊମ) ͱϢʔβʔͷ

    ೖग़ྗΛ஥հͯ͘͠ΕΔ • Bourne Shell ͷ೿ੜ෺͕Α͘࢖Θ ΕΔ (ash, ksh, bash...) • macOS ͷσϑΥϧτ͸ zsh (10.15 ~)
  2. λʔϛφϧͱ͸ ίϚϯυ • POSIX ඪ४ʹجຊίϚϯυҰཡ͕ ͋Δ • ls, cd ͳͲ

    • ͜ΕΛ͓΅͓͚͑ͯ͹ͳΜͱ͔ ͳΔ • ୳͢ͷେมͳͷͰ Wikipedia • ࣮ߦ͢Δͱ੒ޭɾࣦഊ͕Θ͔Δ • $? • echo $?
  3. λʔϛφϧͱ͸ ύʔϛογϣϯ • ϑΝΠϧ͸ϑΥʔϚοτͱ͸ผʹ ࣮ߦͰ͖Δ͔Ͳ͏͔ܾΊΔཁૉ͕ ͋Δ • ύʔϛογϣϯ • read

    - write - execute Λ 3bit Ͱ ؅ཧ • σΟϨΫτϦͷ execute ͸ͦͷ σΟϨΫτϦ (ͱத਎) ʹΞΫη εͰ͖Δ͔
  4. λʔϛφϧͷ࢖͍ํ ؀ڥม਺ • ࡞ۀσΟϨΫτϦ͸ pwd ίϚϯυͰΘ ͔Δ • Α͘࢖ΘΕΔσΟϨΫτϦ͕͋Δ •

    Filesystem Hierarchy Standard • hier(7) • ϑΝΠϧ ύε (ϑΝΠϧ΁ͷͨͲΓண ͖ํ) Λ͏·͘࢖͓͏ • ૬ରύε (࡞ۀσΟϨΫτϦ͔ΒΈ ͨύε) • ઈରύε (/ ͔ΒΈͨύε)
  5. λʔϛφϧͷ࢖͍ํ ϚχϡΞϧ • ίϚϯυʹݶΒͣ͢΂ͯॻ͔Εͯ ͍Δ • man(1) ίϚϯυʹΑΓݟΕΔ • man

    keyword • ׳शͱͯ͠Ωʔϫʔυͷޙʹׅހ ͱ਺ࣈͰηΫγϣϯΛࣔ͢ • ηΫγϣϯҰཡ͕ man(1) ʹ͋ Δ
  6. λʔϛφϧͷ࢖͍ํ γάφϧ • ϓϩάϥϜʹಛఆͷಈ࡞Λཁٻ͢ Δ੍ޚίʔυ • λʔϛφϧ্Ͱ Ctrl ͱΩʔΛ૊Έ ߹Θͤͯૹ৴Ͱ͖Δ

    • (Foreground ͷΈ) • ϓϩάϥϜΛऴ͍ྃͤͨ͞ͱ͖͸ Ctrl + C • kill ίϚϯυͰ΋ૹ৴Ͱ͖Δ
  7. λʔϛφϧͷ࢖͍ํ ੍ޚจࣈ • λʔϛφϧ্Ͱೖྗͨ͠γάφϧͷ࣮ମ͸ ੍ޚจࣈ • ASCII ͰΞϧϑΝϕοτΑΓલʹఆٛ͞Εͯ ͍Δ •

    λʔϛφϧ্Ͱ Ctrl ͱڞʹ ASCII จࣈΛೖ ྗ͢Δͱ্Ґ 3 Ϗοτ͕མͱ͞ΕΔ (-0x40) • D (0x44) - 0100 0100 • Ctrl + D - 0000 0100 • 0000 0100 (0x04) ͸ End Of Transmission • Shift ͸ -0x20
  8. γΣϧͰ࢖͑Δػೳ Ωʔ όΠϯσΟϯά • ҰൠతͳγΣϧ͸ઃఆ͠ͳͯ͘΋ ಛఆͷΩʔ ίϯϏωʔγϣϯͰܾ ·ͬͨಈ࡞͕͋Δ • Ctrl

    + A (ΧʔιϧΛߦ಄΁Ҡ ಈ) • Ctrl + E (ΧʔιϧΛߦ຤΁Ҡಈ) • Ctrl + W (લʹ͋Δ୯ޠΛ࡟আ)
  9. γΣϧͰ࢖͑Δػೳ Ωʔ όΠϯσΟϯά • ಛఆͷγΣϧ͸;͗͠ͳػೳ͕͋ Δ • Ctrl + R

    (ೖྗཤྺΛݕࡧ) • ↑ (ೖྗΛ΋ͱʹཤྺΛݕࡧ - csh ܥ) • (ࢥ͍͔ͭͳ͔ͬͨ)
  10. γΣϧͰ࢖͑Δػೳ ϦμΠϨΫτ • ೖग़ྗΛͲ͔͜ʹઃఆ͢Δػೳ • ग़ྗઌΛ right operand ʹઃఆ •

    echo 'test' > testfile.txt • echo 'test' >> testfile.txt # ௥ه • cat testfile.txt # testtest • ೖྗઌ (ݩ) Λ left operand ʹઃఆ • php < info.php
  11. ·ͱΊ • ϩάΛಡ΋͏ • λʔϛφϧ γΣϧͱ஥ྑ͘ͳΔͱ ͍͍͜ͱ͕͍ͬͺ͍ • ίϚϯυ͸ GUI

    ͱҧ͍࠶ݱ͠΍ ͍͢ • ;ͭ͏ʹ࢖͏͚ͩͳΒͦΜͳʹ͜ Θ͘ͳ͍ʂ