Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UNIXという考え方

46d57e2c568a65ade212f56539687bc2?s=47 ikuwow
September 28, 2015
1.4k

 UNIXという考え方

46d57e2c568a65ade212f56539687bc2?s=128

ikuwow

September 28, 2015
Tweet

Transcript

  1. ٕज़ॻ঺հɿ UNIXͱ͍͏ߟ͑ํ ʙͦͷઃܭࢥ૝ͱ఩ֶʙ 2015/09/28 @ikuwow

  2. ࣗݾ঺հ • @ikuwow • ओʹPHPΛॻ͍ͨΓ͢Δਓ • ޷͖ͳϓϩάϥϛϯάݴޠ
 ɿγΣϧεΫϦϓτ • ࠷ۙͷ೰Έɿ௕͍ؒ৺ͷεΩ

    ϚΛຒΊଓ͚͖ͯͨͱ͋Δ੠ ༏ϥδΦ͕์ૹऴྃͨ͠ @ikuwow
  3. ޷͖ͳϓϩάϥϛϯάݴޠ “γΣϧεΫϦϓτ”

  4. ๻͕ͦ͏ࢥ͏ཧ༝͕ ͜ͷຊʹ͋Δ

  5. ຊͷ֓ཁ • 2001೥ॳ൛ൃߦʢΦʔϜࣾʣ • ബͯ͘ಡΈ΍͍͢
 ʢ148ϖʔδʣ • ஶऀͷMike Gancarz͸X Window

    Systemͷ։ൃऀ • ٕज़ॻͰ͋Γ఩ֶॻ
  6. UNIXͱ͸ • ΋͏40೥Ҏ্࢖༻͞Ε͍ͯΔݹ͍γεςϜ • BSD΍SolarisɺLinuxɺOS XͳͲͷ೿ੜOSʹ ͦͷεϐϦοτ͸ड͚ܧ͕Ε͍ͯΔ ݹͯ͘৽͍͠OS

  7. UNIXͷܥ౷ਤ

  8. ͜ͷຊͷ͍͢͝ͱ͜Ζ • ໊ݴ͕΋ͷͨ͘͘͢͝͞Μ͋Δ • ೔ৗతʹར༻͍ͯ͠ΔUNIX likeͳγεςϜͰ ͋ΔLinuxͷૉ੖Β͕͠͞Θ͔Δ • ཧ૝తͳ׬੒ܗʹ͍ۙUNIXΛֶͿ͜ͱͰʮྑ ͍γεςϜʯʹ͍ͭͯͷཧղ͕ਐΉ

  9. UNIXͷલఏɿ Ϣʔβʔ͸ࣗ෼͕ ԿΛ͍ͯ͠Δ͔Θ͔͍ͬͯΔ

  10. ঺հ͞Ε͍ͯΔUNIXͷఆཧ • Small is beautiful • ҰͭͷϓϩάϥϜʹ͸Ұͭͷ͜ͱΛ͏·͘΍ΒͤΔ • Ͱ͖Δ͚ͩૣ͘ࢼ࡞Λ࡞੒͢Δ •

    ޮ཰ΑΓҠ২ੑ • ਺஋σʔλ͸ASCIIϑϥοτϑΝΠϧʹอଘ͢Δ • ιϑτ΢ΣΞͷᑏࢠΛ༗ޮʹ׆༻͢Δ • γΣϧεΫϦϓτΛ࢖͏͜ͱͰᑏࢠͷޮՌͱҠ২ੑΛߴΊΔ • ա౓ͷର࿩తΠϯλʔϑΣʔεΛආ͚Δ • ͢΂ͯͷϓϩάϥϜΛϑΟϧλʹ͢Δ
  11. Ұͭͷ͜ͱΛ͏·͘΍ΒͤΔ • Θ͔Γ΍͍͢ • อक͠΍͍͢ • γεςϜϦιʔεʹ༏͍͠ • ଞͷπʔϧͱ૊Έ߹Θͤ΍͍͢ খ͍͞ϓϩάϥϜ͸…

  12. copyίϚϯυ࢓༷Λߟ͑ͯΈͨ 1.Ϣʔβʔʹίϐʔ͢ΔݩͷϑΝΠϧ໊ΛਘͶΔ 2.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 3.ϑΝΠϧ͕ͳ͚Ε͹ͦΕΛϢʔβʔʹ௨஌͢Δ 4.ϢʔβʔʹίϐʔઌͷϑΝΠϧ໊ΛਘͶΔ 5.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 6.ϑΝΠϧ͕༗Ε͹ɺϢʔβʔʹͦΕΛ্ॻ͖͢Δ͔Ͳ͏͔ਘͶΔ 7.ݩϑΝΠϧΛ։͘ 8.ݩϑΝΠϧ͕ۭͩͬͨΒͦΕΛϢʔβʔʹ௨஌͠ɺϓϩάϥϜΛऴྃ͢Δ 9.ίϐʔઌͷϑΝΠϧΛ։͘

    10.σʔλΛίϐʔݩͷϑΝΠϧ͔ΒίϐʔઌͷϑΝΠϧʹίϐʔ͢Δ 11.ݩϑΝΠϧΛด͡Δ 12.ίϐʔઌͷϑΝΠϧΛด͡Δ ࣮ࡍʹίϐʔͯ͠Δͷ͸ ͚ͩ͜͜
  13. UNIXͷcopyίϚϯυ 1.Ϣʔβʔʹίϐʔ͢ΔݩͷϑΝΠϧ໊ΛਘͶΔ 2.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 3.ϑΝΠϧ͕ͳ͚Ε͹ͦΕΛϢʔβʔʹ௨஌͢Δ 4.ϢʔβʔʹίϐʔઌͷϑΝΠϧ໊ΛਘͶΔ 5.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 6.ϑΝΠϧ͕༗Ε͹ɺϢʔβʔʹͦΕΛ্ॻ͖͢Δ͔Ͳ͏͔ਘͶΔ 7.ݩϑΝΠϧΛ։͘ 8.ݩϑΝΠϧ͕ۭͩͬͨΒͦΕΛϢʔβʔʹ௨஌͠ɺϓϩάϥϜΛऴྃ͢Δ 9.ίϐʔઌͷϑΝΠϧΛ։͘

    10.σʔλΛίϐʔݩͷϑΝΠϧ͔ΒίϐʔઌͷϑΝΠϧʹίϐʔ͢Δ 11.ݩϑΝΠϧΛด͡Δ 12.ίϐʔઌͷϑΝΠϧΛด͡Δ ࣮ࡍͷίϐʔಈ࡞ͱ ଞͷͪΐͬͱͨ͜͠ͱͷΈͷ࣮૷ ର࿩తΠϯλʔϑΣʔεΛආ͚͍ͯΔ
  14. $ echo `who | awk ‘{print $1}’ | sort |

    uniq ` | sed ’s/ /, /g’ 6ͭͷίϚϯυ ߦ਺ FDIP  XIP  BXL   TPSU   VOJR  TFE   ߹ܭ   ύΠϓ( | )ʹΑͬͯ ෳ਺ͷϓϩάϥϜ͕ ͏·͘࿈ܞ͢Δ ιϑτ΢ΣΞͷᑏࢠΛར༻͢Δ ɾͦΕͧΕ͕ϑΟϧλͱͯ͠ಈ࡞
  15. • ޷ΈʹԠͯࣗ͡෼Ͱ؀ڥΛௐઅͰ͖ΔΑ͏ʹ͢Δ • OSͷΧʔωϧΛখܰ͘͘͢͞Δ • খจࣈΛ࢖͍ɺ୹͘͢Δ • ৿ྛΛकΔ • ௜໧͸ۚ

    • ಉ࣌ʹߟ͑Δ • ෦෼ͷ૯࿨͸શମΑΓ΋େ͖͍ • 90%ͷղΛ໨ࢦ͢ • ྼΔ΄͏͕༏Ε͍ͯΔɻ • ֊૚తʹߟ͑Δ ͦͷଞখఆཧ
  16. lsʢUNIXʣͱdirʢMS-DOSʣ $ ls $ > dir DIRECTORY: NO FILES FOUND

    > Կ΋ͳ͍σΟϨΫτϦͷதͰͦΕͧΕͷίϚϯυΛଧͭͱɾɾɾ ग़ྗ͕ͳ͍ = ϑΝΠϧ͕ͳ͍ ਓ͕ݟͯϑΝΠϧ͕ͳ͍͜ͱ͸Θ͔Δ͕ ύΠϓ͢Δͱ͖͸ʁ ଞͷϓϩάϥϜͱҰॹʹ࢖͏ʹ͸ʁ
  17. ͦͷଞಡΜͰ͍ͯ໘ന͍ͱ͜Ζ • UNIXͷྺ࢙ • Multicsͱ͍͏OSʹର߅໊ͨ͠લΒ͍͠ • ଞͷOSͱͷҧ͍ • Atari, MS-DOS,

    OpenVMS
  18. ͜ͷຊΛಡΜ্ͩͰikuwow͕ ߟ͑ΔUNIXͷૉ੖Β͠͞ • ਓؒͱػցͷதؒ఺Ͱ࠷ߴʹύϫϑϧͰޓ׵ ੑͷߴ͍γεςϜ • ͭ·Γιϑτ΢ΣΞͱͯ͠ͷཧ૝ܗ • ࣄ࣮WindowsҎ֎ͷશͯͷOS͕͜ͷOSͷܥ ේͱ࣮ͯ͠ࡍʹੈքͰར༻͞Ε͍ͯΔ

  19. Α͋͘Δ఩ֶॻͱൺ΂Δͱ Lisp͕޷͖ͳਓͷϒϩά Έ͍ͨͳຊ ࣗΒͷٕज़ΛߴΊͳ͕Β
 ιϑτ΢ΣΞ։ൃऀͱͯ͠ ޾ͤʹੜ͖Δ UNIXͱ͍͏࠷΋׬੒౓ͷ ߴ͍ιϑτ΢ΣΞͷҰ͔ͭΒ ʮΑ͍ϓϩάϥϜʯͱ͸Կ͔Λֶ΂Δ ΋ͬͱ΋۩ମతͰ࣮༻తͳ఩ֶ͕هड़͞Ε͍ͯΔ

  20. ࣗ෼ֶ͕Μͩ͜ͱ • ֶੜͷࣗ෼
 ʮ޷͖ͳϓϩάϥϛϯάݴޠ͸γΣϧεΫϦ ϓτͰ͢ʯ • ʮޮ཰ΑΓҠ২ੑʯ <= ʂʂ •

    Ҡ২ੑ͕ߴͯ͘ޮ཰͕ѱ͘ͳ͍ϓϩάϥϜΛ ॻ͘ͷ͸ຊ౰ʹ೉͍͠
  21. ୭͕ಡΉͱ͍͍ͷ͔ • ιϑτ΢ΣΞΛੜۀʹ͍ͯ͠Δ͋ΒΏΔਓ • UNIXʹ͍ͭͯઃܭࢥ૝ͳͲͷࠜຊ͔Β஌Γͨ ͍ਓ • ೔ৗతʹLinux౳ͷUnixͷܥේΛड͚ܧ͍ͩ OSΛར༻͍ͯ͠Δਓ

  22. ·ͱΊ • UNIX͸Ϣʔβʔ͕ԿΛ͍ͯ͠Δ͔Θ͔͍ͬͯ Δ͜ͱΛલఏʹͯ͠ɺ࠷ߴͷόϥϯεͷ্ʹ ੒Γཱ͍ͬͯΔ͜ͱ͕Α͘෼͔Δຊ • UNIX఩ֶ͔ΒࠓͰ΋໾ʹཱͭϊ΢ϋ΢͕ಘΒ ΕΔͱͯ΋Α͍ຊ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠