Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UNIXという考え方
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ikuwow
September 28, 2015
2k
1
Share
UNIXという考え方
ikuwow
September 28, 2015
More Decks by ikuwow
See All by ikuwow
Elasticsearch on EC2からAmazon Elasticsearch Serviceに 移行してだいぶ楽になった話
ikuwow
0
3.6k
意外と使える! Alibaba Cloud
ikuwow
0
240
teratailの解析基盤をEFKで作っていろいろ楽しい話
ikuwow
0
900
技術書紹介 パーフェクトPHP
ikuwow
0
2.1k
みんなもMiddlemanで技術ブログ作って幸せになろう!
ikuwow
0
990
PHPサイバーテロの技法 書籍紹介
ikuwow
0
990
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Abbi's Birthday
coloredviolet
2
7.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
Evolving SEO for Evolving Search Engines
ryanjones
0
210
My Coaching Mixtape
mlcsv
0
140
Unsuck your backbone
ammeep
672
58k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Automating Front-end Workflow
addyosmani
1370
210k
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ֶ͔ΒࠓͰʹཱͭϊϋ͕ಘΒ ΕΔͱͯΑ͍ຊ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠