$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UNIXという考え方
Search
ikuwow
September 28, 2015
1
2k
UNIXという考え方
ikuwow
September 28, 2015
Tweet
Share
More Decks by ikuwow
See All by ikuwow
Elasticsearch on EC2からAmazon Elasticsearch Serviceに 移行してだいぶ楽になった話
ikuwow
0
3.5k
意外と使える! Alibaba Cloud
ikuwow
0
240
teratailの解析基盤をEFKで作っていろいろ楽しい話
ikuwow
0
880
技術書紹介 パーフェクトPHP
ikuwow
0
2.1k
みんなもMiddlemanで技術ブログ作って幸せになろう!
ikuwow
0
970
PHPサイバーテロの技法 書籍紹介
ikuwow
0
950
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Why Our Code Smells
bkeepers
PRO
340
57k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
4 Signs Your Business is Dying
shpigford
186
22k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Faster Mobile Websites
deanohume
310
31k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Transcript
ٕज़ॻհɿ UNIXͱ͍͏ߟ͑ํ ʙͦͷઃܭࢥͱֶʙ 2015/09/28 @ikuwow
ࣗݾհ • @ikuwow • ओʹPHPΛॻ͍ͨΓ͢Δਓ • ͖ͳϓϩάϥϛϯάݴޠ ɿγΣϧεΫϦϓτ • ࠷ۙͷΈɿ͍ؒ৺ͷεΩ
ϚΛຒΊଓ͚͖ͯͨͱ͋Δ ༏ϥδΦ͕์ૹऴྃͨ͠ @ikuwow
͖ͳϓϩάϥϛϯάݴޠ “γΣϧεΫϦϓτ”
͕ͦ͏ࢥ͏ཧ༝͕ ͜ͷຊʹ͋Δ
ຊͷ֓ཁ • 2001ॳ൛ൃߦʢΦʔϜࣾʣ • ബͯ͘ಡΈ͍͢ ʢ148ϖʔδʣ • ஶऀͷMike GancarzX Window
Systemͷ։ൃऀ • ٕज़ॻͰ͋Γֶॻ
UNIXͱ • ͏40Ҏ্༻͞Ε͍ͯΔݹ͍γεςϜ • BSDSolarisɺLinuxɺOS XͳͲͷੜOSʹ ͦͷεϐϦοτड͚ܧ͕Ε͍ͯΔ ݹͯ͘৽͍͠OS
UNIXͷܥ౷ਤ
͜ͷຊͷ͍͢͝ͱ͜Ζ • ໊ݴ͕ͷͨ͘͘͢͝͞Μ͋Δ • ৗతʹར༻͍ͯ͠ΔUNIX likeͳγεςϜͰ ͋ΔLinuxͷૉΒ͕͠͞Θ͔Δ • ཧతͳܗʹ͍ۙUNIXΛֶͿ͜ͱͰʮྑ ͍γεςϜʯʹ͍ͭͯͷཧղ͕ਐΉ
UNIXͷલఏɿ Ϣʔβʔ͕ࣗ ԿΛ͍ͯ͠Δ͔Θ͔͍ͬͯΔ
հ͞Ε͍ͯΔUNIXͷఆཧ • Small is beautiful • ҰͭͷϓϩάϥϜʹҰͭͷ͜ͱΛ͏·͘ΒͤΔ • Ͱ͖Δ͚ͩૣ͘ࢼ࡞Λ࡞͢Δ •
ޮΑΓҠ২ੑ • σʔλASCIIϑϥοτϑΝΠϧʹอଘ͢Δ • ιϑτΣΞͷᑏࢠΛ༗ޮʹ׆༻͢Δ • γΣϧεΫϦϓτΛ͏͜ͱͰᑏࢠͷޮՌͱҠ২ੑΛߴΊΔ • աͷରతΠϯλʔϑΣʔεΛආ͚Δ • ͯ͢ͷϓϩάϥϜΛϑΟϧλʹ͢Δ
Ұͭͷ͜ͱΛ͏·͘ΒͤΔ • Θ͔Γ͍͢ • อक͍͢͠ • γεςϜϦιʔεʹ༏͍͠ • ଞͷπʔϧͱΈ߹Θ͍ͤ͢ খ͍͞ϓϩάϥϜ…
copyίϚϯυ༷Λߟ͑ͯΈͨ 1.Ϣʔβʔʹίϐʔ͢ΔݩͷϑΝΠϧ໊ΛਘͶΔ 2.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 3.ϑΝΠϧ͕ͳ͚ΕͦΕΛϢʔβʔʹ௨͢Δ 4.ϢʔβʔʹίϐʔઌͷϑΝΠϧ໊ΛਘͶΔ 5.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 6.ϑΝΠϧ͕༗ΕɺϢʔβʔʹͦΕΛ্ॻ͖͢Δ͔Ͳ͏͔ਘͶΔ 7.ݩϑΝΠϧΛ։͘ 8.ݩϑΝΠϧ͕ۭͩͬͨΒͦΕΛϢʔβʔʹ௨͠ɺϓϩάϥϜΛऴྃ͢Δ 9.ίϐʔઌͷϑΝΠϧΛ։͘
10.σʔλΛίϐʔݩͷϑΝΠϧ͔ΒίϐʔઌͷϑΝΠϧʹίϐʔ͢Δ 11.ݩϑΝΠϧΛด͡Δ 12.ίϐʔઌͷϑΝΠϧΛด͡Δ ࣮ࡍʹίϐʔͯ͠Δͷ ͚ͩ͜͜
UNIXͷcopyίϚϯυ 1.Ϣʔβʔʹίϐʔ͢ΔݩͷϑΝΠϧ໊ΛਘͶΔ 2.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 3.ϑΝΠϧ͕ͳ͚ΕͦΕΛϢʔβʔʹ௨͢Δ 4.ϢʔβʔʹίϐʔઌͷϑΝΠϧ໊ΛਘͶΔ 5.ϑΝΠϧ͕༗Δ͔Ͳ͏͔νΣοΫ͢Δ 6.ϑΝΠϧ͕༗ΕɺϢʔβʔʹͦΕΛ্ॻ͖͢Δ͔Ͳ͏͔ਘͶΔ 7.ݩϑΝΠϧΛ։͘ 8.ݩϑΝΠϧ͕ۭͩͬͨΒͦΕΛϢʔβʔʹ௨͠ɺϓϩάϥϜΛऴྃ͢Δ 9.ίϐʔઌͷϑΝΠϧΛ։͘
10.σʔλΛίϐʔݩͷϑΝΠϧ͔ΒίϐʔઌͷϑΝΠϧʹίϐʔ͢Δ 11.ݩϑΝΠϧΛด͡Δ 12.ίϐʔઌͷϑΝΠϧΛด͡Δ ࣮ࡍͷίϐʔಈ࡞ͱ ଞͷͪΐͬͱͨ͜͠ͱͷΈͷ࣮ ରతΠϯλʔϑΣʔεΛආ͚͍ͯΔ
$ echo `who | awk ‘{print $1}’ | sort |
uniq ` | sed ’s/ /, /g’ 6ͭͷίϚϯυ ߦ FDIP XIP BXL TPSU VOJR TFE ߹ܭ ύΠϓ( | )ʹΑͬͯ ෳͷϓϩάϥϜ͕ ͏·͘࿈ܞ͢Δ ιϑτΣΞͷᑏࢠΛར༻͢Δ ɾͦΕͧΕ͕ϑΟϧλͱͯ͠ಈ࡞
• ΈʹԠͯࣗ͡ͰڥΛௐઅͰ͖ΔΑ͏ʹ͢Δ • OSͷΧʔωϧΛখܰ͘͘͢͞Δ • খจࣈΛ͍ɺ͘͢Δ • ྛΛकΔ • ۚ
• ಉ࣌ʹߟ͑Δ • ෦ͷ૯શମΑΓେ͖͍ • 90%ͷղΛࢦ͢ • ྼΔ΄͏͕༏Ε͍ͯΔɻ • ֊తʹߟ͑Δ ͦͷଞখఆཧ
lsʢUNIXʣͱdirʢMS-DOSʣ $ ls $ > dir DIRECTORY: NO FILES FOUND
> Կͳ͍σΟϨΫτϦͷதͰͦΕͧΕͷίϚϯυΛଧͭͱɾɾɾ ग़ྗ͕ͳ͍ = ϑΝΠϧ͕ͳ͍ ਓ͕ݟͯϑΝΠϧ͕ͳ͍͜ͱΘ͔Δ͕ ύΠϓ͢Δͱ͖ʁ ଞͷϓϩάϥϜͱҰॹʹ͏ʹʁ
ͦͷଞಡΜͰ͍ͯ໘ന͍ͱ͜Ζ • UNIXͷྺ࢙ • Multicsͱ͍͏OSʹର߅໊ͨ͠લΒ͍͠ • ଞͷOSͱͷҧ͍ • Atari, MS-DOS,
OpenVMS
͜ͷຊΛಡΜ্ͩͰikuwow͕ ߟ͑ΔUNIXͷૉΒ͠͞ • ਓؒͱػցͷதؒͰ࠷ߴʹύϫϑϧͰޓ ੑͷߴ͍γεςϜ • ͭ·ΓιϑτΣΞͱͯ͠ͷཧܗ • ࣄ࣮WindowsҎ֎ͷશͯͷOS͕͜ͷOSͷܥ ේͱ࣮ͯ͠ࡍʹੈքͰར༻͞Ε͍ͯΔ
Α͋͘ΔֶॻͱൺΔͱ Lisp͕͖ͳਓͷϒϩά Έ͍ͨͳຊ ࣗΒͷٕज़ΛߴΊͳ͕Β ιϑτΣΞ։ൃऀͱͯ͠ ͤʹੜ͖Δ UNIXͱ͍͏࠷ͷ ߴ͍ιϑτΣΞͷҰ͔ͭΒ ʮΑ͍ϓϩάϥϜʯͱԿ͔ΛֶΔ ͬͱ۩ମతͰ࣮༻తͳֶ͕هड़͞Ε͍ͯΔ
ֶ͕ࣗΜͩ͜ͱ • ֶੜͷࣗ ʮ͖ͳϓϩάϥϛϯάݴޠγΣϧεΫϦ ϓτͰ͢ʯ • ʮޮΑΓҠ২ੑʯ <= ʂʂ •
Ҡ২ੑ͕ߴͯ͘ޮ͕ѱ͘ͳ͍ϓϩάϥϜΛ ॻ͘ͷຊʹ͍͠
୭͕ಡΉͱ͍͍ͷ͔ • ιϑτΣΞΛੜۀʹ͍ͯ͠Δ͋ΒΏΔਓ • UNIXʹ͍ͭͯઃܭࢥͳͲͷࠜຊ͔ΒΓͨ ͍ਓ • ৗతʹLinuxͷUnixͷܥේΛड͚ܧ͍ͩ OSΛར༻͍ͯ͠Δਓ
·ͱΊ • UNIXϢʔβʔ͕ԿΛ͍ͯ͠Δ͔Θ͔͍ͬͯ Δ͜ͱΛલఏʹͯ͠ɺ࠷ߴͷόϥϯεͷ্ʹ Γཱ͍ͬͯΔ͜ͱ͕Α͔͘Δຊ • UNIXֶ͔ΒࠓͰʹཱͭϊϋ͕ಘΒ ΕΔͱͯΑ͍ຊ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠