wA@As峹аѦo

Linuxuqa褧@ANbLhHhuҡCӬFUӨϥΪ̨㦳OKɮ׸ơA]ɮתv޲zNܪܭnFC Linux@NɮץisTOAOO owner/group/othersABTبU read/write/execute vCY޲zAALinuxDN|ܪܡyĬAI@_@zCt~AApGIJLinuxܡAA bLinuxUohؿ/ɮסA쩳Cӥؿ/ɮץNNqOHUڭ̴NӤ@@ЩOI

1. ϥΪ̻Ps
2. Linuxɮv
@@2.1 Linuxɮݩ
@@2.2 pɮݩʻPvG chgrp, chown, chmod
@@2.3 ؿPɮפvNq
@@2.4 Linuxɮ׺PɦW
3. Linuxؿtm
@@3.1 Linuxؿtm̾--FHSG/, /usr, /var
@@3.2 ؿ(directory tree)
@@3.3 |P۹|
@@3.4 CentOS [G lsb_release
4. I^U
5. m
6. ѦҸƻP\Ū
7. w糧媺ijGhttp://phorum.vbird.org/viewtopic.php?t=23878

ϥΪ̻Ps

gLĤ~§AAӥiHbLinuxOCҦUJOFaH UӡAMOnAnns@ULinuxtθ̭ǭnɮoC LACɮ׳۷hݩʻPvA𫟺̭niNOɮת֦̪FC ҥHAb}lɮ׬TЫeAN²檺(1)ϥΪ̤(2)sջP(3)Dsե~LH@ӻa nAIiJpI ^_^

  1. ɮ׾֦

    즸IJLinuxBͤj|ıoܩDzAyLinuxohϥΪ̡A ٤sաAΡHzCoӡyϥΪ̻Psաz\iO۷ӦnΪ@Ӧw@OI򻡩OH ѩLinuxOӦhHhutΡA]i``|hHPɨϥγoDӶiu@po͡A FҼ{CӤHpvHΨCӤHߦnu@ҡA]Aoӡyɮ׾̡֦zN㪺۷nFI

    ҦpANAe-mailsɮפAbAۤvaؿAA`ƱQLHݨۤvѧaH oӮɭԡAANɮ׳]wyuɮ׾̡֦ANOڡA~ݻPקoɮתezA YϨLHDAoӬ۷yzɮסALѩA]wAvA ҥHLH۵M]NLkDɮתeoI



  2. sթOHn]wɮ٦ݪsաHAsճ̦Ϊ\ध@ANOAbζ}o귽ɭ԰I |ҨӻA]ձMDͦbڪḒAĤ@ӱMDէOprojectaA̭ class1, class2, class3TӡFĤGӱMDէOprojectbA̭class4, class5, class6C oӱMDOvʽ𫍧AonúP@iCCժխnۭק𫍧ơA OLժխhݨ쥻զۤvɮפeAɸӦpOnH

    bLinuxUo˪O²աIڥiHg²ɮv]wAN୭Dۤvζ(YOso) LH\eoIӥBiHۤvζiHקکҫإߪɮסI PɡApGڦۤv٦pHKAMiH]wۤvζ]ݤڪɮ׸ơC ܤKaI

    t~ApGteacheroӱbOprojectaPprojectboӱMDѮvA LQnP[̪iסA]ݭniJoӸsժvɡAAiH]wteacheroӱbA yPɤ䴩projectaPprojectboӸsաIzA]NOGCӱbiHhӸsժ䴩OI

    o˻γ\A٤ezѳoӨϥΪ̻PsժYaHSYAڭ̥iHϥΥثeyaxz[ӶiѻI ]@aHAḁuTS̡AOOjBGPTTӤHA ӳoӮaxOnObj򪺦WUIҥHAyjaTӤHAOOjBGPTzA ӥBoTӤHۤvжAåB@P֦@ӫUI

    • ϥΪ̪NqGѩaTHU۾֦ۤvжAҥHA GMiHiJT򪺩жAOG򤣯½T򪺩PI˷|QTKI ]P̭i঳TۤvpHFAҦpѰաAOյAoOypHŶzAҥHMGoI

    • Gѩ@P֦UAҥHaTS̥iHbU}qաB ½\ȰաBbFoWobյI ϥAunObUNATS̳iHϥγI ]jaO@aHI

    o˻ӦIoFIӡyjazNOҿתysաzoA ܩTS̴NOOTӡyϥΪ̡zAӳoTӨϥΪ̬ObP@Ӹsո̭I ӤTӨϥΪMbP@sդAOڭ̥iH]wyvzA nYǨϥΪ̭ӤHTQsժ֦̬dߡAHOӤHypHŶzաI ӳ]wsզ@ɡAhija@PɳI

  3. LH

    nFA򤵤ѤSӤHAsipޡALOipޮaHAPaSYաI oӮɭԡADa{ѱipޡAM}ip޶iӤaA_hipޥûSkiJaA 󤣭niT򪺩жաILApGip޳zLY{ѤFTAåBT򦨬nB͡A ip޴NiHzLTiJaաIISIӱip޴NOҿתyLHAOtherszoI

    ]Aڭ̴NiHDաAbLinux̭A@ɮ׳㦳yUser, GroupOtherszTبӧOvA ڭ̥iHNWHUϥܨӸG

    Cɮת̡֦BsջP others ܷN
    1.1BCɮת̡֦BsջPLHܷN

    ڭ̥HT򬰨ҡAToӡyɮסz֦̬TALݩjoӸsաA ӱipެ۹TAhuO@ӡyLH(others)zӤwC

    LAo̦ӯSHnӤЪANOyU઺ѯzIoӤѯ㦳LOA ҥHLiHFLQnhaAIӤHbLinuxtΤNOy root zաIҥHnp߳IrootiOyU઺ѯzI

    LצpAyϥΪ̨zAPӨϥΪ̩Ҥ䴩ysաzAbLinux@ɸ̭O۷nA LiHUAAhuLinuxܪe޲zIԲӪ yPsաz ]wAڭ̱NbĤQ|Bb޲zAiѻC Uڭ̱NwɮרtλPɮvӶi满C

bڭLinuxtηAw]pUAҦtΤWbP@먭ϥΪ̡A٦rootTA OOb/etc/passwdoɮפCܩӤHKXhOOb/etc/shadowoɮפUC ~ALinuxҦsզWٳb/etc/groupIoTɮץiHOLinuxtθ̭bBKXBsոTaoI nHKRoTɮװڡI ^_^

ܩhPbsզ]wA٦oTɮת榡AnAڭ̦bĤQ|b޲zɡA|AjaԲӪЪIo̥YiC


Linux ɮv

jPAѤFLinuxϥΪ̻PsդAۤUӡAڭ̭nӽͤ@͡A oɮתvnpwoǩҿתyϥΪ̡zPysաzӳ]wOH oӳO۷nAרǪ̨ӻA]ɮתvPݩʬODzLinux@Ӭ۷ndA pGSoAANѬOťOHbOIרOAbAùeX{FyPermission denyzɭԡAnߡAy֩wOv]w~zաIInFAܤhA֨@@@C


Linuxɮݩ

IJMnAALinuxɮݩʡA򦳭ӭn]O`ΪONnAoI@ӡHNOy ls zo@ӹɮתOoIbAHrootnJLinuxAUFy ls -al zݬݡA|ݨ쩳UXөNNG

[root@www ~]# ls -al
total 156
drwxr-x---   4    root   root     4096   Sep  8 14:06 .
drwxr-xr-x  23    root   root     4096   Sep  8 14:21 ..
-rw-------   1    root   root     1474   Sep  4 18:27 anaconda-ks.cfg
-rw-------   1    root   root      199   Sep  8 17:14 .bash_history
-rw-r--r--   1    root   root       24   Jan  6  2007 .bash_logout
-rw-r--r--   1    root   root      191   Jan  6  2007 .bash_profile
-rw-r--r--   1    root   root      176   Jan  6  2007 .bashrc
-rw-r--r--   1    root   root      100   Jan  6  2007 .cshrc
drwx------   3    root   root     4096   Sep  5 10:37 .gconf      <=dһB
drwx------   2    root   root     4096   Sep  5 14:09 .gconfd
-rw-r--r--   1    root   root    42304   Sep  4 18:26 install.log <=dһB
-rw-r--r--   1    root   root     5661   Sep  4 18:25 install.log.syslog
[    1   ][  2 ][   3  ][  4 ][    5   ][     6     ][       7          ]
[  v  ][s][֦][s][ɮ׮eq][  ק ][      ɦW        ]
ѩ󥻳chgrp, chownOiೣݭnϥroot~BzAҥHo̫ijzHrootnJLinuxӾDzߥC

lsOylistzNAIbɮתɦWPݩʡCӿﶵy-alzhܦCXҦɮ׸ԲӪvPݩ (]tɡANOɦWĤ@Ӧry . zɮ)CpWҥܡAbAĤ@HrootnJLinuxɡA pGAJWzOAӦWCXӪFA@UWCӧONG

ɮݩʪܷN
2.1.1BɮݩʪܷN

oӦa̻ݭn`NFIJӬݪܡAAӥiHo{o@@QӦrG(2.1.1ι2.1.2võLY)

ɮתPve
2.1.2BɮתPve


DG
Y@ɮתPvƬy-rwxr-xr--zAлNqH
G
NPvƤ}d\AñNQӦrzpUҥܡG
[-][rwx][r-x][r--]
 1  234  567  890
 1 GNoɦWؿɮסAҤɮ(-)F
234G֦̪vAҤiŪBigBi(rwx)F
567GPsըϥΪvAҤiŪi(rx)F
890GLϥΪvAҤiŪ(r)


Pɪ`NArwxҦbmO|ܪAvN|ܦrASvNܦ(-)NOFC

t~AؿPɮתvNqäۦPAoO]ؿPɮשҰOƤeۦPҭPC ѩؿPɮתvNqD`nAҥHNLWߨ2.3`ؿPɮפvNqAӽ͡C

Cɮ׳|NLvPݩʰOɮרtΪi-nodeALAڭ̨ϥΪؿoOϥɦWӰOA ]CɦWN|s@i-nodeoIoݩʰOANOh֤PɦWsۦP@i-nodeXhNOFC i-nodeƧڭ̷|bĤKͨɮרtήɦA[jЪC

bLinuxtΤUAAb|ݩ@өΦhӪsդC|ڭ̴쪺ҤlAclass1, class2, class3ݩprojectaoӸsաA]YɮשݪsլprojectaABɮתvp2.1.2ҥ(-rwxrwx---)A hclass1, class2, class3THɮ׳㦳iŪBigBi檺v(ݸsv)C pGOݩprojectaLbAɮ״N㦳vFC

o@檺eO(/)ήɶCpGoɮ׳Qק諸ɶZ{bӤ[FAɶ|ܦ~ӤwC pUҥܡG

[root@www ~]# ls -l /etc/termcap /root/install.log
-rw-r--r-- 1 root root 807103 Jan  7  2007 /etc/termcap
-rw-r--r-- 1 root root  42304 Sep  4 18:26 /root/install.log
# pWҥܡA/etc/termcap  2007 ~ҭקLɮסA{bӻGF
# ܩ install.log O~ (2009) ҫإߪAҥHNܧ㪺ɶFC

pGQnܧ㪺ɶ榡AiHQlsﶵAYGyls -l --full-timezNܥX㪺ɶ榡FI]A~BBBɶC t~ApGAOHc餤w˧ALinuxtΡAN|HܡC iOAèSkb¤r׺ݾҦTܡAҥH|ܦýXC ANonϥΡyLANG=en_USzӭקytI

pGQntιw]ytܦ^媺ܡAAiHקtγ]wɡy/etc/sysconfig/i18nzAQβĤͨ쪺nanoӭקɮתeALANGoܼƦWzeYiC

oNOɦWFCSOGpGɦWeh@ӡy . zAhNoɮ׬yɡzAҦpW.gconf@Aɮ״NOɡC AiHϥΡylszΡyls -azoӫOhP@UOoI

ԲӪ ls ΪkAٰOod߶ܡHաIϥ man ls info ls hݬݥL¦ΪkhIۧڶi׬OܭnA ]yvűaiAצݭӤHIzAۥjuѤ~ǥ͡ASѤ~ѮvI[oaI^_^

oC쪺NqOܭnIȥMDUNNqIרOĤ@쪺EvA OLinuxɮvI@CUڭ̨ӰX²檺mߡAAN|MoI

DG
]test1, test2, test3PݩtestgroupoӸsաApGUɮסAлɮת֦̻PvH
-rw-r--r--  1 root     root          238 Jun 18 17:22 test.txt 
-rwxr-xr--  1 test1    testgroup    5238 Jun 19 10:25 ping_tsai
G
  • ɮtest.txt֦̬rootAݸsլrootCܩv譱hurootoӱbiHsɮסALHhȯŪɮסF

  • t@ɮping_tsai֦̬test1AөݸsլtestgroupC𫟺G
    • test1 iHw惡ɮר㦳iŪigi檺vOF
    • ӦPsժtest2, test3ӤHPtest1PˬOtestgroupsձbAhȥiŪig(Yק)F
    • ܩDtestgoupo@ӸsժHhȥiHŪAg]I

DG
pGڪؿU˦AаtestgroupoӸsժPLH(others)O_iHiJؿH
    drwxr-xr--   1 test1    testgroup    5238 Jun 19 10:25 groups/
G
  • ɮ׾֦test1[rwx]iHbؿiu@F
  • testgroupoӸs[r-x]bAҦptest2, test3iHiJؿiu@AObؿUigJʧ@F
  • ܩotherv[r--]Mr AOѩSxvA]othersϥΪ̡AäiJؿI

PWindowstΤ@˪OAbLinuxtηAC@ɮ׳h[FܦhݩʶiӡAרOsժAo˦γ~OH A̤jγ~ObyƦwʡzWC

iȧaI]AbAקAlinuxɮ׻PؿݩʤeA@wndMA ƬOiܪAOiܪIdU`NoIUӧڭ̨ӳBz@UɮݩʻPvܧaI


pɮݩʻPv

ڭ̲{bDɮv@ӨtΪwnʤFA]DɮתvϥΪ̻PsժʡA pק@ɮתݩʻPvOHSIhɮתvڭ̥iHקOH @ɮתݩʻPvܦhIڭ̥дXӱ`ΩsաB̡֦BUبvק諸OApUҥܡG


ܤ@ɮתsկuO²檺AHchgrpӧܧYiAxIoӫONOchange groupYgIo˴NܦnOFaI ^_^CLAаOoAnQܪsզW٥nb/etc/groupɮפsb~A_hN|ܿ~I

]AOHrootnJLinuxtΪAbAaؿ@install.logɮסA pNɮתsէܤ@UOH]AwgDb/etc/group̭wgsb@ӦWuserssաA OtestingoӸsզWrNsb/etc/groupFAɧܸsզusersPtestingO|{HoͩOH

[root@www ~]# chgrp [-R] dirname/filename ...
ﶵPѼơG
-R : i滼j(recursive)ܧAYsPؿUҦɮסBؿ
     soӸsդNC``ΦbܧY@ؿҦɮפpC
dҡG
[root@www ~]# chgrp users install.log
[root@www ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
[root@www ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== oͿ~To䤣oӸsզW

o{FܡHɮתsճQ令usersFAOn令testingɭԡA N|oͿ~`NIoͿ~T٬OnVOd@d~Te~nI NL^½ĶANDDXb̤FC


pܤ@ɮת֦̩OH²rIJMܸsլOchange groupA̴ܾ֦NOchange owneroIBINGOINOchownoӫOγ~An`NOA ϥΪ̥OwgsbtΤbA]NOb/etc/passwd oɮפϥΪ̦W٤~ܡC

chownγ~ٺhAL٥iHKקsժW٩OI~ApGnsؿUҦؿɮצPɧɮ׾֦̪ܡA[W -R ﶵYiIڭ̨ӬݬݻykPdҡG

[root@www ~]# chown [-R] bW ɮשΥؿ
[root@www ~]# chown [-R] bW:sզW ɮשΥؿ
ﶵPѼơG
-R : i滼j(recursive)ܧAYsPؿUҦɮ׳ܧ

dҡGNinstall.loģ֦אּbinoӱbG
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

dҡGNinstall.log֦̻Psէ^rootG
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
ƹWAchown]iHϥΡychown user.group filezAYb֦̻Psն[WpIy.z]I LܦhBͳ]wbɡAwbb[JpI(Ҧpvbird.tsaio˪b榡)AoN|ytΪ~PFI ҥHڭ̤ijϥΫ_y:zӹj}֦̻PsհաI~Achown]ªקݸsթOI Ҧpychown .sshd install.logzNOקsաݨFܡHNOӤpIγ~I

DpɮתsջP֦̤FA򤰻ɭԭnϥchownchgrpOHγ\A|ıo_ǧaH OAT꦳ɭԻݭnܧɮת֦̪A̱`ҤlNObƻsɮ׵A~LHɡA ڭ̨ϥγ²檺cpOӻnFG

[root@www ~]# cp ӷɮ تɮ

]AѭnN.bashrcoɮ׫.bashrc_testɦWABOnbinoӤHAAiHo˰G

[root@www ~]# cp .bashrc .bashrc_test
[root@www ~]# ls -al .bashrc*
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
-rw-r--r--  1 root root 395 Jul 13 11:31 .bashrc_test  <==sɮתݩʨS

ѩƻs欰(cp)|ƻs̪ݩʻPvAҥHIH.bashrc_test٬OݩrootҾ֦A p@ӡAYϧANɮ׮binoӨϥΪ̤FALMLkק諸(ݩ/vNDFa)A ҥHANnNoɮת֦̻Psխק@UoIDpקFaH


ɮvܨϥΪOchmodoӫOAOAv]wkءA OiHϥμƦrΪ̬OŸӶivܧCڭ̴Nӽͤ@͡G


ؿPɮפvNqG

{bڭ̪DFLinuxtΤɮתTب(̡֦BsջPLH)ADCبTv(rwx)A wDϥchown, chgrp, chmodhקovPݩʡAMAQls -lh[ɮפ]SDC ep`]ͨFoɮvƦwnʡCAoɮv@ɮ׻Pؿɮצ󤣦POH jjPڡIUNӻMAաI


ɮ׬OڧtƪaA]A@rɡBƮweɡBGii(binary program)C ]AvɮרӻALNqOo˪G

ӥiŪ(r)NŪɮפeO٦nAѡAi(x)OHo̧ANnp߰աI ]bWindowsU@ɮ׬O_㦳檺OOǥѡy ɦW zӧP_A ҦpG.exe, .bat, .com AObLinuxUAڭ̪ɮ׬O_QAhOǥѬO_㦳yxzovӨMwIɦWOS諸YI

ܩ̫@wovOHA@ɮר㦳wvɡAAiH㦳gJ/s/sW/קɮתevA äƦRɮץvIɮתrwxӻA DnOwyɮתezӨAPɮɦWsbP_SYI]ɮװOOڪƹI


ɮ׬OsڸƪҦbAؿDnOxsԣNڡHؿDnebOɦWMAɦWPؿjPsաI ҥHpGOwؿɡA r, w, x ؿONqOH

jPؿvOoˡAUڭ̨ӬݴXӽdҡAAAѤ@UԣOؿvoI

DG
ӥؿvpUҥܡG
drwxr--r--  3  root  root  4096   Jun 25 08:35   .ssh
tΦӱbW٬vbirdAoӱbèS䴩rootsաAаvbirdoӥؿvHO_i즹ؿH
G
vbird惡ؿȨ㦳rvA]vbirdiHdߦؿUɦWCC]vbird㦳xvA ]vbirdä즹ؿI(۷nI)

WoӨD]vbird㦳rvA]OrEݤUnN㦳iHiJؿvA꨺OC णiJY@ӥؿAuPӥؿxvաI~A u@ؿOOD`nApGAbYؿU㦳xvA ANLkӥؿUA]NLkӥؿUOAYϧA㦳ӥؿrvC

ܦhBͦb[]ɭԳ|db@v]wWAL̶}ؿƵںHsA ou}rvApWdҩҥܨˡA˪GNOɭPAnLkӥؿUŪɮ(̦huݨɦW)A ̲ץΤ`OLkTd\ɮתe(vڡI)Cn`NGn}ؿHsɡAӦܤ֤]nrxvAwviHKI wHKAڭ̨ӬݤU@ӨҤlG

DG
]ӱbW٬dmtsaiALaؿb/home/dmtsai/Admtsai惡ؿ㦳[rwx]vC YbؿUӦWthe_root.dataɮסAɮתvpUG
-rwx------ 1 root  root  4365 Sep 19 23:20  the_root.data
аdmtsai惡ɮתvHi_RɮסH
G
pWҥܡAѩdmtsai惡ɮרӻOyotherszA]oɮץLLkŪBLks]LkA ]NOALLkܰʳoɮתeNOFC

OѩoɮצbLaؿUA LbؿU㦳rwxvA]the_root.dataoӡyɦWzӻALOyRzI ״NOAdmtsaioӥΤRthe_root.dataoɮסI

٬OݤHťSISYڭ̩UNӳ]p@ӽmߡA AڪݡAӴNJpաILAѩܦhOڭ٨SСA ҥHUOAѧYiAԲӪOΪkڭ̷|b᭱~򤶲ЪC

ڭ̥rootbҦHiHu@/tmpؿإߤ@ӦWtestingؿA ӥؿv744Bؿ֦̬rootCt~AbtestingؿUbإߤ@ӪŪɮסA ɦW笰testingCإߥؿimkdir(make directory)Aإߪɮץitouch(U@|)ӳBzC ҥHL{pUҥܡG

[root@www ~]# cd /tmp                     <==u@ؿ/tmp
[root@www tmp]# mkdir testing             <==إ߷sؿ
[root@www tmp]# chmod 744 testing         <==ܧv
[root@www tmp]# touch testing/testing     <==إߪŪɮ
[root@www tmp]# chmod 600 testing/testing <==ܧv
[root@www tmp]# ls -ald testing testing/testing
drwxr--r-- 2 root root 4096 Sep 19 16:01 testing
-rw------- 1 root root    0 Sep 19 16:01 testing/testing
# JӬݤ@UAؿvO 744 ABݸsջPϥΪ̧O root I
# bo˪pUA@먭ϥΪ̹oӥؿ/ɮתvH

bWҤlAMؿO744v]wA@Τӯ঳ r vA o˪vϥΪ̯వԣƩOH]tΤt@ӱbW vbird A ڭ̥iHzLy su - vbird zoӫOܴIݬݩUާ@I

[root@www tmp]# su - vbird <== vbird oI
[vbird@www ~]$ cd /tmp     <==ݤ@UAܤFIܦr]ܦ $ FI
[vbird@www tmp]$ ls -l testing/
?--------- ? ? ? ?             ? testing
# ]㦳 r viHdɦWCLv(Sx)AҥH|@ݸC
[vbird@www tmp]$ cd testing/
-bash: cd: testing/: Permission denied
# ]㦳 x AҥHMSiJvաISIevڡI

Wmߧڭ̪DFurTiHϥΪŪؿɦWCALԲӪTo٬OŪ쪺A Pɤ]Nӥؿܦu@ؿ( cd iJӥؿN)CpGڭӥؿܦϥΪ̪A ϥΪ̦boӥؿUO_RɮשOHUm߰ݬݡG

[vbird@www tmp]$ exit               <== vbird ܦ^쥻 root I
[root@www tmp]# chown vbird testing <==קvAvbird֦ؿ
[root@www tmp]# su - vbird          <==AܦvbirdӾާ@
[vbird@www ~]$ cd /tmp/testing      <==iHiJؿFOI
[vbird@www testing]$ ls -l
-rw------- 1 root root 0 Sep 19 16:01 testing  <==ɮפOvbirdI
[vbird@www testing]$ rm testing     <==ձoɮ׬ݬݡI
rm: remove write-protected regular empty file `testing'? y
# MiHRIo˲zѤFܡHI

zLWo²檺BJAANiHMDA x bؿOPy_iJӥؿzA ܩ󨺭 w h㦳۷nvA]LiHϥΪ̧RBsBsɮשΥؿA OӫܭnѼưڡIo˥iHzѤFܡHI ^_^


Linuxɮ׺PɦW

ڭ̦b¦g@jդ@ӷANOG˸mbLinuxUOɮסA ȦpAsƷq]MݪɮצbtdҥHAA|AѨALinuxɮ׺uܦh Fe쪺@ɮ(-)Pؿɮ(d)~A٦ǺɮשOH


ڭ̦b责ϥΡyls -lz[Ĥ@桦QӦrAĤ@ӦrɮתC F`@ɮ(-)Pؿɮ(d)~A٦ǺɮOH

F]ɬOڭ̨tΤܭnɮסA̦nnHNק蠟~(q`L]|Aק諸աI)A t@Ӥ쪺ɮ״NOsɡCpGA``Nε{ୱӪܡAANӪDb WindowsUҿתy|zCP˪AAiHN linuxUs²檺@ɮשΥؿ|C ܩsocketPFIFOɮפzѡA]oөNNP{(process)YA oӵ쥼ӧAAprocessAA^Ӭd\aI~A A]iHzLman fifoman socketӬd\tΤWI


򥻤WALinuxɮ׬OSҿתyɦWzAڭ̭N͹LA@LinuxɮׯणQAPLĤ@檺QݩʦA PɦWڥ@IY]SCo[WindowspۦPIbWindowsUA Q檺ɮװɦWq`O .com .exe .batAӦbLinuxUAunAv㦳xܡAҦp[ -rwxr-xr-x ] YNoɮץiHQI

LAiHQiH榨\O@˪|ҨӻAbrootaؿUinstall.log O@ӯ¤rɡApGgѭקv -rwxrwxrwx Aoɮׯu榨\ܡH M]LeڥNSiH檺ơCҥHAoxNoɮר㦳i檺OA Oण榨\AMNonݸɮתeo

MpALڭ̤MƱiHǥѰɦWAѸɮ׬OFAҥHA q`ڭ٬O|HAɦWӪܸɮ׬OCUƺر`ΪɦWG

򥻤WALinuxtΤWɦWuuOAAѸɮץi઺γ~ӤwA uP_MݭnvWd~IҦpM@ɮ׬iɡA p`/bin/lsoɮݩʪOALApGoɮתvQק令LkɡA lsNܦoI

WzoذḎ`oͦbɮ׶ǰeL{CҦpAbWU@ӥiɡAObA LinuxtΤNOLkIINOiɮתݩʳQܤFInháAqWǰeA LinuxtΤAɮתݩʻPvTO|QܪI


bLinuxUAϥιw]Ext2/Ext3ɮרtήɡAwɮתɦW׭G

O۷ɦWIڭ̧ƱLinuxɮצW٥iH@ݴNDɮצbFA ҥHɦWq`OܪܪIӥκDFWindowsHi|FA]ɮצWٳq`uܪA κDWindowsӾɭPrtפ֪BͨӻAIuOܧxZ.....LAuoUAnn[jrVmoI

ӥĤͨ쪺A]|DA iHzL[tab]ӽT{ɮתɦWIoܦnΰڡI MաApGAwgŪFѲĤTgBASHΪkAAN|o{ yzIܼƯuO@Ӭ۷nΪFoIz IݤASYAĤTgͨbashAI


ѩLinuxbrU@ǫOާ@YA@ӻAAb]wLinuxUɮצWٮɡA ̦niHקK@ǯSrnIҦpUoǡG

* ? > < ; & ! [ ] | \ ' " ` ( ) { }

]oDzŸbrUAOSNqIt~AɮצW٪}YpIy.zɡA Noɮ׬yɡzIPɡAѩOUFA``|ϥΨ -option ﶵA ҥHA̦n]קKNɮɦW}YH - + өRWڡI


Linuxؿtm

bAѤFCɮתPݩʡAHAѤFpɮݩ/vTAAӭnAѪNOA CMLinux distributionsL̪]wɰڡBɰڡBCӥؿmNNڡA곣thH ӬO@MзǨ̾ڪIڭ̩UN@@@C


Linuxؿtm̾--FHS

]QLinuxӶ}o~distributionss/qPӤHbӦhFA pGCӤHΦۤvQkӰtmɮשmؿANiyܦh޲zWxZC AQAAiJ@ӥ~AұIJ쪺LinuxؿtmkMAHeǪPܡH QaҥHAӴNҿתFilesystem Hierarchy Standard (FHS)зǪXlFI

ھFHS(http://www.pathname.com/fhs/)xXA L̪DnتOƱϥΪ̥iHAѨww˳nq`m󨺭ӥؿUA ҥHĻƱWߪn}oӡB@~tλs@̡BHηQn@tΪϥΪ̡A`FHSзǡC ]NOAFHSIbWdCӯSwؿUӭnmˤlƦӤwC o˰nBD`hA]Linux@~tδNbJU(ؿ[c)oiX}o̷QnWSC

ƹWAFHSOھڹLhg@A򪺧睊AFHS̾ɮרtΨϥΪWcP_PO_\ϥΪHNʡA ӱNؿwq|إ椬@ΪκAAΪӻIUoˡG

@iɪ(shareable)iɪ(unshareable)
ܪ(static)/usr (nmB)/etc (]w)
@/opt (ĤTOn)/boot (}P֤)
iܰʪ(variable)/var/mail (ϥΪ̶lHc)/var/run ({Ǭ)
@/var/spool/news (sDs)/var/lock ({Ǭ)

WؿNO@ǥNʪؿAӥؿUҩmƦbU|ͨAo̥L͡C ڭ̭nAѪOAO|H

ƹWAFHSwؿ[cȩwqXThؿUөmƦӤwAOOUoTӥؿwqG

nwqXoThؿOHONqIChؿUӭnmؿ]SSwWwI ѩڭ̩|Ч㪺LinuxtΡAҥHUЧAi|ݤISYAӷYiA pN¦gݧANYN¦gAݤ@MIɭԧAN|ŵM}԰աI^_^

o root b Linux ̭NquܦhܦhhHdOԣNC pGHybzרӬݡAҿת root Oytκ޲zIzA pGHyؿzרӬݡAҿת root NYOڥؿANO / ա nSOdNI

ڥؿOӨtγ̭n@ӥؿA]ҦؿOѮڥؿlͥXӪA Pڥؿ]P}/٭/tέ״_ʧ@C ѩtζ}ɻݭnSw}nB֤ɮסB}һݵ{B 祃wɮ׸ơAYtΥX{~ɡAڥؿ]n]t״_ɮרtΪ{~C ]ڥؿOo򪺭nAҥHbFHSnD譱ALƱڥؿnbD`jμѤA ]Vjμѩp|JVhơAp@ӮڥؿҦbμѴNi|hoͿ~|C

]FHSзǫijGڥؿ(/)ҦbμӶVpVnA Bε{Ҧw˪n̦nnPڥؿbP@ӤμѤAOڥؿVpVnC pįΡAڥؿҦbɮרtΤ]eoͰDC

ŲWzA]FHSwqXڥؿ(/)UӭnUoǦؿsb~nG

ؿmɮפe
/bin tΦܦhmɪؿA/binSC]/binmObH@ҦUٯQާ@OC b/binUOiHQrootP@bҨϥΡADnGcat, chmod, chown, date, mv, mkdir, cp, bash`ΪOC
/boot oӥؿDnbm}|ϥΨ쪺ɮסA]ALinux֤ɮץHζ}P}һݳ]wɵC Linux kernel`ΪɦWGvmlinuzApGϥΪOgruboӶ}޲z{A hٷ|sb/boot/grub/oӥؿI
/dev bLinuxtΤWA˸mPP]ƳOHɮתAsboӥؿC AunzLsoӥؿUYɮסANsYӸ˸mo nnɮצ/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*
/etc tΥDn]wɴXGmboӥؿAҦpHbKXɡB UتAȪҩlɵC@ӻAoӥؿUUɮݩʬOiH@ϥΪ̬d\A OurootvOקCFHSijnmi(binary)boӥؿCnɮצG /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/ Ct~AUnؿG
  • /etc/init.d/GҦAȪw]Ұ script Obo̪AҦpnҰʩΪ iptables ܡGy /etc/init.d/iptables startzBy/etc/init.d/iptables stopz
  • /etc/xinetd.d/GoNOҿתsuper daemon޲zUAȪ]wɥؿC
  • /etc/X11/GP X Window Uس]wɳbo̡AרO xorg.conf o X Server ]wɡC
/home oOtιw]ϥΪ̮aؿ(home directory)CbAsW@Ӥ@ϥΪ̱bɡA w]ϥΪ̮aؿ|WdǫӡCnOAaؿإNG
~GNثeoӨϥΪ̪aؿA
~dmtsai GhN dmtsai aؿI
/lib tΪ祃wD`hA/libmhOb}ɷ|Ψ쪺祃wA HΦb/bin/sbinUO|Is祃wӤwC O祃wOHpiHNLQOy~zAYǫOnoǡy~z~Q{椧NC ר䭫nO/lib/modules/oӥؿA ]ӥؿ|m֤߬Ҳ(Xʵ{)I
/media mediaOyCz^AUWqAo/mediaUmNOi˸mաI ]AnСBСBDVD˸mȮɱ󦹡C`ɦWG/media/floppy, /media/cdromC
/mnt pGpQnȮɱYB~˸mA@ijpiHmoӥؿC bjɭԡAoӥؿγ~P/mediaۦPաIuOF/mediaAoӥؿNΨӼȮɱΤFC
/opt oӬOĤTOnmؿCOĤTOnڡH |ҨӻAKDEoӮୱ޲ztάO@ӿWߪpeALLiHw˨LinuxtΤA]KDEnNijm즹ؿUFC t~ApGpQnۦwB~n(D쥻distributionѪ)A]NAnw˨ǫӡC LAHeLinuxtΤAڭ٬OߺDmb/usr/localؿUOI
/root tκ޲z(root)aؿCҥHbo̡AO]pGiJH@ҦӶȱڥؿɡA ӥؿN֦rootaؿAҥHڭ̷|ƱrootaؿPڥؿmbP@ӤμѤC
/sbin LinuxD`hOOΨӳ]wtҪAoǫOuroot~QΨӡy]wztΡALϥΪ̳̦huΨӡydߡzӤwC b/sbinU}L{һݭnA̭]AF}B״_B٭tΩһݭnOC ܩYǦAn{A@hm/usr/sbin/Cܩ󥻾ۦw˪nҲͪtΰ(system binary)A hm/usr/local/sbin/FC`O]AGfdisk, fsck, ifconfig, init, mkfsC
/srv srviHyservicezYgAO@ǺAȱҰʤAoǪAȩһݭnΪƥؿC `AȨҦpWWW, FTPC|ҨӻAWWWAݭnƴNiHmb/srv/www/̭C
/tmp oO@ϥΪ̩Ϊ̬Ob檺{ǼȮɩmɮתaC oӥؿOHsAҥHAݭnwMz@UCMAnƤimbؿڡI ]FHSƦܫijb}ɡAӭnN/tmpUƳRI

ƹWFHSwڥؿҩwqзǴNȦWNNALڭ̪LinuxU٦\hؿA]ݭnAѤ@UC UOXӦbLinux]OD`nؿG

ؿmɮפe
/lost+found oӥؿOϥμзǪext2/ext3ɮרtή榡~|ͪ@ӥؿAتbɮרtεoͿ~ɡA N@ǿ򥢪qmoӥؿUCoӥؿq`|bμѪ̳hsbA ҦpA[ˤ@wЩ/diskAboӨtΤUN|۰ʲͤ@ӳo˪ؿy/disk/lost+foundz
/proc oӥؿO@ӡyɮרt(virtual filesystem)zILmƳObOA Ҧptή֤ߡB{T(process)BP˸mAκAC]oӥؿUƳObOA ҥHwЪŶڡInɮרҦpG/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* C
/sys oӥؿ/procD`A]O@ӵɮרtΡADn]OOP֤߬TC ]AثewJ֤߼ҲջP֤߰쪺w˸mTCoӥؿPˤwЮeqI

Foǥؿe~At~n`NOA]ڥؿP}A}L{Ȧڥؿ|QA LμѫhOb}~|򪺶i汾欰CNO]pA]ڥؿUP}L{ؿA NPڥؿ줣PμѥhIǥؿiPڥؿ}OHUoǡG

oӥؿdUiPڥؿ}bPμѡIЭIUӰڡI nFAͧFڥؿAUӧڭ̴Nӽͽ/usrH/varoI/usr̭ǤFG


̾FHS򥻩wqA/usr̭mݩiɪPiܰʪ(shareable, static)A pGADpzLiμѪ(ҦpbAg|ͨ쪺NFSA)A/usrTiHɵϰLDӨϥγI

ܦhŪ̳|~|/usruserYgAusrOUnix Software ResourceYgA ]NOyUnix@~tγn귽zҩmؿAӤOϥΪ̪ưաIoIn`NC FHSijҦn}o̡AӱNL̪ƦXzOmoӥؿUؿAӤnۦإ߸ӳnۤvWߪؿC

]OҦtιw]n(distributionoG̴Ѫn)|m/usrUA]oӥؿIWindows tΪyC:\Windows\ (@) + C:\Program files\zoӥؿXAtέw˧ɡAoӥؿ|γ̦hwЮeqC@ӻA/usrؿijUoǡG

ؿmɮפe
/usr/X11R6/ X Window SystemnƩҩmؿAҥHWX11R6O]̫᪺X11ABӪ6XNC
/usr/bin/ jϥΪ̥iϥΫObo̡IЪ`NLP/binPBC(O_P}L{)
/usr/include/ c/c++{yY(header)P]t(include)mBAڭ̥Htarball觋 (*.tar.gz 觋w˳n)wˬYǸƮɡA|ϥΨY\h]tɳI
/usr/lib/ ]tUγn骺祃wBؼɮ(object file)AHQ@ϥΪ̺DΪɩθ}(script)C Ydzn|Ѥ@ǯSOӶiA]wAoǫO]|g`Qtκ޲zާ@A N|Q\oӥؿUաCn`NOApGAϥΪOX86_64LinuxtΡA i|/usr/lib64/ؿͳI
/usr/local/ tκ޲zbۦw˦ۤvUn(Ddistributionw]Ѫ)Aijw˨즹ؿA o˷|K޲zC|ҨӻAAdistributionѪn¡AAQw˸snSQªA ɧAiHNsnw˩/usr/local/ؿUAiPªn驰OաI AiHۦ/usr/localhݬݡAӥؿU]O㦳bin, etc, include, lib...ؿI
/usr/sbin/ DtΥ`B@һݭntΫOC̱`NOYǺAn骺AȫO(daemon)oI
/usr/share/ m@ɤ󪺦aAboӥؿUmƴXGOw[ciŪơA ]XGOrɮ׹IbؿU`٦oǦؿG
  • /usr/share/manGuW
  • /usr/share/docGn󻡩
  • /usr/share/zoneinfoGPɰϦɰɮ
/usr/src/ @lXijmo̡AsrcsourceNCܩ֤߭lXhijm/usr/src/linux/ؿUC


pG/usrOwˮɷ|θjwЮeqؿA/varNObtιB@~|εwЮeqؿC ]/varؿDnw`AܰʪɮסA]A֨(cache)Bn(log file)HάYdznB@ҲͪɮסA ]A{ɮ(lock file, run file)AΪ̨ҦpMySQLƮwɮ׵C`ؿG

ؿmɮפe
/var/cache/ ε{B@L{|ͪ@ǼȦsɡF
/var/lib/ {檺L{AݭnϥΨ쪺ɮשmؿCbؿUU۪nӭnU۪ؿC |ҨӻAMySQLƮwm/var/lib/mysql/rpmƮwh/var/lib/rpmhI
/var/lock/ YǸ˸mΪ̬Oɮ׸귽@uQ@ε{ҨϥΡApGPɦӵ{ϥθӸ˸mɡA Niಣͤ@ǿ~pA]NonNӸ˸mW(lock)AHTOӸ˸mu|@nҨϥΡC |ҨӻANbN@СAAQ@UA||ӤHPɦbϥΤ@ӿNNH pGӤHPɿNAlgJO֪ơHҥHĤ@ӤHbNɸӿNN|QWA ĤGӤHNonӸ˸mQѰw(NOe@ӤHΧF)~~ϥoC
/var/log/ n줣IoOnɩmؿI̭nɮצp/var/log/messages, /var/log/wtmp(OnJ̪T)C
/var/mail/ mӤHqllHcؿALoӥؿ]Qm/var/spool/mail/ؿI q`oӥؿOsɰաI
/var/run/ Yǵ{Ϊ̬OAȱҰʫA|NL̪PIDmboӥؿUI ܩPIDNqڭ̷|b򳹸`쪺C
/var/spool/ oӥؿq`m@ǦCơAҿתyCzNOƶݨL{ϥΪưաI oǸƳQϥΫq`|QRC|ҨӻAtΦsH|m/var/spool/mail/A ϥΪ̦UӫHӫʫHhWN|QRCHpGȮɱHXh|Q/var/spool/mqueue/A QeXNQRCpGOu@Ƶ{(crontab)AN|Qm/var/spool/cron/ؿI

ijbAŪӰ¦gAiHDFHSx^(ѦҥѦҸ)A۫H|ALinux@~tΪؿ`JAѳI


ѩFHSȬOwqX̤Wh(/)Φh(/usr, /var)ؿeӭnmɮשΥؿơA ]AbLؿhŤANiHH}o̦ۦӰtmFC|ҨӻACentOS]wƩb /etc/sysconfig/network-scripts/ ؿUAOSuSEhONmb /etc/sysconfig/network/ ؿUAؿW٥iOPOILunOjPFHSзǡAtʨ꦳աI


ؿ(directory tree)

t~AbLinuxUAҦɮ׻PؿOѮڥؿ}lIOҦؿPɮתY MA@Ӥ@ӪUӡAIOKڡ]Aڭ̤]ٳoإؿtm觋Gyؿ(directory tree)z oӥؿ𦳤SʩOHLDnSʦG

nAͧFFHSзǤAڨӬݬCentOSbڥؿU|ˤlƧaIڭ̥iHUFHUOӬdߡG

[root@www ~]# ls -l /
drwxr-xr-x   2 root root  4096 Sep  5 12:34 bin
drwxr-xr-x   4 root root  1024 Sep  4 18:06 boot
drwxr-xr-x  12 root root  4320 Sep 22 12:10 dev
drwxr-xr-x 105 root root 12288 Sep 22 12:10 etc
drwxr-xr-x   4 root root  4096 Sep  5 14:08 home
drwxr-xr-x  14 root root  4096 Sep  5 12:12 lib
drwx------   2 root root 16384 Sep  5 01:49 lost+found
drwxr-xr-x   2 root root  4096 Mar 30  2007 media
drwxr-xr-x   2 root root     0 Sep 22 12:09 misc
drwxr-xr-x   2 root root  4096 Mar 30  2007 mnt
drwxr-xr-x   2 root root     0 Sep 22 12:09 net
drwxr-xr-x   2 root root  4096 Mar 30  2007 opt
dr-xr-xr-x  95 root root     0 Sep 22  2008 proc
drwxr-x---   4 root root  4096 Sep  8 14:06 root
drwxr-xr-x   2 root root 12288 Sep  5 12:33 sbin
drwxr-xr-x   4 root root     0 Sep 22  2008 selinux
drwxr-xr-x   2 root root  4096 Mar 30  2007 srv
drwxr-xr-x  11 root root     0 Sep 22  2008 sys
drwxrwxrwt   6 root root  4096 Sep 22 12:10 tmp
drwxr-xr-x  14 root root  4096 Sep  4 18:00 usr
drwxr-xr-x  26 root root  4096 Sep  4 18:19 var

W椤SӬO/selinuxoӥؿFAoӥؿeƤ]ObO餤TA P˪|Υ󪺵wЮeqCo/selinuxOSecure Enhance Linux(SELinux)ؿA SELinuxOLinux֤ߪn~\ध@ALiHΨӧ@ӳvޡADnw{(רO{)svӭC SELinuxڭ̷|b򪺳`~򰵤ЪI

pGڭ̱NӥؿHϥܪkܡAåBNnɮ׸ƦCXӪܡAؿ[cIoˡG

ؿ[cܷN
3.2.1Bؿ[cܷN

uNUؿi²檺AݬݴNnAԲӪЦ^軡椤hd\I ݧFFHSзǤA{b^ĤṰhݬݦw˫eLinuxWαpA 쬰ݭnάo˪pAIQkFܡH^_^CھFHSwqAp̦nN/varWߥXӡA o˹tΪ٦@ǦwʪO@OI]ܤ/varɡAAڥؿٷ|۹I ٯiJϴҦڡI


|P۹|

FݭnSO`NFHSؿtm~AbɦWڭ̤]nSO`NI]ھɦWgkPA]iNҿת|(path)wq|(absolute)P۹|(relative)C oɦW/|gk̾ڬOo˪G

ӧAnAѡA۹|OHyAeҦb|۹mzӪܪC|ҨӻAAثeb /home oӥؿUA pGQniJ /var/log oӥؿɡAiHgOH

  1. cd /var/log   (absolute)
  2. cd ../var/log (relative)

]Ab /home UAҥHn^W@h (../) A~~ /var ӲʪI SO`NoӯSؿG

o . P .. ؿOܭnAA``|ݨ cd .. ./command OUF觋A NONW@hPثeҦbؿu@AIܭnoI

DG
piJ/var/spool/mail/ؿAAiJ/var/spool/cron/ؿH
G
ѩ/var/spool/mailP/var/spool/cronOP˦b/var/spool/ؿA]²檺OUFkG
  1. cd /var/spool/mail
  2. cd ../cron
pNݭnbѮڥؿ}lg_FCoӬ۹|OD`UIרYdzn}oӨӻC @ӻAn}oӷ|NƩm/usr/local/̭U۹ؿApiHѦҹ3.2.1۹mC pGϥΪ̷Qnw˨줣PؿOHNonϥά۹|oI^_^

DG
``y./run.shzơAoӫONqH
G
ѩOݭnܼ(bash`~|)䴩AYAɩmbؿAåBؿëDWɥؿ(/bin, /usr/binW)AɭnONonYwӰɡCy./zNyؿzNAҥHy./run.shzNy楻ؿUA Wrun.shɮסzoI

CentOS [

YǮɨAiQnDA distribution ϥΪO Linux з (Linux Standard Base)A ӥBڭ̤]D distribution ϥΪO Linux ֤ߡIAp[oǰ򥻪TOH iHϥΦpUO[ݬݰաG

[root@www ~]# uname -r
2.6.18-128.el5 <==iHݹڪ֤ߪ
[root@www ~]# lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:
graphics-3.1-ia32:graphics-3.1-noarch      <==LSB 
Distributor ID: CentOS
Description:    CentOS release 5.3 (Final) <==distribution 
Release:        5.3
Codename:       Final

I^U

m
( nݵ׽бNƹʨyGzUťճBAUťճBYi )

ѦҸƻP\Ū

2002/07/18GĤ@
2003/02/06GssƻP[JFAQ
2005/06/28GNªƲʨ o
2005/07/15GIIש粒Fo׭qA[JF FHS AƱjaM Linux ؿtmI
2005/08/05G׭qF̤jɦWrAӬO 255 ~It~A[JFyɦWzI
2005/09/03G׭qFؿvAN쥻Ȩ㦳 r ogLkϥ ls sƲI
2008/09/08GªwFC4Ҽg峹ʨB
2008/09/20GwFHS[jF@UA/, /usr, /varThӭӧOIëDŧxƦӤwI
2008/09/23GgL@jP_AuF|BѡAש٬OLuFI^_^
2008/10/21G쥻ĥ|p` Linux ɮרtΡA]PĤKƩʤӰANLFI
2009/08/01G[JF lsb_release I
2009/08/18Gվ@UܪpAϱoŪ