  The Unix and Internet Fundamentals HOWTO
  by Eric S. Raymond
  v1.4, 25 September 1999
  xc ωp  JF Project
  v1.4j, 8 December 1999

  ̕ł́APC NX̃Rs[^ Unix CNȃIy[eB
  OEVXeAуC^[lbgɂĂ̊bIȎɂāAȂ
  ׂZpIȗpgȂ悤ɂȂ܂B
  ______________________________________________________________________

  ڎ

  1. ͂߂
     1.1 ̖̕ړI

  2. XV
     2.1 ֘A镶
     2.2 ̐̕Vo[W
     2.3 tB[hobNƏC

  3. Ȃ̃Rs[^UĂ݂܂傤
  4. Rs[^̓dꂽɂ͉N̂ł?
  5. OCƉN?
  6. VFvON牽N?
  7. ͑uƊ荞݂Ăǂē?
  8. Rs[^͂ǂĕ̃vZX݂ɊȂ悤ɂĂ?
  9. Rs[^͂ǂ̂悤ɃɏL^Ă?
     9.1 l
     9.2 

  10. Rs[^͂ǂ̂悤ɂăfBXNɏi[?
     10.1 ჌x̃fBXNƃt@CVXe\
     10.2 t@CƃfBNg
     10.3 }Eg|Cg
     10.4 ǂăt@C?
     10.5 t@C̏LAp[~bVAZLeB
     10.6 ǂē삪Ȃ̂ł傤?

  11. Rs[^Ă̂͂ǂē?
     11.1 RpC
     11.2 C^v^
     11.3 P R[h

  12. C^[lbg͂ǂēĂ?
     12.1 OƂ̈ʒu
     12.2 pPbgƃ[^
     12.3 TCP  IP
     12.4 HTTP: AvP[VvgR̗

  13. {ɂ

  ______________________________________________________________________

  1.  ͂߂

  1.1.  ̖̕ړI

  ́̕As낵Ȃwł Linux ƃC^[lbg̃[U
  ̂߂ɏ܂B̂悤ɂĐZpwłƂ͎̑
  @ȂłAɂ͌ݎĂbmƂ̓ƓȃMbv
  邱Ƃł傤B̃MbvA܎ۂɉsĂ̂
  Ƃ𓪂̒ɕ`ȂĂ܂AnIɍl邱ƂAIɃg
  u邱Ƃ肵Ă܂̂łB

  ł́AׂĂ̂Ƃǂ̂悤ɓĂ̂𖾉ՂȌt
  qׂĂ݂悤Ǝv܂B PC NX̃n[hEFA Unix  Linux
  gĂlBɍ킹Ă܂BłA̕ł͒P
  `Unix' ƌĂԂƂɂ܂B̐͊evbgtH[ `Unix' ̂
  ܂܂ȕώɊւċʂ̂ƂłB

  ̕ł́AȂ Intel x[X PC gɂȂĂƉ肵
  ܂BȂ Alpha  PowerPCA͂ȊO Unix }V
  g̏ꍇłႢ͔X̂ŁA{IȐ݌vvz͓łB

  낢ȂƂJԂqׂ͂܂̂ŒӂĂB
  AɏĂ 1  1 ꂩӖǂݎė~ƂƂ
  Bŏ͂̕Ǝ΂ߓǂ݂̂͂܂񂪁Aw񂾂
  Ƃ܂Ƃ܂ĂA܂xJԂēǂł݂邱Ƃ߂
  ܂B

  ͐̕WĂ܂B̓[ŨtB[hobNɉċLq
  ǉĂł̂ŁAIɓǂނƂ߂܂B

  2.  XV

  1.2 ł̐VK: uRs[^͂ǂ̂悤ɃɏL^Ă
  ?v̐ 1.3 ł̐VK: uOCƉN?vƁut@C
  ̏LAp[~bVAZLeBv̐

  2.1.  ֘A镶

  nbN̕@wԂ߂ɂ̕ǂޏꍇ́A How To Become A Hacker
  FAQ <http://www.tuxedo.org/~esr/faqs/hacker-howto.html>ǂł
  悢ł傤 (: {unbJ[ɂȂ邽߂Ɂv JF ɂ
  )B

  ̕ɂ̖͑𗧂ւ̃N܂B

  2.2.  ̐̕Vo[W

  `the Unix and Internet Fundamentals HOWTO' ̐Vo[ẂA
  I comp.os.linux.helpA news:comp.os.linux.announce 
  news.answers ɓe܂B܂͂ LDP z[y[W
   Linux  WWW TCg ftp TCgɃAbv[h܂B

  ̍̕ŐVo[ẂA <http://metalab.unc.edu/LDP/HOWTO/Unix-
  Internet-Fundamentals-HOWTO.html> ɂāAWWW oRł
  B

  2.3.  tB[hobNƏC

  ̕ɑ΂ĎRgꍇ́AȂ Eric
  S.Raymond(esr@thyrsus.com ܂Ń[ĂBȂĂᔻ
  }܂BɁAX̊TOɂĂ̏ڂւ̃nCp[N
  ΂Ȃ\łB̕Ɍꍇ́Aɂm点
  Ύ̃o[WŏC܂Bǂ͂B

  3.  Ȃ̃Rs[^UĂ݂܂傤

  Rs[^̒ɂ́Aۂ̏svZbTE`bvĂ
  B܂AĂ܂B̂Ƃ DOS/Windows Ȑl
   `RAM' ƌĂт܂AUnix Ȑl͂悭 `core(RA)' ƌĂт܂B
  vZbTƃ́AȂ̃Rs[^̐Sł}U[{[h
  ɂ܂B

  Rs[^ɂ͉ʂƃL[{[hĂ܂B܂n[hfBXNt
  bs[fBXN܂BʂfBXNɂ́A}U[{[hɑgݍ
  ߂̃Rg[EJ[hĂAɂăRs[^
  ̏o̓foCX̋쓮sƂł悤ɂȂĂ܂B(L[{[
  h͔ɃVvȍĂ̂ŁAp̃Rg[EJ[h͕s
  vłBRg[̓L[{[h➑̎̂ɑgݍ܂Ă܂B)

  ȍ~ł́ÃfoCXǂē̂Ƃׂbɐi
  ܂Bł́A炪ǂċē̂ƂƂɊւ
  AЂƂoĂbIȎĂ܂B

  Rs[^̒ɂ邷ׂĂ̓p[c̓oXŐڑĂ܂B
  Iɂ́AoX(rfIEJ[hAfBXNERg[TEhEJ[
  hȂǁAȂ)Rg[EJ[hނ̂łA
  Ȃ̃vZbTAʁAfBXNׂ̑Ă̊Ԃɂf[^̍H
  łB

  vZbT́AȊÔׂĂ̂̂𓮍삳邽߂ɂ̂łA
  ۂɂ͑̃p[c𒼐ڌ邱Ƃł܂B܂AoXʂĉb
  邱ƂłȂ̂łBvZbTĂāAɍł
  ڃANZXłTuVXe̓(RA)łB̂߁AvO
  𓮍삳邽߂ɂ́AvO̓RA̒ɂKv܂B

  Rs[^vOf[^fBXNǂݏoۂɎۂɍs
  邱Ƃ́AvZbToXgăfBXÑ[hvfBXNER
  g[ɑ邱ƂłB΂炭ĂfBXNERg[̓oX
  găRs[^ɃVOi(M)𑗂邱ƂŁAf[^ǂݍŃR
  A̒̓̈ʒuɒuƂm点܂B̌vZbT̓oX
  gẴɍs܂B

  L[{[hƉʂ܂oXoRăvZbTƒʐMs܂A
  炪ŝ͂ƒPȕ@łBɂĂ͌q܂B̂Ƃ
  ARs[^̓dꂽƂɋN邱Ƃ𗝉ɂ͂ŏ\
  łB

  4.  Rs[^̓dꂽɂ͉N̂ł?

  vOĂȂRs[^́AdCœŜ܂ɉ߂
  BdꂽɃRs[^܂Ȃ΂ȂȂ
  ́AIy[eBOEVXeƌĂ΂ȃvOJn邱
  ƂłBIy[eBOEVXe̎d́ARs[^̃n[hEFA
  𐧌䂷ƂȏsȂƂɂÃRs[^Ev
  O삷菕邱ƂłB

  Iy[eBOEVXeN鏈̂Ƃu[gƂ܂(
  ͌X u[gXgbsO (bootstrapping)ƂAu͂(`by your
  bootstraps')vオ邱Ƃ̓ӖĂ܂)BRs[^
  u[g̕@mĂ܂BȂȂAu[ĝ߂̖߂Rs[^
  ̃`bv̂ 1 łABIOS (܂Basic Input/Output System=
  {o̓VXe)`bvɖߍ܂Ă邩łB

  BIOS `bv́Aŏ̔ԍĂn[hfBXN(u[gfBXN)
  ̌܂ʒuɂAu[g[_ƌĂ΂ȃvOT
  (Linux ł̓u[g[_ LILO ƌĂ΂Ă܂)Bu[g[_̓RA
  ɓǂݍ܂AJn܂B{̃Iy[eBOEVXeJn
  邱Ƃu[g[_̎dłB

  [_͂̏s߂ɁAJ[lTăRAɓǂݍ݁AăJ
  [ln܂BLinux u[gƉʂ "LILO" Ƃ
  Aăhbg 1 \Ă܂A܂ɂ̎J[l
  ǂݍł̂ł(\ehbǵAǂݍ񂾃J[lR[h
  ̃fBXNEubN\Ă܂)B

  (Ȃ BIOS J[l𒼐ڃ[hȂ̂AsvcɎv
  邩܂BȂu[g[_ 2 ̉ߒ𓥂ނ̂ł
  ? ͂łˁABIOS Ă̂͂܂茫ȂłBۂ
  ͂ƂĂ̂ŁAu[gI Linux ͑S BIOS g܂
  B͌XfBXN܂ςłȂnI 8 rbg PC ̂
  ɏꂽ̂ŁAJ[l𒼐ڃ[h悤ȃfBXNANZX͎
  łȂ̂łBu[g[_̉ߒɂĂAfBXN̈قȂ
  炢̃Iy[eBOEVXeJn邱Ƃ͂ł܂
  A Unix ̋@\ł͕s\ȂƂȂ̂łB)

  J[lJnƁAJ[l͎ӑuĂ̑
  ̃n[hEFAAăvO삷邽߂̏
  B̏́Aʏ̃ʒuł͂Ȃ I/O |[g -- foCX̃R
  g[EJ[hR}h󂯕t邽߂ɊĎĂƎvA
  ʂȃoX̃AhX-- ɂlނƂɂčs܂BJ[l
  ̓_ɒlނ킯ł͂܂BJ[lɂ́Aǂ̃|[
  gɏ݂ɍs΂悢A܂ɃRg[݂ꍇǂ̂
  ɔׂɂāA炩ߑgݍ܂ꂽĂ̂
  B̏̂Ƃn[hEFA̎F(autoprobing)Ƃ܂B

  u[gɕ\郁bZ[ŴقƂǂ́AJ[lɂn[hEFA
  ̎F@\ I/O |[gʂăn[hEFAɃANZXAꂪg
  p\ł΂}VɑgݍłlqĂ܂BLinux
  ̃J[l͂̋@\ɂĂ͗ǂłĂāÂقƂǂ Unix ɗD
  A܂Ă DOS  Windows  ͂邩 DĂ܂BہÂ
   Linux g̕X́ALinux ̃u[gɂn[hEFA̎F
  @\̌(CXg[̊ȒPɒʂ)ALinux t[ Unix ̈
  A̎iK甲oA邳O[U𖣗悤ɂȂĂ
  ȗvƍlĂ܂B

  ȂAJ[l̃[hēJn邱ƂŁAu[g
  I킯ł͂܂B܂ق̏̒iKł( x 1
  ƌĂ΂邱Ƃ܂)B̍ŏ̒iǨAJ[l͐ `init'
  ƌĂ΂ȃvZXɈn܂B`init' ͊Ǘ̂߂̃vZX
  グ܂B

  init vZX̍ŏ̎d͕ʁAfBXNł邩ǂmF
  邱ƂłBfBXÑt@CVXeƂ͉₷̂łB
  炪n[hEFǍ̏ˑR̓dՒfȂǂɂă_[W󂯂Ă
  ΁AUnix ׂĂ̖ʂŊSɗオOɃt@CVXȅCs
  Kv܂Bq ``t@C VXe͂ǂĉ̂''
  ߂ŁÂƂɐG܂B

  init ̎̎d́A̃f[N邱ƂłBf[
  ́AׂƂ҂ȂobNOEhł蓮AvgE
  Xv[⃁[T[oAWWW T[oƂvÔƂłB
  ̓ʂȃvÓA镡̗v𒲐Ȃ΂ȂȂƂ
  XɂĂ܂Bf[Ƃ闝ŔÃvÕR
  s[(eX 1 ̗vāA炪ׂēɓĂ)ɁA
  ݂ɑ̏ɉeyڂȂmF悤Ƃ́A
  ςȂŁAׂĂ̗vɂĒmĂ 1 {̃vO
  ȒPłBȂ̃VXeŊJn邱̓ȃf[Q
  VXeɂقȂĂ邩܂񂪁AقƂǂ̏ꍇ̒ɂ̓v
  gEXv[(v^̔Ԑl)܂܂܂B

  񂷂ׂẴf[JnƁAx 2 ɓƂɂ
  ܂B̃Xebvł̓[Uɑ΂鏀s܂Binit  getty 
  Ă΂vÕRs[N邱ƂɂAȂ̃R\[
  ܂(ꍇɂẮAȏ̐ getty _CCp̃VA
  E|[gĎ邱Ƃ܂)B̃vÓAȂ̃R\
  [ OC vvg\܂BŃx 3 ɓBA
  [UOCăvO𓮂߂̏ƂɂȂ
  B

  5.  OCƉN?

  (OCƃpX[h͂)OCƁAȂ getty 
  уRs[^ɔF܂Bgetty  (̂܂܂ȖOł)login
  ƌĂ΂vOs܂B̃vO͂Ȃ}V̎gp
  Ă邩ǂ`FbN܂BĂȂ΁A
  OC悤ƂĂۂ܂BĂ΁Alogin ͊Ǘ̂
  ̏sAR}hC^v^Ȃ킿VFN
  B(Agettylogin ͂ЂƂ̃vOɂł܂BʁXɂȂ
  Ă̂́AjIȌo܂̂߁Aɂ͓̂łȂ
  B)

  VXe[UɃVFg킹OɂĂ邱Ƃ͂
  B͌Ńt@C̃p[~bV̐鎞ɂ͗ĂK
  v܂B[U̓[UƃpX[hŎʂ܂B̃OC
   /etc/passwd Ƃt@C܂B̃t@Cɂ́A[U
  AJEgɂďꂽsł܂B

  ̃tB[ĥЂƂ́AAJEg̃pX[hÍ̂
  BAJEg̃pX[hƂē͂́ApX[htB[h
  ƑS@ňÍAlogin vO͂炪v邩ǂ
  `FbN܂B̕@̈S͈ȉ̎ɊÂĂ܂B
  ÃpX[hÍ̂͊ȒPłA̋t͔̑ɍ
  łBāANɈÍpX[hꂽƂĂAJE
  gg邱Ƃ͂܂B(́ApX[hYĂ܂Ƃ
  𒲂ׂ@͂ȂAʂ̃pX[hɕύX邵ȂƂƂ
  ܂B)

  񂤂܂OCƁAȂgĂlAJEgɑΉ
  錠SĎɓ܂B܂AȂ̓O[v̈ƂĂʂ
  ܂BO[v́AVXeǗ҂ݒ肵[ȔWłBO[v
  ́AX̃o[̌Ƃ͓Ɨ̌Ă܂B[Ũ͕O
  [ṽo[ɂȂ܂B(Unix ɂ錠ǂɂẮA
  q``p[~bV''Ɋւ߂B)

  (ʂ̓[UƃO[v͖OŎQƂ܂A͓Iɂ͐l
  ID ŕێĂ邱ƂɒӂĂBpX[ht@C̓AJE
  g[U ID ɑΉt܂B/etc/group t@C̓O[v
  l̃O[v ID ɑΉt܂BAJEgO[vR}h́A
  ̕ϊIɍs܂B)

  Ȃ̃AJEg̃Ggɂ̓z[fBNg܂܂Ă܂B
  ́Al̃t@Cu Unix t@CVXëʒułBŌ
  ɁAAJEg̃Ggɂ̓VF̐ݒ܂܂܂B͂Ȃ
  ͂R}h󂯕t邽߂ login sR}hC^v^
  łB

  6.  VFvON牽N?

  ʏ̃VFł́AOC(̂̂ɃJX^}CYĂȂ
  )'$' vvg\܂Bł̓VF̕@Aʂɕ\
  ̂ɂĂ͐G܂B̂AŋNĂ邱Ƃ̔wi
  ɂāARs[^̎_l@Ă݂܂B

  u[gIAȂvON悤ƂOɎvoĂ
  Ƃ́ARs[^̒ɂׂ͉Ƃ҂ĂvZ
  ẌQƂƂłBׂ͂ăCxg ҂Ă܂B
  CxgƂ́AȂL[Ƃ}EX𓮂Ȃǂ̂łƂ
  B܂AȂ̃}Vlbg[NɐڑĂ΁Ãlbg
  [NʂẴ}VɓĂf[^pPbgCxĝ 1
  ƂȂ܂B

  J[l܂̃vZX̒ԂłBJ[lȂ̂́Ȃ
  ̃[UvZX łƂɂ͂Rg[A܂ʏ
  }Ṽn[hEFAɒڃANZXł邽 1 ̃vZX
  BہA[UvZX͗v쐬ăJ[lɓ`邱ƂɂAL
  [{[h͂擾Aʂɏ񂾂AfBXN̓ǂݏ
  肵Ȃ΂Ȃ炸A 1 łł邱Ƃ́A̒Ńrbg
  vZ肷邱Ƃ炢łB̗v́AVXeR[Ƃ
  ĒmĂ܂B

  ʏ킷ׂĂ I/O ̓J[lʂčŝŁAJ[l͑̃XP
  W[OsAevZX݂ɉeyڂȂ悤Ɏ
  Ă邱Ƃł܂Bꕔ̓ȃ[UvZXł́AI/O |[g
  ̒ڂ̃ANZXƂɂAJ[l̂mȂƂ
  삷邱Ƃ̂܂B̈ԓT^IȗƂĂ X
  T[o(قƂǂ Unix }VɂāÃvO̗v
  OtBbNXʂɕ`悷vO)܂BX͂܂ X
  T[o܂ł͂ǂĂ܂BȂ͂܂LN^ER\[
  ̃VFEvvgĂ邾Ȃ̂łB

  VFPȂ郆[UvZX 1 łAʂɓȂ̂ł͂܂
  BVF(J[lʂ)L[{[h I/O |[gĎ邱Ƃ
  L[͂҂܂BL[ꂽƂJ[loƁA
  ʂɃGR[(\)ƓɃVFɓn܂BJ[l `Enter'
  oƁAeLXgsVFɓn܂BăVF͂̃L[
  ͂R}hƂĉ߂悤Ƃ܂B

  Ƃ `ls' ƃ^Cv Enter L[ƁAUnix ̃fBNgꗗ
  \@\N܂BVF͓ɑgݍ܂ĂKKpāA
  Ȃ `/bin/ls' t@CƂt@CɓĂs\R}h
  𑖂点悤ƂĂ邱Ƃm܂BăVXeR[𔭍s
  /bin/ls VqvZXƂċN邱ƂJ[lɑ΂ėvA
  J[lʂĉʂƃL[{[hɃANZX錠̎qvZXɗ^
  ܂B̌VF̓X[vAls Î҂܂B

  /bin/ls ͏Iۂ exit VXeR[𔭍sĎsIJ[l
  ɒʒm܂BƃJ[l̓VFN(wake-up)𑱍s
  悤w܂BVF͎̃vvg𔭍sĎ͍̓s҂܂B

  ȂA`ls' sĂԂɂȂ͕ʂ̂ƂsĂ
  ܂(Ƃ΂ȂAƂĂfBNg̃XgoĂ
  Ƃ܂傤)BȂ͑̉zR\[ɐ؂ւĂŃOC
  AQuake ̃Q[n߂Ă悢̂łB܂́AȂC^[lbg
  ɐڑĂƂ܂傤BȂ̃}V /bin/ls sȂ烁
  [̑MsƂł܂B

  7.  ͑uƊ荞݂Ăǂē?

  L[{[h͔ɒPȓ͑ułBȂPƂƁAȒPʂ
  f[^(Rs[^̕W@\ɂ)ɂƐ邾
  łBL[藣肷ƁÃCxgML[{[hEP
  [u`āAn[hEFA荞݂N܂B

  ̂悤Ȋ荞݂Ď̂̓Iy[eBOEVXe̎dłB
  e̊荞݂Ƃ 荞݃nhpӂĂ܂B̓Iy
  [eBOEVXëꕔŁA (L[/Ȃǂ\l̂
  )֘Af[^ł悤ɂȂ܂ŕۑĂ܂B

  L[{[h̊荞݃nhۂɍsƂ́AL[̒lRA̒̕
  ɂVXëɊi[邱ƂłBIy[eBOEVXeA
  ݃L[{[h̓ǂݍ݂sĂƌȂꂽ炩̃vO
  nÃvO͊i[ꂽl𒲂ׂ邱Ƃł悤
  Ȃ܂B

  fBXNlbg[NEJ[hȂǁA蕡Gȓ͑ȕꍇA
  悭@œ삵Ă܂BfBXNERg[́AoXg
  fBXNւ̗vꂽƂ\킷M`Ă邱Ƃ͑Oɂ
  ܂BŎۂɂ́AfBXN͊荞݂𔭍sĂ̂łB
  ̌fBXN̊荞݃nh́A荞܂ꂽf[^ɃRs[
  AvovOł̃f[^g悤ɂ܂B

  ǂ̎ނ̊荞݂ɂA֘A Dxx܂BDx̊
  荞(L[{[hECxgȂ)́ADx̊荞(̍
  (clock ticks)fBXNECxgȂ)ɂ҂܂BUnix 
  ́A΂₭Ȃ΂ȂȂ悤ȃCxgɑ΂āA}V̉
  X[Yɕۂ߂ɍDx蓖Ă悤ɐ݌vĂ܂B

  OS u[g̃bZ[W̒ IRQ ԍɊւ̂\Ǝv
  Bn[hEFA̐ݒ~Xł悭N̂A2 ̈قȂfoCXA
  O̗Ȃɓ IRQ gƂĂ܂ƂłB

  @͂łBIRQ  "Interrupt Request" (荞ݗv) ̗
  BIy[eBOEVXe͂̊JnɁAen[hEFAEfoCX
  ǂ̔ԍ̊荞݂ĝcĂȂ΂Ȃ܂B2 ̈
  ȂfoCX IRQ gƂĂ܂ƁA荞݂Ԉ
  nh쓮Ă܂Ƃ܂Bʏ킱͏ȂƂ̃foC
  XTɍsAOS ̓킹NbV肷vƂȂ
  ܂B

  Rs[^͂ǂĕ̂Ƃ𓯎ɍsƂł?

  ۂɂ͂̂悤ȂƂ͂ł܂BRs[^͓ɂ 1 ̃^X
  N (܂ vZX)sł܂BRs[^́A^X
  Nɍɐ؂ւ邱Ƃł̂ŁAݏdȉXlԂɂ́A
  ̂ƂsĂ悤ɌĂ܂̂łB ^CEVF
  AO(:) ƌĂ΂Ă܂B

  J[l̎d̂ 1 Ƀ^CEVFAO̊ǗƂ̂
  ܂B XPW[ ƌĂ΂镔ōsĂA̓ɂ
  ̑SĂ(J[l)vZXɊւ񂪕ێĂ܂BJ[l
  ł 60  1 bƂɃ^C}ĎItɂȂANbN荞݂
  ܂B̎ǂ̃vZX삵Ă悤ƁAXPW[͂̃v
  ZX~ēꎞ~(suspend) Aʂ̃vZXɈڂ
  B

  60  1 bƂԂ͂Ƃ͊Ȃ܂B}C
  NEvZbT͍łƂ}V߂sĂ
  ApɂȊ荞݂͔ȕׂƂȂ܂B̂ߑ̃vZX
  ĂꍇAevZX 1 ̃^CXCX(: CPU Ԃ̊蓖
  )ł͂ق̂Ƃł܂B

  ۂ́AevO͊蓖Ăꂽ^CXCXقƂǎgȂ
  Ƃ܂BI/O foCX犄荞݂ꍇAJ[l͌悭
  ݂̃^XN~A荞݃nh쓮Ă܂݂̃^XNɖ
  ܂BDx̊荞݂EꍇA䂪DĒʏ͓̏
  s\ƂȂ܂B̌ۂ̂Ƃ XbVO ƌĂт܂AK^Ȃ
  Ƃɍŋ߂ Unix ł͂قƂǋN邱Ƃ͂܂B

  ہAvO̓쑬x͎擾\ȃ}V^CɂĂ̂ݐ
  ܂Â悤Ȑ͂߂ɔ邱Ƃł͂܂ (̃[
  ̐ȂOƂẮATEh 3 OtBbNX̐Ȃǂ
  ܂)B悭鎖ۂƂẮAvOfBXNEhCu
  lbg[NERlNṼf[^҂Ȃ΂ȂȂꍇAs
  ̒xN܂B

  IɁAɓ삷鑽̃vZXT|[g邱Ƃ̂łIy
  [eBOEVXêƂAu}`^XN OSvƌĂт܂BUnix n
  Iy[eBOEVXéA}`^XLÔ߂ɐ݌v
  AWindows  Mac OS ȂǂɔׂĔɂ܂@\Ă܂BMac OS
  ̏ꍇ́A}`^XLO͌ォǉꂽ@\ŁA܂肤܂
  ĂƂ͂܂BIŐM̂}`^XLÓALinux
  Ńlbg[LOʐMA Web T[rXsɂADʐ
  ߂̏dvȗvfƂȂĂ܂B

  8.  Rs[^͂ǂĕ̃vZX݂ɊȂ悤
  ɂĂ?

  J[l̃XPW[́ÃvZXԂŕĂ܂B܂A
  Iy[eBOEVXe͎ԂƓlɋԂłvZX𕪊܂B
  ̂߁AevZX݂͂̍ƃɓ邱Ƃł܂BƂ
  SẴvOꏏɓƂĂAvÕoÕv
  OɊQ^邱Ƃ͂܂BIy[eBOEVXes
  ̖ɑ΂Ώ@̂ƂAǗ ƌĂт܂B

  Ȃ̊ǗɂevZXɂ́AsׂR[hi[ϐ
  ێČʂނ߂̃RÄ̗悪ꂼKvɂȂ܂B
  ̗̈̃ZbǵAǂݍ݂݂̂ R[hZOg (vZX̖߂
  ێĂ)ƁA݉\ȃf[^ZOg (vZXׂ̂Ă
  ϐ̈ێĂ)\܂Bf[^ZOg͊evZX
  ԂőSj[NłA2 ̃vZX̃R[hsꍇA
  IɊǗ邽߂ɁAUnix ͎IɒP̃R[hZOgL
  悤ɂ𒲐܂B

  ؂Ȃ̂́ARAłB}Vœ삵Ă邷
  ׂẴvOŜێ邱ƂłȂꍇɂ͂܂B X
  T[ô悤ȋȃvOgĂ鎞Ȃǂ͓ɂłB̖
  邽߂ɁAUnix ł z Ƃ@g܂B̎
  @ł́AvZX̂߂ׂ̂ẴR[hƃf[^RAɎƂƂ͂܂
  B̂rI [LOZbg ێ܂BvZX̒
  ̂ȊȌ́An[hfBXN̓ XbvXy[X ̈Ɏc
  ܂B

  vZX삷ƁA Unix ͂ǂꂭ炢̃[LOZbgύX
  \AvZXԂ̂Kvŏ̕RA̒Ɏ܂B
  ʓIɍsƂ͕Gł̍񂾂ƂȂ̂ŁAłׂ̂
  邱Ƃ͂܂ -- ̎@́AR[hуf[^̎Q
  ɂẮAV̂͌Â̂̋߂̂ǂQƂ邱ƂA
  ͘AċNXƂɊÂĂ܂B

  : ߋɂẮA2 O̒íuɂ́v́̕uقƂǏɁv
  łBRÃTCY͊{IɃvÕTCYɔrď߁A
  XbsOpɂɋN܂B͍ł͂͂₻Ȃɍ
  ł͂ȂA[Gh̃}Vł\ȃςł܂BRA
  64MB ȏ̃ςłŋ߂̃VO[UE}Vł́AX 
  ĈʓIȃWugݍ킹đ点ĂSXbsO͋N
  B

  ̍Kȏ󋵂ɂĂȂAE}l[W ƌĂ΂Iy[
  eBOEVXëꕔ́AɏdvȖڂʂĂ܂B
  E}l[ẂAvOύXł͎̂g̃f[^ZO
  ĝ݂ł邱Ƃۏ؂Ȃ΂Ȃ܂B܂AvÕR
  [hԈāA͈ӂăf[^ʂ̓eɏ邱Ƃ
  NȂ悤ɂȂ΂Ȃ܂BE}l[W ͂s
  ߂ɁAf[^уR[hEZOg̃e[uێĂ܂Bv
  ZX葽̃v(ʏ̓vȌI)
  肷邽тɁÃe[u͍XV܂B

  ̃e[úAMMU܂̓ǗjbgƌĂ΂AœĂ
  n[hEFA̓ʂȕɃR}hn߂Ɏg܂Bŋ߂̃v
  ZbTE`bv MMU Ă܂BMMU ̓̈肩ی
  Ƃڂ܂̂ŁÄ𒴂QƂ͋ۂAȊ荞
  ݂悤ɂȂĂ܂B

  ܂ł "Segmentation fault", "core dumped" Ƃ Unix bZ
  [WƂ΁A܂ɂꂪNƂƂłB쒆̃v
  ÕZOgÕANZX悤ƂꍇAvI
  荞݂܂B̓vOɃoO邱ƂĂ
  B̍ۂɂ̓vO}ǋł悤ɁARA_v Ƃf
  f񂪏o͂܂B

  ̃ANZX𕪗ȊOɂAvZX݂ی삷󋵂
  ܂B܂At@C̃ANZXāAoOۂvO∫
  ӂ̂vOVXȅdvȕ󂹂Ȃ悤ɂƎv
  傤BꂪAUnix ``t@C̃p[~bV''闝RłB
  ɂĂ͌q܂B

  9.  Rs[^͂ǂ̂悤ɃɏL^Ă?

  Rs[^͉łrbg(i̐lBȃI/It̃XCb`
  񂠂ƍlĂ܂܂)ƂĎĂ邱Ƃ͑m
  傤B̐߂ł́ARs[^KKĂ镶␔l͂
  rbgǂ̂悤Ɏgĕ\̂܂B

  n߂OɁARs[^̃[hTCYɂėĂKv
  ܂B[hTCÝÂ܂Rs[^Ƃ
  ɍDޑ傫̂ƂłBZpIɂ́A̓vZbT̃WX^̕
  BWX^Ƃ́ARs[^lZ_ZsۂɃf[^
  邽߂Ɏg̈łBʂɃRs[^rbgTCYgČ
  \(Ⴆ΁u32 rbgvu64 rbgṽRs[^ƌĂ)ꍇ́A
  ̂ƂĂ̂łB

  قƂǂ̃Rs[^(386, 486, Pentium, Pentium II  PC)̃[hT
  CY 32 rbgłBÂ 286 }Ṽ[hTCY 16 rbgłB
  Â`̃Ct[@̑̃[hTCY 36 rbgłB
  ̃vZbT (Ⴆΐ̂ DEC,  Compaq oĂ Alpha )
  [hTCY 64 rbgłB64 rbg̃[hTCÝAꂩ 5
  NԂłƈʓIɂȂł傤BIntel ́APentium II ̌pƂ
  `Merced' ƌĂ΂ 64 rbg`bvv悵Ă܂B

  Rs[^́A0 n܂胁TCYŌ܂傫Ȓl܂łUꂽ
  [h̕тƂăRA܂B̒l̓Rs[^̃[hT
  CYɂČ܂܂B̂߁A286 ̂悤ȌÂ}Vőʂ̃
  gɂ́AJĂЂ˂ꂽƂȂ΂Ȃ܂Bł͂
  ͂܂B̂̃vO}ɂ͂܂ł傤ˁB

  9.1.  l

  l̓[hgĕ\A[h̑ggĕ\܂BǂȂ邩̓v
  ZbT̃[hTCYŌ܂܂B[hTCY 32 rbgƂ
  ʓIłB

  l͐wIȈӖł̓iɂ悭Ă܂Aۂɂ͈قȂ̂
  Bʂ̃rbg͏ 1, 2, 4, cƂȂASɓiłBA
  t̐\ɂ2 ̕␔g܂Bʂ̃rbg͕rbgł
  Al𕉂ɂ܂B̐͏ɁAΉ鐳̐̑SẴrbg𔽓]
  邱Ƃɂē܂BɂA 32 rbg̃}V -2^31 
   2^31 - 1 ܂ł̐\܂(^ ́uׂv̉ZłB܂ 2^3 =
  8 ƂȂ܂)B32 Ԗڂ̃rbg͕\߂Ɏg܂B

  ꕔ̃Rs[^ł́Alg܂B 2 
  A0 Ɛ̐܂B

  قƂǂ̃vZbTƈꕔ̌́A_̐l܂(̋@
  \́Aŋ߂̑SẴvZbT`bvɍڂĂ܂)B_g
  ƁAƍL͈͂܂A\ł܂B
  _@͂낢날AŐɂ͂Ɠ
  łAʓIȍl͂uȊwvZL@vɎĂ܂B̋L@
  ł(Ⴆ) 1.234 * 10^23 Ƃ܂B̋L@̐ĺA
   (1.234)  10 ׂ̂|邽߂̎w(23)ɕ܂B
  9.2.  

  ͕ʁAASCII(American Standard Code for Information Interchange)
  ƌĂ΂GR[fBO 7 rbgPʂ̃f[^ŕ\܂Bŋ߂
  }Vł́A 128  ASCII ̂ꂼ́A8 rbg̃INebg̉
   7 rbgłBINebǵA(Ⴆ)6 ̕ 2 ̃
  [hƂȂ悤Ƀ[hɋlߍ܂܂BASCII ̃R[h\
  ́A Unix ̃vvg `man 7 ascii' Ɠ͂ĂB

  O̒iɂ͕킵_ 2 ܂BƂ́AuINeb
  gvƂt͌ɂ͐̂łAۂɎg邱ƂقƂǂ
  _łB啔̐l̓INebgoCg̈ӖŎgAoCgƂ 8
  rbgƎvĂ܂BɌƁAuoCgvƂẗӖ
  ƈʓIłBႦ΁Â̓oCg 9 rbg 36 rbg}V
  ܂ (Ȃ̂͂xƏoȂł傤)B

  dvȕ́AE ASCII gĂ킯ł͂Ȃ_łBۂɂ́A
  Ȇ̏ꏊł ASCII ͎ĝɂȂ܂BASCII ̓AJp
  Ŏgɂ͂̂łǍ̃[UKvƂANZgL
  LȂ̂łBCMXp̏ꍇłAʉ݂̃|hL
  ȂƂ肪܂B

  ̖悤Ƃ݂܂B͑SāAASCII
  gĂȂʃrbgǉĎgAASCII W 256 ̏W
  ̉ʂ̔Ƃ܂B̂AƂLgĂ̂͂
   `Latin-1' Wł(ƌɂ ISO 8859-1 ƌĂ΂܂)B
   Linux, HTML, X ̃ftHg̕WłBMicrosoft  Latin-1
  ̈̃o[WgĂ܂B́A Latin-1 ł͗jI
  R當蓖ĂɎcĂ̈ɉEE̓dpƂ
  QǉĂ܂(ꂪŋNguɊւЂǂbɂ
  Ă demoroniser <http://www.fourmilab.ch/webtools/demoroniser/> 
  y[WĂ)B

  Latin-1 ̓[bp̎vȌ܂Bɂ͉pAtXA
  hCcAXyCAC^AAI_AmEF[AXEF[f
  Af}[Nꂪ܂܂܂Bł܂\ł͂܂B
  ̌ʁAMVAArAAwuCAZrA-NA`A
  ߂ɑS Latin-2  Latin-9 ܂ł̕Wł
  Ă܂Bڂ ISO alphabet soup
  <http://www.utia.cas.cz/user_data/vs/documents/ISO-8859-X-
  charsets.html> ̃y[WB

  ɂ̉@́AUnicode ƌĂ΂鋐ȕWKi(сAƓ
  oqł ISO/IEC 10646-1:1993)łBUnicode ́Ałʂ 256 X
  bgɂĂ Latin-1 ƑSłB̏ʂ 16 rbg̋Ԃ
  ̓MVALAAjAAwuCAArA
  Afoi[K[AxKAOL[AOW[g
  AI[A^~AeOAJi_A}[
  A^CAIXAOWAA`xbgA{̉
  A؍̃nO̊SȏWAĒ/{/؍(CJK)̊
  𓝍W܂Bڂ Unicode ̃z[y[W
  <http://www.unicode.org/> B

  10.  Rs[^͂ǂ̂悤ɂăfBXNɏi[?

  Unix Ńn[hfBXN̓eƁAO̕tfBNgt@C
  ̃c[܂Bʏ킻ȏ̂ƂmKv͂܂񂪁A[
  ƂŉsĂ邩mĂƁAfBXNENbVN
  ăt@C~ƂꍇȂǂɖ𗧂Ƃ܂BcOȂƂɁA
  fBXN̍\t@Cx牺̕ɉȂ̂ɂ悢
  @Ȃ̂łBƂƂŁAł̓n[hEFA̕Ɍ
  Ȃ΂Ȃ܂B

  10.1.  ჌x̃fBXNƃt@CVXe\

  f[^i[ꏊłfBXN̕\ʗ̈́A̃gbNO
  ăZN^(sector:`)ɐ؂蕪A傤ǃ_[cՂ̂悤ɕ
  Ă܂BO̒[ɋ߂gbŃAfBXN̒SɂXsh
  (S)ɋ߂Ƃ葽̗̈߁AÕgbN͓
  gbN葽̃ZN^ɋ؂Ă܂BeZN^(܂̓fBXNu
  bN)͓̃TCYłAŋ߂ Unix ł͈ʓI 1 LoC
  g(1024  8 rbgE[h)łBefBXNubN̓j[NȃAh
  X܂̓fBXNubNԍĂ܂B

  Unix ł̓fBXNfBXNEp[eBVɕ܂Bep[eBV
  ̓ubNÂŁAt@CVXeƂĂXbvXy[X
  ƂĂÂǂ̃p[eBVƂʂĎg܂Bԏԍ
  ꂽp[eBV́Au[gJ[lu߂̃u[gEp
  [eBVpƂĎ舵邱Ƃ΂΂܂B

  ep[eBV́AXbvXy[X(``z''邽߂Ɏg
  ܂)܂́At@Cێ邽߂Ɏgt@CVXe
  ꂩłBXbvXy[XEp[eBV͒PɘAubN
  тƂĈ܂Bt@CVXéAt@CfBXNu
  bN̕тɑ΂ă}bsO邽߂̕@KvƂ܂BȂȂ
  ΁At@CƂ͎̂Ԃ̌o߂ɂꂻ̃TCY傫Ȃ菬
  ȂA܂eύXꂽ肷̂ŁAet@C̃f[^ubN
  ͘Aтł͂ȂȂĂ䂫Ãp[eBVɎUU΂
  ɂȂĂ܂Ȃł(Iy[eBOEVXéAK
  vȂƂɂ̃p[eBV̂ǂ炩󂢂ĂubN邱
  Ƃł悤ɂȂĂ܂)B

  10.2.  t@CƃfBNg

  et@CVXeɂẮAOubNւ̃}bsO i-m[
  hƌĂ΂\̂ʂčs܂Bet@CVXéuv(ŏ
  ̔ԍꂽubN)̋߂ɁÂ̂v[Ăꏊ
  ܂(̍ŏ̔ԍꏊ͊Ǘ⃉xO̖ړIŎg
  ܂Ał͂ӂ܂)BeX i-m[h 1 ̃t@C\
  Bt@C̃f[^ubŃAi-m[h邩琬藧Ă̂
  B

  eX i-m[hɂ́Aꂪ\t@C̃fBXNubNԍ̃Xg
  Ă܂(ۂ́A͐mł͂܂B{͏ȃt@C
  ɂ̂ݓĂ͂܂܂AɊւ̓IȘb͂ł͏dvł͂
  )Bi m[hɂ̓t@C̖OĂ̂ł͂ȂƂɒӂ
  B

  t@C̖O̓fBNg\̂̒ɂ܂BfBNg\
  ́APɖO i-m[hւ̃}bsOsĂ邾łBȂȂ
  Unix ł́A1 ̃t@C͕̖{̖O(܂̓n[hN)
  Ƃł邩łB͒PɁA܂ܓi-m[hwĂA
  ̃fBNgEGgȂ̂łB

  10.3.  }Eg|Cg

  ƂPȃP[Xł́AUnix t@CVXeŜ 1 ̃fBX
  NEp[eBVɂ܂B̏ȃp[\i Unix VXe
  ł̂悤ȍ\ɂȂĂ邱Ƃ܂A͗OȂ̂łB
  ʓIɂ́At@CVXe͂̃fBXNEp[eBVɂ܂
  Aɂ͈قȂfBXNɂ܂Ă邱Ƃ܂B
  ŁAƂ΂Ȃ̃VXeł́A 1 ̃p[eBVɃJ[l
  A菭傫ȃp[eBV OS ̃[eBeB
  ĂāAɑ傫ȃp[eBVɃ[Ũz[EfBNg
  Ƃ܂傤B

  VXẽu[gシɃANZXB̃p[eBV̓[gEp[
  eBV łB(قƂǏ)u[gn܂܂B̓t@
  CVXẽ[gEfBNgێĂāAԂ炳Ă
  SĂ̍ŏʃm[hłB

  VXêȊÕp[eBV́Ap[eBVɂ܂邠
  Ȃ̃t@CVXeŜANZX\ɂȂ悤ɁÃ[gEfB
  NgɐڑȂ΂Ȃ܂Bu[g̓rɁAUnix
  VXe͂烋[głȂp[eBVANZX\ɂ܂B
  ́Ãp[eBV[gEp[eBV̂fBNgɃ}
  Eg邱Ƃɂs܂B

  Ƃ `/usr' ƌĂ΂ Unix ̃fBNg܂A͂
  炭p[eBVւ̃}Eg|CgłA̒ɂ Unix ɃCX
  g[Ă鑽̃vOĂ܂B́Au[g
  ̍ŏ̎_ł͕KvƂȂ̂łB

  10.4.  ǂăt@C?

  āAǂăt@Cgbv_EŌ΂̂ł傤B
  t@C(Ƃ/home/esr/WWW/ldp/fundamentals.sgml) I[v
  ۂɋNĂ͈̂ȉ̂悤ȂƂł:

  J[ĺA([gEp[eBVɂ) Unix t@CVXe猟
  Jn܂B `home' ƌĂ΂fBNg܂B
  `home' ͑̂Ƃɂ傫ȃ[UEp[eBVւ̃}Eg|C
  gŁA܂֍s܂B̃[UEp[eBṼgbvx
  fBNg\ɂ `esr' ƂGĝŁA i-m[h
  ԍ𒊏o܂B i-m[h֍sAꂪfBNg\ł邱
  ƂmA `WWW' T܂B i-m[hԍ𒊏oAΉT
  ufBNgɍsA`ldp' T܂B܂fBNg i-m
  [hłBI[vA`fundamentals.sgml'  i-m[hԍT
  ܂B i-m[h̓fBNgł͂ȂÂ肻̃t@CɊ
  AfBXNubÑXgێĂ܂B

  10.5.  t@C̏LAp[~bVAZLeB

  󂵂Ă͂Ȃf[^vÔŁA邢͈ӂĉ󂳂
  悤ɂ邽߁AUnix ɂ̓p[~bVƂ@\܂B
  XA}Vɂ镡̃[Uی삷邱Ƃɂă^CVFA
  OT|[g邽߂ɐ݌vꂽ@\łAɍȋL~jR
  s[^ Unix gĂɍꂽ̂łB

  t@Cp[~bV𗝉邽߂ɂ́A ``OCƉN
  ''̏͂̃[UƃO[v̐voKv܂BSẴt@C
  ͏L[UƏLO[vĂ܂B̏l̓t@C
  쐬҂łBlςɂ chown(1)  chgrp(1) ƂvOg
  ܂B

  t@CɎ{Iȃp[~bV́uǂݎv(t@C
  f[^ǂݎ鋖)Au݁v(t@CC鋖)Au
  sv(t@CvOƂĎs鋖)łBꂼ̃t@C
  3 g̃p[~bVĂ܂B܂菊L[Uɑ΂p[~b
  VALO[vɑ΂p[~bVAȊȎSĂ̐lɑ΂
  p[~bVłBOCɓu(privileges)v́Ap
  [~bV\rbg̃[U ID ĂO[v
  Ɉvt@C̓ǂݎA݁AssƂłB

  p[~bV^eƁAUnix p[~bVǂ̂悤ɕ\
  ̂m邽߂ɁAzI Unix VXeɂt@C̃Xg\
  Ă݂܂傤Bȉ̃Xgł:

  snark:~$ ls -l notes
  -rw-r--r--   1 esr      users         2993 Jun 17 11:00 notes

  ͒ʏ̃f[^t@CłBXg\ƁA̓[U `esr'
  LĂALO[v `users' ō쐬Ă邱Ƃ킩
  BXgĂ}Vł́ASĂ̈ʃ[U̓ftHgł̃O
  [vɓĂł傤B^CVFAOVXẽ}Vőɂ悭
  gO[vƂẮA`staff', `admin', `wheel' ܂(
  ƂłAlgp̃[NXe[V PC ł̓O[v͂܂dv
  ł͂܂B)BȂgĂ Unix ł́AقȂftHg̃O
  [v([U ID ̌ɎĂO[vƎv܂)gĂ
  邩܂B

   `-rw-r--r--' ͂̃t@C̃p[~bVrbg\܂B
  ̃_bV(`-')́AfBNgrbg̈ʒułB̃t@CfB
  NgȂA `d' ƂȂ܂Bꂩ炻̎ 3 [Up[
  ~bVA̎ 3 O[vp[~bVA̎ 3 
  ȊOɑ΂p[~bV(uEɑ΂vp[~bVƌĂ΂
  Ƃ܂)łB̃t@C̏ꍇ́AL[U `esr' ̓t@C
  ̓ǂݏłA`users' O[v̑̃[U̓t@CǂނƂ
  AȊÕ[U͑St@CǂނƂł܂B̃p[~b
  V̑gݍ킹́Aʏ̃f[^t@CƂĂ͓T^IȐݒłB

  āA܂ʂ̃p[~bVt@CĂ݂܂傤B
  t@C GCC(GNU C RpC)łB

       snark:~$ ls -l /usr/bin/gcc
       -rwxr-xr-x   3 root     bin         64796 Mar 21 16:41 /usr/bin/gcc

  ̃t@C `root' ƌĂ΂郆[U `bin' ƌĂ΂O[vɏ
  Ă܂B̃t@Cɏ(ύX)ł̂ root ł
  AǂݎƎs͒Nłs܂B͗\߃CXg[ĂV
  XeR}h̏L҂уp[~bVƂĂ͓T^IȐݒ
  B`bin' O[v́AVXeR}h܂Ƃ߂邽߂Ɉꕔ Unix VX
  eŗpӂĂ܂B Unix ̎ނɂẮA`bin' O[vłȂ
  `root' O[vgĂꍇ܂(`root' O[v `root' 
  [U͑Sʕł!)B

  `root' [ÚAl[U ID  0 ̃[U̓`IȖOłB
  ͓ʂȃ[UłǍ㏑łĂ܂Broot
  ɂANZX͕֗łA댯ł܂Broot ƂăOC
  鎞̓̓~XŁAdvȃVXet@C󂵂Ă܂Ȃ
  łBR}hsĂAʃ[ŨAJEgł΁A
  t@C͉󂹂܂B

  root ̃AJEg͔ɋ͂Ȃ̂ŁAroot ւ̃ANZX͓ɌdɎ
  ׂłBroot ̃pX[h́AVXẽZLeB̒łł
  dvȂ̂łAȂ_ĂNbJ[N҂DƂĂ
  ̂łB

  (pX[hɂ: pX[h͏߂Ă͂܂B̖O
  FBAz҂̖OȂǁAȒPɐł悤ȃpX[hIł͂
  ܂B̓NbJ[ƂĂȀȂKłcB)

  ɁA3 Ԗڂ̃P[X܂傤:

  snark:~$ ls -ld ~
  drwxr-xr-x  89 esr      users          9216 Jun 27 11:29 /home2/esr
  snark:~$

  ̃t@C̓fBNgł(ŏ̃p[~bV̍ڂ `d' ł
  Ƃɒ)B̃t@Cɏ݂ł̂ esr łA̒N
  łǂݎƎs͉\łBfBNg̏ꍇAp[~bV̈
  ͓ʂłBfBNg̃p[~bV́ÃfBNgɓ
  Ăt@Cւ̃ANZX𐧌䂵܂B

  fBNg̓ǂݎp[~bV͊ȒPłBPɁÃfBNg
  ̓e𒲂ׂ邩ǂ\܂B݃p[~bV́A
  fBNgł̃t@C̍쐬E폜̋o܂Bsp[~b
  V́ÃfBNǵuv̋o܂BfBNg̓
  e\鎞At@C쐬E폜鎞͌\łȂ΂Ȃ܂
  BEsł邯ǐEǂݎ邱Ƃ͂łȂfBN
  g悭܂A͕s̃[UɃfBNg̃t@C
  fBNg̎擾ǁÂ͐mȖO킩Ăꍇ
  ɌƂӖɂȂ܂B

  ŌɁAlogin vOg̃p[~bVĂ݂܂傤B

       snark:~$ ls -l /bin/login
       -rwsr-xr-x   1 root     bin         20164 Apr 17 12:57 /bin/login

  ́AL҂̎srbg `s' ΁AVXeR}hőz肳
  p[~bVɂȂĂ܂B `set-user-id' ܂ `setuid
  rbg' ƌĂ΂ȃp[~bVĂ܂B

  setuid rbg͕ʁAʃ[U root ^(ꂽ`
  )KvvOɕt܂Bsetuid rbgsvO
  tĂƁÃvOsĂԂ́AvOt@C
  ̏L҂̌𓾂邱Ƃł܂BꂪȂǧƈvĂ
  邩ǂ͊֌W܂B

  root AJEĝ̂ƓAsetuid ꂽvO͕֗ł
  Ɋ댯ł܂Broot L҂ setuid ꂽvO
  ςłl͒NłAg root VFNł
  ܂B̂߁AقƂǂ Unix VXeł́At@CI[vď
  ݂sƁA setuid rbg͎IɗƂ܂BUnix ̃ZL
  eBɑ΂Ȗ́AZLeBj邽߂ setuid ꂽvO
  ̃oO˂Ƃ܂BāAZLeBɋCgVXe
  Ǘ҂ setuid ꂽvOɓɒӂ𕥂ĂAv
  OVCXg[邱Ƃ܂B

  Ƀp[~bV̐sƂɂ͂܂ĂAׂǏd
  vȘb 2 ܂B܂At@Cŏɍ쐬ꂽƂ̏LO
  [vƃp[~bV̕tłB[U͕̃O[vɏł
  ̂ŃO[v̕tɂȂ̂łÂ̈(/etc/passwd
  ̍ڂŎw肵)[ŨftHgO[vɂȂA[U
  t@C͕ʁÃO[v̏LƂȂ܂B

  ŏɕtp[~bVrbg̘b͂GȖłBt@C
  vOł͕ʁAŏ̃p[~bVw肵܂BA
  l umask ƌĂ΂郆[ŮϐɂďC܂B umask l
  ́At@CۂɗƂp[~bVrbgw肵܂Bł悭
  glłAقƂǂ̃VXeł̃ftHglƂȂĂ
   -------w- Ȃ킿 002 łB̒l͐Ȅ݃rbg
  Ƃ܂Bڂ́Ag̃VF man y[W umask R}hɊւ
  B

  10.6.  ǂē삪Ȃ̂ł傤?

  OɁAt@CVXe͉₷̂łƂق̂߂Ƃ
  ˁBŎ́At@C𓾂邽߂ɂ́AC܂Ȓ`FC
  fBNg i-m[hQƂ̖H̒ŁA΂Vт݂Ȃ
  Ȃ΂ȂȂƂĂ܂BŁAȂ̃n[hfBX
  NɈƂ낪邱Ƃ݂ɏoƂ܂B

  ^ǂ΁A̃t@Cf[^邭炢łނł傤B^
  ΁AfBNg\ i-m[hԍɖAȂ̃VX
  ẽTuc[܂Ƃ߂ēޗ̒ɗ邱Ƃł傤B邢͂
  ^΁At@C\̂A̃fBXNubN i-m[
  hւ̎QƂ_uĂ܂肷邩܂B̂悤ȗ͐
  ȃt@CɂLAƂƂ͐ꏊɂf[^܂łX
  Ɣj󂳂Ă܂܂B

  Kɂ̂悤ȋIȎ̂́AfBXÑn[hEFA̐M
  Ă߂ɁAɏȂȂĂ܂BłȂAԈ
  ȂƂۏ؂邽߂ɁAUnix IɃt@CVXe̐
  肽ƍl邱Ƃ̂ȂƂłBŋ߂ Unix ́Au[g
  (}Eg钼O)Ɋep[eBVɑ΂čȐ`FbNs
  ܂B܂A񂩃u[g邲ƂɁAڍׂȃ`FbNŝŁA
  ̍ۂ͑Ԃ܂B

  ȂƂ𕷂ƁAUnix Ƃ͋낵GŃguN₷
  ̂悤Ɋ邩܂񂪁Au[g̃`FbŃAۂɔQ
  ɑOɌo\ȖC肷邱ƂɂA[U
  S邽߂Ȃ̂łB̃Iy[eBOEVXeɂ͂@
  \͂ȂAu[g̑xƂ΂コ㏞ɁA[U
  тȂƂŏC悤Ƃ𓾂ȂƂĂ܂(v
  ɁAŏm[gE[eBeBЂƂĂA
  Ƃł)B

  11.  Rs[^Ă̂͂ǂē?

  ł``vO͂ǂē̂''ɂĂ͐܂Bǂ̃v
  OɓIɂ́ÃRs[^̃}Vꖽ߂̃oCgEXg[
  ƂĎsȂ΂Ȃ܂BlԂ̓}V܂
  Ƃł܂BƂnbJ[̊ԂłÂ͖őɌ
  ȂpɂȂĂ܂܂B

  J[lg̒Ńn[hEFAւ̒ڂ̃C^[tF[XT|[g
  ʂ̃R[h΁A݂ł͂قƂǂׂĂ Unix ̃R[h͍
  ŏĂ܂(ŌƂ́AjIȂȂŁA獂
  uᐅṽAZuƋʂ邽߂̂̂łB҂͊{
  Iɂ̓}VR[hޔݎ(bp[)ł)B

  ̈قȂނ̍ꂪ܂B邽߂ɁA
  ƓbɂĂƎv܂BvÕ\[X
  R[h̖͂|nʂāA}VۂɎs邱Ƃ̂ł}V
  R[hɗƂ܂B

  11.1.  RpC

  ]̂قƂǂ̌̓RpCłBRpC̓RpC
  Ă΂(̂܂܂ȖOł)ʂȃvOɂoCĩ}V
  R[hƂĂ̎st@Cɕϊ܂BoCi
  ƁAĂт̃\[XR[hQƂ邱ƂȂAڂ̃oCisł
  ܂(قƂǂ̃\tgEFA̓RpCꂽoCiƂĒ񋟂
  ÃR[h[U邱Ƃ͂܂)B
  RpC͍ptH[}XAقƂǊ OS ւ̃A
  NZX񋟂܂AꂾvÔ͓Ȃ܂B

  C ́AUnix ̂Ă錾łARpC̒
  (̕ώł C++ Ƌ)̏ȂdvłBFORTRAN RpC
  ŁAZp҂Ȋw҂̒ł܂gĂ܂AÂA
  茴nIłB Unix ̐EŎɎgĂ̂͂ꂭ炢łBUnix
  ȊO̐Eł́AZrWlXp̃\tgEFAƂ COBOL ɍL
  ͈͂ŎgĂ܂B

  ̑̃RpCꂪgĂ܂ÂقƂǂ͂
  IA܂͌ɂ͌c[ɂȂĂ܂BV
  Unix J҂ɂȂăRpCĝł΁A͂OI
  C  C++ ɂׂłB

  11.2.  C^v^

  C^v^̓C^v^EvOɈˑĂ܂B̓\[
  XR[hǂŁȀŒ|󂵁AvZVXeR[
  Ă񂾂肷̂łB̃R[hs邽тɁÃ\[X͖
  ߂(ÃC^[v^݂)Ȃ΂Ȃ܂B

  C^v^͈ʓIɃRpCᑬŁA܂Iy[eB
  OEVXen[hEFAւ̃ANZX𐧌邱ƂX܂B
  AC^v^̓vÔeՂŁARpCɔ
  ׂăR[fBÕG[ɂełB

  VF bc(1)  sed(1)  awk(1) Ƃ Unix [eBeB
  ́A̓C^v^łBBASIC ʃC^v^łBTcl 
  łBjIɁAłdvȃC^v^ LISP ł(
  ̂̒łƂWĂ܂)Bł Perl ɍL͈͂Ŏg
  ĂAɕ]グĂĂ܂B

  11.3.  P R[h

  1990 NȗARpCƒ|̗gꂪ񂾂Ədv
  ɂȂĂĂ܂BP R[h́A\[XۂɎsRpNg
  oCiɃRpCƂ̓RpCɎĂ܂Ǎ`
  ̓}VR[hł͂܂B̋^R[h(܂P R[h)͕ʔ
  ɒPłA{̃}VR[hptłB̃vO
  ƁAP R[h߂܂B

  P R[h̓RpCɋ߂xœł܂(P R[hEC^v
  ^͔ɃVvɍ쐬łAčł)Bɂւ
  AP R[h͗ǂC^v^̏_ƃp[Ă܂B

  dv P R[hƂĂ Python  Java ܂B

  12.  C^[lbg͂ǂēĂ?

  C^[lbgǂēĂ̂𗝉̂邽߂ɁA
  ȂT^IȃC^[lbg̑ƂɉNĂ̂ɂ
  ČĂ܂傤B the Linux Documentation Project  Web ɂ
  z[y[WŁÃhLg̐擪y[WNbNƂ܂B
  ̃hLg

  http://metalab.unc.edu/LDP/HOWTO/Fundamentals.html

  ŁA̓zXg metalab.unc.edu  WWW JpfBNg
  LDP/HOWTO/Fundamentals.html ɂ邱ƂĂ܂B
  12.1.  OƂ̈ʒu

  Ȃ̃uEU܂Ȃ΂ȂȂƂ́ÃhLg
  }Vւ̃lbg[NERlNVm邱ƂłBs
  ɂ͂܂AzXg metalab.unc.edu ̃lbg[NIȈʒuȂ
  ΂Ȃ܂(uzXgvƂ́uzXg}Vv܂́ulbg[NzX
  gv̗łB metalab.unc.edu ͓T^IȃzXgłBɑΉ
  ʒúAۂɂIP AhXƌĂ΂ԍł(̗p̒ `IP' ̕
  ɂĂ͌q܂)B

  s߁AuEU̓l[T[oƌĂ΂vOɑ΂Ė₢
  킹s܂Bl[T[o͂Ȃ̃}Vɂ邩܂
  AȂΘbĂT[rXE}VœĂ\̕
  ł傤BISP ɐڑ̐\݂鎞AZbgAbv葱̈ꕔɂ
  āAقڊԈႢȂAC^[lbgE\tgEFAɑ΂Ă ISP 
  lbg[Ñl[T[oIP AhXĂKv܂B

  قȂ}Ṽl[T[óA݂ɑΘbāAzXg
  (zXg IP AhXɃ}bsO)߂ɕKvȂׂĂ̏
  AŐVɕۂ悤ɂĂ܂BȂ̃l[T[o
  ́Ametalab.unc.edu 邽߂ɁAlbg[N܂ 3 
  4 ̃TCgɖ₢킹sĂ邩܂BAʏ킱
  (1 bȓƂ)ƂԂɍs܂B

  l[T[o͂Ȃ̃uEUɑ΂āAmetalab  IP AhX
  152.2.22.81 ł邱Ƃ܂BmƁAȂ̃}V
  metalab ƒڃrbgf[^̌s悤ɂȂ܂B

  12.2.  pPbgƃ[^

  ɂŃuEU悤Ƃ̂́Ametalab ̃EFuT[oɑ΂Ĉ
  ̂悤ȃR}h𑗂邱ƂłB

  GET /LDP/HOWTO/Fundamentals.html HTTP/1.0

  ۂɋN邱Ƃ͈ȉ̂悤ɂȂ܂BR}h̓pPbgƂđ
  ܂B̓rbg̃ubNŁA3 ̏dvȏƂɓd̂
  ɕ܂Ă܂BdvȂ̂Ƃ́An_AhX(Ȃ̃}V IP
  AhX)AI_AhX(152.2.22.81)Aꂩ炱ꂪ WWW ̃NGXg
  ł邱ƂT[rXԍ܂̓|[gԍ (̏ꍇ 80)łB

  ̌AȂ̃}ṼpPbgP[u(ISP ւ̃fڑA
  ̓[Jȃlbg[N)֑ƁÃpPbg̓[^ƌĂ΂
  ȃ}Vɓ͂܂B[^͎̃ɃC^[lbg̒n}
  Ă܂B̒n}͕KSȂ̂ł͂܂񂪁AȂ
  lbg[Nɗאڂ镔܂łSɖԗ̂Ȃ̂ŁA[^͂
  pPbgAC^[lbg̑̏ꏊɂ郋[^ւǂ͂΂悢
  𕪂Ă܂B

  Ȃ̃pPbǵAɓ͂܂ł̌oHɂāA̃[^
  ʂĂ܂B瑊݂̃[^́Ã[^pPbg
  MƂF邽߂ɁAǂꂭ炢MɎԂĂ邩
  Ď܂B[^͂̏gāAgtBbNȃNɌ
  ܂B܂A[^͂̏gāÃ[^(܂̓P[u) 
  lbg[N͂Ă܂ɂ͒ʒmoA\łΑ̌oH
  ČoH␳܂B

  C^[lbg͊j푈𐶂c邽߂ɐ݌vꂽƂss`
  B͐^ł͂܂񂪁AC^[lbg̐݌v́AsmȐE
  ςȃn[hEFAmȐ\𓾂邱ƂɓӂłB̒
  ڂ̗ŔAC^[lbg̒mI̕ (dblbg[N̂悤
  )̑K͂ȃXCb`ɂł͂ȂÃ[^ɕUĂ
  ̂łB܂AsNĂ͋ǏIȂ̂ɂƂ
  ܂Albg[N͂oH邱Ƃł̂łB

  񂠂Ȃ̃pPbg̃}Vɓ͂ƁÃ}V̓T[rX
  gẴpPbgEFuT[oɓ͂܂BEFuT[o̓R}
  hpPbg̑茳 IP AhXāAǂɉԂ΂悢킩
  ܂BEFuT[õhLgԂA͐̃pPbg
  ܂ÃpPbg̃TCÝAlbg[Nɂ`
  fBAT[rX̃^CvɂقȂ܂B

  12.3.  TCP  IP

  pPbg̓]ǂď̂𗝉ɂ́AC^[
  lbgۂɂ͊Kw\ɂȂĂ 2 ̃vgRgĂ邱
  mȂ΂Ȃ܂B

  ʂ̃xłIP (Internet Protocol)́AX̃pPbgn_Ah
  XI_AhXɑ@mĂ܂(̂ƂA 2 
  ̃AhX IP AhXƌĂ΂Ă̂ł)BȂAIP ɂ͐M
  ܂BpPbgꂽEĂ܂肵ĂAn
  _I_̃}Vɂ͂̂Ƃ킩܂Blbg[N̐p
  ́AIP ̓RlNVXȃvgRłBM̓pPbgM
  ΂đ邾ŁA ACK(m艞)߂܂B

  Ȃ IP ͍RXg̒ႢʐM@łBŎyŐM
  ȂĂ\Ȃꍇ܂BႦ΁Albg[NΉ Doom 
  Quake (:ƂQ[̖O)ĂƂAeX̒eۂ IP p
  PbgƂĕ\܂Â̂ȂȂĂ OK ł
  ?

  ʃxTCP(Transmission Control Protocol =`vgR)͐M
  񋟂܂B2 ̃}V TCP őMsہAM͑M
  ɑ΂ ACK pPbgԂ܂BM͈莞ԓ ACK pPbg
  MłȂƁÃpPbgđ܂BAM͊e TCP pPb
  gɃV[PXԍtāA(ꂽpPbg)Ԃɓ͂Ȃ
  ꍇAMŃpPbgč\邱Ƃł悤ɂȂĂ
  B(́AڑɃlbg[NENm_E肷
  ꍇɋN܂B)

  TCP/IP pPbgɂ͂܂Asǂ̃Nɂf[^̔joł
  Ƀ`FbNT݂Ă܂B̂߁ATCP/IP ƃl[T[o
  gĂ郆[U猩ƁAzXg/T[rXԍ̃yÅԂɂ͐M
  oCgEXg[̌oH悤Ɍ܂Blbg[NEvg
  R(̃\tgEFA)ĺA艺wxōspPbg
  pPbggݗāAG[`FbNA`FbNT̐`FbNAđ
  ƂƂSlKv͂܂܂B

  12.4.  HTTP: AvP[VvgR̗

  őO̗ɖ߂܂傤BEFuuEUƃT[óATCP/IP ̏ʂ
  삷AvP[VvgRŘb܂B͒PɃoCg
  肷ƂPȕ@łB̃vgRHTTP (Hyper-Text
  Transfer Protocol)ƌĂ΂ĂāÃR}ĥ 1 OɏЉ
   GET R}hłB

  GET R}h metalab.unc.edu ̃EFuT[oɃT[rXԍ 80 Ƃ
  ɓ͂ÃT[oŃ|[g 80 ԂĎĂT[oEf[
  n܂BC^[lbg̃T[rX̂قƂǂ̓T[oEf[ɂ
  ĂāA͒PɃ|[gœ͂ĎAĂR}h
  sĂ邾łB

  C^[lbg̐݌vIȃ[ĂƂ΁A͂
  ׂẴp[c\ȌVvŁAlԂĂ킩悤ɂȂĂ
  ƂƂłBHTTP т̊֘AvgR( zXgԂœdq[
  𑗂̂Ɏg Simple Mail Transfer Protocol, SMTPȂ)ł́AL
  bWE^[ (:AR[h)/CEtB[h(: sR[
  h)ŏIVvȕ\\eLXggR}h悭p
  B

  ̕@͏łB̂߁AɂĂ̓K`K`ɃR[h
  ꂽoCiEvgRőx҂Ƃ܂BóAR
  }hlԂLqE₷悤ɂ邱Ƃ̗_́AgbL[ŕ
  ɂȂ邢㉿𕥂ēʂł̂킸΂̓
  Ă܂B

  āAT[o TCP/IP oRőԂĂ鉞eLXg`
  B̍ŏ͈̕ȉ̂悤ɂȂ܂(wb_Ă
  ):

  HTTP/1.1 200 OK
  Date: Sat, 10 Oct 1998 18:43:35 GMT
  Server: Apache/1.2.6 Red Hat
  Last-Modified: Thu, 27 Aug 1998 17:55:15 GMT
  Content-Length: 2982
  Content-Type: text/html

  ̃wb_ɑ 1 ̋sǍ(RlNV؂
  ܂)Web y[W̃eLXg܂BȂ̃uEU͒Pɂ̃y[W
  \邾łBwb_̓uEUɑ΂āA̕\@w
  (\IȂ̂ƂāAContent-Type wb_͕Ԃꂽf[^{
  HTML ł邱Ƃ`܂)B

  13.  {ɂ

  ݂̃o[ẂAxcωp̖|x[X Linux Japanese FAQ
  Project 쐬܂B|Ɋւ邲ӌ JF vWFNg
  <JF@linux.or.jp> ɘAĂB

  ȉɎ܂B

     v1.1j, 15 January 1999
        |: xc ωp(sim@remus.dti.ne.jp)

        Z:

     o  J (yaz-hase@qb3.so-net.ne.jp),

     o    m(uv9h-hykw@asahi-net.or.jp),

     o    Y(nakano@apm.seikei.ac.jp),

     o   (akendo@t3.rim.or.jp)

     v1.4j, 8 December 1999
        XV:  P(fujiwara@linux.or.jp)

        Z:  (j96418@cc.nagano-nct.ac.jp)

