wA@As峹аѦB
be@`̭ڭ̻{ѤF Linux tΤUɮvHΥؿtmC boӳ`Aڭ̴NӶi@Bާ@P޲zɮ׻PؿaI]AbPؿܴB إ߻PRؿBإ߻PRɮסA٦MɮסBd\ɮפeA |boӳ`@²檺аڡI

1. ؿP|
@@1.1 ۹|P|
@@1.2 ؿާ@G cd, pwd, mkdir, rmdir
@@1.3 ɸ|ܼơG $PATH
2. ɮ׻Pؿ޲z
@@2.1 ɮ׻Pؿ˵G ls
@@2.2 ƻsBʻPRG cp, rm, mv
@@2.3 o|ɮצWٻPؿW
3. ɮפed\G
@@3.1 ˵ɮפeG cat, tac, nl
@@3.2 i½˵G more, less
@@3.3 ^G head, tail
@@3.4 D¤rɡG od
@@3.5 קɮ׮ɶPظmsɡG touch
4. ɮ׻Pؿw]vPv
@@4.1 ɮ׹w]vGumask
@@4.2 ɮݩʡG chattr, lsattr
@@4.4 ɮׯSvGSUID/SGID/Sticky Bit
@@4.3 ɮGfile
5. ɮתjMGwhich, whereis, locate, find
6. Dm
7. w糧媺ijGhttp://phorum.vbird.org/viewtopic.php?t=23879

ؿP|G
ѫe@`yLinux ɮvPؿtmzAѨ Linux y𪬥ؿzAUӴNonڪӷdw@ǰ򥻪|DFIoǥؿDA ̭nLy|zPy۹|zNqաIAѤ@UI


۹|P|G
b}lؿeAAnAѤ@Uҿתy| (PATH)zA 쪺OGOy۹|zPy|zH Me@wgyLwoijDL@ALAo̤ЪAjդ@UI

pGAٰOoe@eܡAٰOo Linux ̭ؿOe{y𪬥ؿz pANO䪺աInFA]AݭnbN@ӥؿUܴڥؿ etc UAANӭnϥΡy cd /etc zoӱpA o]NOҿתy|zALOqڥؿsgWӪ@ӱpA ҥHקAb@Ӹ|{o@ӫOA|NAʨӸ|UCpGڬOϥ ycd etc zOHܧAnyثeoӥؿU etc ؿzApiO@˪Iq`Ĥ@IJ Linux ϥΪ̱`|do@Ӹ|[I ۹|P|F_rIHܡIiuOF_FI]zgF@ӮMA oӮM@ݭnTӥؿAOO etc, bin, man oTӥؿAMӥѩ󤣦PHww˦bPؿUA ]Ҧw˪ؿO /usr/local/packages/etc, /usr/local/packages/bin /usr/local/packages/man ALAoww˦b /home/packages/etc, /home/packages/bin, /home/packages/man oTӥؿAаݦpGݭnΨ쵴|ܡAO_ܳ·ЩOHOI p@ӨCӥؿUFN_ӡIoӮɭԬ۹|gkN㪺SOnFI

~ApGz򳾭@ˡAwN|WrgܪAnۤvDӥؿObF򪺡AҦpG /data4/staiwan19961109/models-3/smoke oӥؿAӥt@ӥؿb /data4/staiwan19961109/models-3/cctm AڱqĤ@ӭnĤGӥؿhܡAgKH MOy cd ../cctm zKoIaI

OɮתTʨӻAy|T׭nnzC @ӻA|ijzApGObg{ (shell scripts) UAȥϥε|gkC 򻡩OH]|gkM·СAOiH֩woӼgk藍|DC pGϥά۹|b{Ahiѩz檺u@ҤPAɭP@ǰDo͡C oӰDbҦʩROר䭫nIoӲ{Hڭ̦b shell script ɡA|AzI ^_^

ؿާ@G
beڭ̵yLoܴؿOO cd A٦ǥiHiؿާ@OOH ҦpإߥؿڡBRؿ٦AonDANOǤSؿOH |ҨӻAUoǴNOSؿAonΤOOUӤ~G
.         Nhؿ
..        NW@hؿ
-         Ne@Ӥu@ؿ
~         NyثeϥΪ̨zҦbaؿ
~account  N account oӨϥΪ̪aؿ
bؿUӥؿO@w|sbINO . P .. o ONhPWhؿNCڭ̦be@ Linux ɮݩʻPؿtm ̭]Dڥؿ (/) OҦؿ̳hA / .. ܡHIziHϥ ls -al / hݬݡA ׬OyIzLAz]iHd\Aڥؿ . P .. ݩʧ@Ҥ@ˡAI Ӯڥؿh (..) PLۤv (.) OP@ӥؿI ^_^

Uڭ̴Nӽͤ@ʹXӱ`BzؿOaG
  • cdGܴؿ
  • pwdGܥثeؿ
  • mkdirGإߤ@ӷsؿ
  • rmdirGR@ӪŪؿ

  • cd (ܴؿ)
  • ڭ̪D dmtsai oӨϥΪ̪aؿO /home/dmtsai A root aؿhO /root A]ڥH root b Linux tΤA²檺@UoXӯSؿNqOG
    [root@linux ~]# cd [۹|ε|]
    # ̭nNOؿ|P۹|A٦@ǯSؿŸoI
    [root@linux ~]# cd ~dmtsai
    # Nh dmtsai oӨϥΪ̪aؿAY /home/dmtsai
    [root@linux dmtsai]# cd ~
    # ܦ^ۤvaؿAYO /root oӥؿ
    [root@linux ~]# cd
    # S[W|A]٬ON^ۤvaؿNI
    [root@linux ~]# cd ..
    # ܥhثeWhؿAYO /root WhؿNF
    [root@linux /]# cd -
    # ܦ^𫍧ӥؿA]NO /root o
    [root@linux ~]# cd /var/spool/mail
    # oӴNO|gkIwnh|W١I
    [root@linux mail]# cd ../mqueue
    # oӬO۹|gkAڭ̥ /var/spool/mail h /var/spool/mqueue No˼gI
    
    cd O Change Directory YgAoOΨܴu@ؿOC`NAؿWٻP cd Osb@ӪŮC @nJ Linux tΫAroot |b root aؿAY /root UAOKI^W@hؿiHΡy cd .. zC Qά۹|gknT{zثe|~ॿThQnhؿCҦpW̫@ӨҤlA znT{zOb /var/spool/mail AåBDb /var/spool mqueue ؿ~ڡ oˤ~ϥ cd ../mqueue h쥿TؿA_hNnJ cd /var/spool/mqueue o

    Aڭ̪ܦrAY [root@linux ~]# ANwgXثeؿFA nJɷ|ۤvaؿAӮaؿ٦@ӥNXANOy ~ zŸI ҦpWҤliHo{AϥΡy cd ~ ziH^ӤHaؿYhOI t~Aw cd ϥΤkApGȿJ cd ɡANNOy cd ~ zN YO|^ۤvaؿաIӨӡy cd - zHzѡAЦۦhXmߡA N|դFC
    ٬On@AaAڭ̪ Linux w]OCҦ (bash shell) 㦳ɮ׸ɻ\A zn``Q [tab] ӹFzؿʰڡIoiOӦnߺDڡ iHקKzLJr ^_^

  • pwd (ܥثeҦbؿ)
  • [root@linux ~]# pwd [-P]
    ѼơG
    -P  GܥXTꪺ|AӫDϥγs (link) |C
    dҡG
    [root@linux ~]# pwd
    /root   <== ܥXؿա
    [root@linux ~]# cd /var/mail
    [root@linux mail]# pwd
    /var/mail
    [root@linux mail]# pwd -P
    /var/spool/mail   <== ^ơHS[ -P tܦh
    [root@linux mail]# ls -l /var/mail
    lrwxrwxrwx  1 root root 10 Jun 25 08:25 /var/mail -> spool/mail
    # ݨoӪDԣFaH] /var/mail OsɡAs /var/spool/mail 
    # ҥHA[W pwd -P ѼƫA|HsɪܡAӬOܥT|ڡI
    
    pwd O Print Working Directory YgA]NOܥثeҦbؿOA ҦpbWӪ̫᪺ؿO /var/mail oӥؿAOܦr mailA pGAQnDثeҦbؿAiHJ pwd YiC~AѩܦhMҨϥΪؿWٳۦPAҦp /usr/local/etc ٦ /etc AOq` Linux ȦCX̫᭱@ӥؿӤwAoӮɭԧANiHϥ pwd ӪDAҦbؿoIKodؿAGKK

    ꦳쪺O -P ѼưաILiHڭ̨oTؿW١AӤOHsɪ|ܪC pGzO Fedora Core 4 ܡAnA /var/mail O /var/spool/mail sɡA ҥHAzL /var/mail UF pwd -P NDoӰѼƪNqo ^_^


  • mkdir (إ߷sؿ)
  • [root@linux ~]# mkdir [-mp] ؿW
    ѼơG
    -m G]wɮתvI]wAݭnݹw]v (umask) y
    -p GUANһݭnؿjإ߰_ӡI
    dҡG
    [root@linux ~]# cd /tmp
    [root@linux tmp]# mkdir test    <== إߤ@W test sؿ
    [root@linux tmp]# mkdir test1/test2/test3/test4
    mkdir: cannot create directory `test1/test2/test3/test4': 
    No such file or directory  <== SkإߦؿڡI
    [root@linux tmp]# mkdir -p test1/test2/test3/test4
    # [Fo -p ѼơAiHۦzإߦhhؿI
    [root@linux tmp]# mkdir -m 711 test2
    [root@linux tmp]# ls -l
    drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test
    drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
    # JӬݤWvApGS[W -m ӱj]wݩʡAtη|ϥιw]ݩʡC
    # zw]ݩʬHonzLUЪ umask ~AѳI ^_^
    
    pGQnإ߷sؿܡANϥ mkdir (make directory) aI LAЪ`NIbw]pUA Aһݭnؿo@h@hإߤ~IҦpGpAnإߤ@ӥؿ /home/bird/testing/test1A򭺥n /home M /home/bird AA /home/bird/testing nsbA~iHإ /home/bird/testing/test1 oӥؿIpS /home/bird/testing ɡANSkإ test1 ؿoILA{bӧ²榳ĪkաINO[W -p oӰѼƳIAiHUFGy mkdir -p /home/bird/testing/test1 z htη|۰ʪAN /home, /home/bird, /home/bird/testing ̧Ǫإ߰_ؿIåBA pGӥؿӴNwgsbɡAtΤ]|ܿ~TIּ֪aI ^_^

    t~AӦaznANOyw]vzaCڭ̥iHQ -m ӱj@ӷsؿݩʡA ҦpWAڭ̵ -m 711 ӵsؿ drwx--x--x ݩʡCLApGS -m ݩʮɡA w]sإؿݩʤSOOHoӸ umask Aڭ̦bY|[HЪC


  • rmdir (Ryšzؿ)
  • [root@linux ~]# rmdir [-p] ؿW
    ѼơG
    -p GsPWhyŪzؿ]@_R
    dҡG
    [root@linux tmp]# ls -l
    drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test
    drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
    [root@linux tmp]# rmdir test
    [root@linux tmp]# rmdir test1
    rmdir: `test1': Directory not empty
    [root@linux tmp]# rmdir -p test1/test2/test3/test4
    [root@linux tmp]# ls -l
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
    # @IQ -p oӰѼơAߨNiHN test1/test2/test3/test4 @R
    # Ln`NOAo rmdir ȯyRŪؿzI
    
    pGQnإߧR¦ؿɡANϥ rmdir aIҦpNإߪ test Aϥ rmdir test YiIЪ`NIؿݭn@h@hR~IӥB QRؿ̭w٦LؿɮסI o]OҿתŪؿ (empty directory) NڡIpGnNҦؿUF卖OHI oӮɭԴNϥ rm -rf test oILA٬Oϥ rmdir MIILAA]iHեH -p Ѽƥ[JAӧRWhؿI

    ɸ|ܼơG $PATH
    bLF|B۹|POUF觋Azӷ|yL`N@ƱANOGy ڥiHba /bin/ls oӫOOH zrI ڥiH ls N@wiHܥX@ǰTӤ|䤣 /bin/ls OOH oO]ܼ PATH UҭPrIڭ̦b@ӫOɭԡA tη|̷ PATH ]whC PATH wq|UjMɡAjM쪺OQ椧I{bAФUF echo $PATH A echo yܡBLXzNA PATH e[ $ ܫ᭱OܼơAҥHY|ܥXثe PATH FI
    [root@linux ~]# echo $PATH
    /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
    
    `NFܡHաI /bin b PATH ]wAҥH۵MNiH䪺 ls աI PATH ɨӻAOӫܭnyܼơzALDnOΨӳWdOjMؿC ӨCӥؿOǪACӥؿH_y:zӤjANpPWdҤ쪺oI PATH oܼ٦a谵nOH h PATH PyܼơzΡyܼơzAڭ̷|bĤTg bash shell ɡA A`JoӸgLWAzӤ]AѪOGy 򵴹|UFOk۹|nTh zoyܪNqo ^_^ ]OӫOӰAӤOzL PATH oܼƪehjMڡI

    ɮ׻Pؿ޲zG
    ͤFͥؿP|AAӰQפ@Uɮת@ǰ򥻺޲zaIɮ׻Pؿ޲zWA~GyݩʡzB yzByRɮסzΡyɮשΥؿzAѩɮ׻Pؿ޲zb Linux OܭnI רOCӤHۤvaؿƤ]ݭn`N޲zIѩڭ̦b{ɫAtιw]@ӷjM|ǡA pGӥHWۦPɦWɤObP|ɡAANݭnSOdNoI o̧ڭ̨ӽͤ@ͦɮ׻Pؿ@ǰ¦޲zaI


    ɮ׻Pؿ˵G ls
    [root@linux ~]# ls [-aAdfFhilRS] ؿW
    [root@linux ~]# ls [--color={none,auto,always}] ؿW
    [root@linux ~]# ls [--full-time] ؿW
    ѼơG
    -a  GɮסAsP( }Y . ɮ) @_CXӡ
    -A  GɮסAsPɡA]A . P .. oӥؿA@_CXӡ
    -d  GȦCXؿAӤOCXؿɮ׸
    -f  GCXGAӤiƧ (ls w]|HɦWƧǡI)
    -F  GھɮסBؿTA[ƵcAҦpG
          *GNiɡF /GNؿF =GN socket ɮסF |GN FIFO ɮסF
    -h  GNɮ׮eqHHŪ觋(Ҧp GB, KB )CXӡF
    -i  GCX inode mAӫDCXɮݩʡF
    -l  GƦCXA]tɮתݩʵơF
    -n  GCX UID P GID ӫDϥΪ̻PsժW (UIDPGID|bb޲zI)
    -r  GNƧǵGϦVXAҦpG쥻ɦWѤpjAϦVhѤjpF
    -R  GsPlؿe@_CXӡF
    -S  GHɮ׮eqjpƧǡI
    -t  G̮ɶƧ
    --color=never  Gn̾ɮׯSʵCܡF
    --color=always GC
    --color=auto   GtΦۦ̾ڳ]wӧP_O_C
    --full-time    GHɶҦ (]t~BBBɡB) X
    --time={atime,ctime} GX access ɶ vݩʮɶ (ctime) 
                           ӫDeܧɶ (modification time)
    dҡG
    
    b Linux tηAo ls OiO̱`Q檺aI]ڭHɳnDɮשΪ̬OؿTڡ LAڭ Linux ɮשҰOTbOӦhFA ls SݭnCXөO ҥHAzuUF ls ɡAw]ܪuGDɪɦWB HɦWiƧǤɦWNCFpӤwC|ҨӻA zUF ls /etc AugLƧǪɦWHΥHŦܥؿΥզܤ@ɮסApӤwC

    pGٷQn[JLܸTɡAiH[JWY쪺ǦΪѼƩO |ҨӻAڭ̤e@Ψ쪺 -l oӪܸƤeAHαNɤ]@_CܥXӪ -a ѼƵC
    dҤ@GNaؿUҦɮצCX(tݩʻP)
    [root@linux ~]# ls -al ~
    total 252
    drwxr-x---   9 root root  4096 Jul 16 23:40 .
    drwxr-xr-x  24 root root  4096 Jul 16 23:45 ..
    -rw-------   1 root root  1491 Jun 25 08:53 anaconda-ks.cfg
    -rw-------   1 root root 12543 Jul 18 01:23 .bash_history
    -rw-r--r--   1 root root    24 Dec  4  2004 .bash_logout
    -rw-r--r--   1 root root   191 Dec  4  2004 .bash_profile
    -rw-r--r--   1 root root   395 Jul  4 11:45 .bashrc
    -rw-r--r--   1 root root 68495 Jun 25 08:53 install.log
    -rw-r--r--   1 root root  5976 Jun 25 08:53 install.log.syslog
    drwx------   2 root root  4096 Jul  4 16:03 .ssh
    -rw-------   1 root root 12613 Jul 16 23:40 .viminfo
    # oӮɭԱz|ݨH . }YXɮסAHΥؿ ./../.ssh A
    # LAؿɳOH`ŦܡAIeݲMNOFC
    
    dҤGGӤWDACAbɦWܥXɦWN(type)
    [root@linux ~]# ls -alF --color=never  ~
    total 252
    drwxr-x---   9 root root  4096 Jul 16 23:40 ./
    drwxr-xr-x  24 root root  4096 Jul 16 23:45 ../
    -rw-------   1 root root  1491 Jun 25 08:53 anaconda-ks.cfg
    -rw-------   1 root root 12543 Jul 18 01:23 .bash_history
    -rw-r--r--   1 root root    24 Dec  4  2004 .bash_logout
    -rw-r--r--   1 root root   191 Dec  4  2004 .bash_profile
    -rw-r--r--   1 root root   395 Jul  4 11:45 .bashrc
    -rw-r--r--   1 root root 68495 Jun 25 08:53 install.log
    -rw-r--r--   1 root root  5976 Jun 25 08:53 install.log.syslog
    drwx------   2 root root  4096 Jul  4 16:03 .ssh/
    -rw-------   1 root root 12613 Jul 16 23:40 .viminfo
    # `NݨܵGĤ@AKK㪾Dڭ̷|UF ./command 
    # OFaH] ./ NOyثeؿUzNڡIܩ󤰻O FIFO/Socket H
    # аѦҫe@`аڡI
    
    dҤTG㪺e{ɮתקɶ *(modification time)
    [root@linux ~]# ls -al --full-time  ~
    total 252
    drwxr-x---   9 root root  4096 2005-07-16 23:40:13.000000000 +0800 .
    drwxr-xr-x  24 root root  4096 2005-07-16 23:45:05.000000000 +0800 ..
    -rw-------   1 root root  1491 2005-06-25 08:53:37.000000000 +0800 anaconda-ks.cfg
    -rw-------   1 root root 12543 2005-07-18 01:23:33.000000000 +0800 .bash_history
    -rw-r--r--   1 root root    24 2004-12-04 05:44:13.000000000 +0800 .bash_logout
    -rw-r--r--   1 root root   191 2004-12-04 05:44:13.000000000 +0800 .bash_profile
    -rw-r--r--   1 root root   395 2005-07-04 11:45:16.000000000 +0800 .bashrc
    -rw-r--r--   1 root root 68495 2005-06-25 08:53:34.000000000 +0800 install.log
    -rw-r--r--   1 root root  5976 2005-06-25 08:53:28.000000000 +0800 install.log.syslog
    drwx------   2 root root  4096 2005-07-04 16:03:24.000000000 +0800 .ssh
    -rw-------   1 root root 12613 2005-07-16 23:40:13.000000000 +0800 .viminfo
    # ХJӬݡAWyɶzܤFIܦ㪺榡C
    # @ӻA ls -al ȦCXثeu榡ɶAɤ|CX~A
    # ǥ --full-time iHd\Tɶ榡ڡI
    
    ls Ϊk٦ܦhA]Ad\ɮשҦb i-node ls -i ѼơAHΥΨӶiɮױƧǪ -S ѼơA٦ΨӬd\Pɶʧ@ --time=atime ѼơCӳoǰѼƪsbO] Linux ɮרtΰOFܦhΪTtGC Linux ɮרtΤAoǻPvBݩʦƩb̩OH b i-node ̭CoAڭ̷|bUӳ`~z@`JаڡI

    LצpA ls ̱`QϥΨ쪺\٬O -l ѼơAAܦh distribution bw]pA wgN ll (L pg) ]w ls -l NFIAӥ\O Bash shell alias \O ]NOAڭ̪J ll NOJ ls -l O@˪oAڭ̷|bĤT bash shell ɦAjպw


    ƻsBʻPRG cp, rm, mv
    nƻsɮסAШϥ cp (copy) oӫOYi㤣LA cp oӫOγ~ihF Fªƻs~A٥iHإ߳s (NO|o)Aɮתs¦ӤHsA Hνƻsӥؿ\OIܩ󲾰ʥؿPɮסAhϥ mv (move)A oӫO]iHӧ@W (rename) ʧ@Iܩ󲾰ܡHNO rm (remove) oӫOo㧐Uڭ̴N@@@


  • cp (ƻsɮשΥؿ)
  • [root@linux ~]# cp [-adfilprsu] ӷ(source) ت(destination)
    [root@linux ~]# cp [options] source1 source2 source3 .... directory
    ѼơG
    -a  G۷ -pdr NF
    -d  GYӷɬsɪݩ(link file)AhƻssݩʦӫDɮץF
    -f  Gj (force) NAYƩΨLðݮɡA|߰ݨϥΪ̡AӱjƻsF
    -i  GYت(destination)wgsbɡAbл\ɷ|߰ݬO_uʧ@I
    -l  Giws (hard link) sɫإߡAӫDƻsɮץF
    -p  GsPɮתݩʤ@_ƻsLhAӫDϥιw]ݩʡF
    -r  GjƻsAΩؿƻs欰F
    -s  GƻsŸs (symbolic link)AYy|zɮסF
    -u  GY destination  source ¤~s destination I
    ̫ݭn`NApGӷɦӥHWAh̫@ӥتɤ@wnOyؿz~I
    dҡG
    dҤ@GNaؿU .bashrc ƻs /tmp UAçW bashrc
    [root@linux ~]# cd /tmp
    [root@linux tmp]# cp ~/.bashrc bashrc
    [root@linux tmp]# cp -i ~/.bashrc bashrc
    cp: overwrite `basrhc'? n
    # Ƨ@⦸ʧ@Aѩ /tmp Uwgsb bashrc FA[W -i ѼơA
    # hbл\e|߰ݨϥΪ̬O_TwIiHU n Ϊ y OI
    # OAϹLӻApGQn߰ݮɡAh[W -f oӰѼƨӱjл\I
    
    dҤGGN /var/log/wtmp ƻs /tmp U
    [root@linux tmp]# cp /var/log/wtmp . <==QnƻsثeؿA̫᪺ . n
    [root@linux tmp]# ls -l /var/log/wtmp wtmp
    -rw-rw-r--  1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
    -rw-r--r--  1 root root 71808 Jul 18 21:58 wtmp
    # `NFܡHIb[ѼƪpUAɮתݪ̷|ܡAsv]ۧܤF
    # oOӫܭnSʡIn`NI٦Asɮ׫إߪɶ]@ˤFI
    # pGzQnNɮתҦSʳ@_ƻsLӡAiH[W -a I
    [root@linux tmp]# cp -a /var/log/wtmp wtmp_2
    [root@linux tmp]# ls -l /var/log/wtmp wtmp_2
    -rw-rw-r--  1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
    -rw-rw-r--  1 root utmp 71808 Jul 18 12:46 wtmp_2
    # AFaIӸƯSʧ@Ҥ@ˣIuOoNO -a SʡI
    
    dҤTGƻs /etc/ oӥؿUҦe /tmp U
    [root@linux tmp]# cp /etc/ /tmp
    cp: omitting directory `/etc'   <== pGOؿAઽƻsAn[W -r Ѽ
    [root@linux tmp]# cp -r /etc/ /tmp
    # ٬OnAjճI -r OiHƻsؿAOAɮ׻Pؿv|Qܡ
    # ҥHA]iHQ cp -a /etc /tmp ӤUFOI
    
    dҥ|GNdҤ@ƻs bashrc إߤ@ӳs (symbolic link)
    [root@linux tmp]# ls -l bashrc
    -rw-r--r--  1 root root 395 Jul 18 22:08 bashrc
    [root@linux tmp]# cp -s bashrc bashrc_slink
    [root@linux tmp]# cp -l bashrc bashrc_hlink
    [root@linux tmp]# ls -l bashrc*
    -rw-r--r--  2 root root 395 Jul 18 22:08 bashrc
    -rw-r--r--  2 root root 395 Jul 18 22:08 bashrc_hlink
    lrwxrwxrwx  1 root root   6 Jul 18 22:31 bashrc_slink -> bashrc
    #  bashrc_slink O -s ѼƳyAإߪO@ӡy|zA
    # ҥHz|ݨbɮת̥kA|ܳoɮ׬Oysz̥hI
    # ܩ󨺭 bashrc_hlink FIإߤFoɮפA bashrc P bashrc_hlink 
    # ҦѼƳ@ˡAuOAĤG檺 link Ƨܦ 2 FӤO쥻 1 I
    # oسs觋PAڭ̷|bU@̭i椶ЪI
    
    dҤGY ~/.bashrc  /tmp/bashrc s~ƻsL
    [root@linux tmp]# cp -u ~/.bashrc /tmp/bashrc
    # o -u SʡAObؼɮ׻PӷɮצtɡA~|ƻsC
    # ҥHA`QΩyƥzu@I ^_^
    
    dҤGNdҥ|y bashrc_slink ƻs bashrc_slink_2
    [root@linux tmp]# cp bashrc_slink bashrc_slink_2
    [root@linux tmp]# ls -l bashrc_slink*
    lrwxrwxrwx  1 root root   6 Jul 18 22:31 bashrc_slink -> bashrc
    -rw-r--r--  1 root root 395 Jul 18 22:48 bashrc_slink_2
    # oӨҤl]OܦI쥻ƻsOsɡAOoNsɪɮ׽ƻsLӤF
    # ]NOApGS[WѼƮɡAƻsOlɮסAӫDsɪݩʡI
    # YnƻssɪݩʡANonϥ -d Ϊ -a ѼƤFI
    
    dҤCGNaؿ .bashrc  .bash_history ƻs /tmp U
    [root@linux tmp]# cp ~/.bashrc ~/.bash_history /tmp
    # iHNhӸƤ@ƻsP@ӥؿhI
    
    o cp \ܦhAӥѩڭ̱``bi@ǸƪƻsAҥH]|``ΨoӫOC @ӻAڭ̦pGhƻsOH (MAɮױzn read v~ڡI ^_^) ɡA `OƱƻs쪺Ƴ̫Oڭ̦ۤvAҥHAbw]󤤡A cp ӷɻPتɪvOPAتɪ֦̳q`|OOާ@̥C|ҨӻA WdҤGAѩڬO root A]ƻsLӪɮ׾֦̻PsմNܦ root ҦFI o˻AiHնܡHI ^_^

    ѩ㦳oӯSʡA]Aڭ̦biƥɭԡAYǻݭnSO`NSvɮסA ҦpKX (/etc/shadow) HΤ@dz]wɡANઽH cp ӽƻsAӥn[W -a Ϊ̬O -p iHƻsɮvѼƤ~It~ApGzQnƻsɮ׵LϥΪ̡A ]n`Nɮתv(]tŪBgBHɮ׾̵֦)A _hALH٬OLkwzɮ׶i׭qʧ@I`N`NI

    ܩWdҷAĥ|ӽdҬO̦쪺Aϥ -l -s |إߩҿתs (link file)A OoسsɽT@˪i{pCoO@^ưڡH -l NOҿת hard link Aܩ -s hO symbolic link Ao̥СA ]oӯA i-node ѡAڭ٨SШAU@AӰQ׳o link DI `Aѩ cp غتɮݩʻPvSʡAҥHAbƻsɡAznMAѨG
    • O_ݭn㪺OdӷɮתTH
    • ӷɮ׬O_s (symbolic link file)H
    • ӷɬO_SɮסAҦp FIFO, socket H
    • ӷɬO_ؿH

  • rm (ɮשΥؿ)
  • [root@linux ~]# rm [-fir] ɮשΥؿ
    ѼơG
    -f  GNO force NAjF
    -i  GʼҦAbRe|߰ݨϥΪ̬O_ʧ@
    -r  GjRڡI̱`ΦbؿRF
    dҡG
    dҤ@Gإߤ@ɮ׫ᤩHR
    [root@linux ~]# cd /tmp
    [root@linux tmp]# cp ~/.bashrc bashrc
    [root@linux tmp]# rm -i bashrc
    rm: remove regular file `bashrc'? y
    # pG[W -i ѼƴN|Dʸ߰ݳIpGn߰ݩOHN[ -f ѼưڡI
    
    dҤGGR@ӤŪؿ
    [root@linux tmp]# mkdir test
    [root@linux tmp]# cp ~/.bashrc test/ <== Nɮ׽ƻs즹ؿhANOŪؿF
    [root@linux tmp]# rmdir test
    rmdir: `test': Directory not empty <== RڡI]oOŪؿI
    [root@linux tmp]# rm -rf test
    
    dҤTGR@ӱa - }Yɮ
    [root@linux tmp]# ls *aa*
    -rw-r--r--  1 root  root      0 Aug 22 10:52 -aaa-
    [root@linux tmp]# rm -aaa-
    rm: invalid option -- a
    Try `rm --help' for more information.  <== ] "-" OѼƹI
    [root@linux tmp]# rm ./-aaa-
    
    oOO( remove )A۷ dos U del OIo̭n`NOAq`b Linux tΤUAFɮ׳Q~AҥHܦh distributions wgw] -i oӰѼơA -i OCɮ׳Qe|ϥΪ̽T{@AHw~ɮסIӦpGnsؿUF卖@_ܡA Ҧplؿ̭٦lؿɡANnϥ -rf oӰѼƤFILAϥΡy rm -rf zoӫOeAФdU`NFA]Aӥؿɮסy֩wz|Q root I]tΤ|A߰ݧAO_n屼IҥHOӶWYOUFI oSO`NILApGATwӥؿnFAϥ rm -rf Ӵ`O觋I

    t~AdҤT]Oܦ쪺ҤlAڭ̦beN͹LAɦW̦nnϥ "-" }YA ] "-" ᭱OѼơA]AªϥΡy rm -aaa- ztΪON|~PաI pGϥΫ᭱|ͨ쪺WܪkɡA٬O|XDIҥHAu׹LrO "-" kաI NO[Wؿy ./ zYiIpG man rm ܡA٦@ؤkANOy rm -- -aaa- z]iHڡI


  • mv (ɮ׻PؿAΧW)
  • [root@linux ~]# mv [-fiu] source destination
    [root@linux ~]# mv [options] source1 source2 source3 .... directory
    ѼơG
    -f  Gforce jNAjʦӤ߰ݡF
    -i  GYؼɮ (destination) wgsbɡAN|߰ݬO_л\I
    -u  GYؼɮפwgsbAB source sA~|s (update)
    dҡG
    dҤ@Gƻs@ɮסAإߤ@ؿANɮײʨؿ
    [root@linux ~]# cd /tmp
    [root@linux tmp]# cp ~/.bashrc bashrc
    [root@linux tmp]# mkdir mvtest
    [root@linux tmp]# mv bashrc mvtest
    # NYɮײʨYӥؿhANOo˰I
    
    dҤGGN𫍧ؿW٧W mvtest2
    [root@linux tmp]# mv mvtest mvtest2 <== o˴NWFI²
    # b Linux U٦Ӧ쪺OAW٬ rename A
    # ӫOhM¾iɮתWOIγ~]O֡iHѾ\ man rename I
    
    dҤTGAإߨɮסAAʨ /tmp/mvtest2 
    [root@linux tmp]# cp ~/.bashrc bashrc1
    [root@linux tmp]# cp ~/.bashrc bashrc2
    [root@linux tmp]# mv bashrc1 bashrc2 mvtest2
    # `NoApGhӨӷɮשΥؿAh̫@ӥؼɤ@wOyؿIz
    # NOANҦƲʨӥؿNI
    
    oOh (move) NIAnɮשΥؿɫAIoӫONܭnաI P˪AA]iHϥ -u ( update )ӴշsɮסAݬݬO_ݭnhoI t~@ӥγ~NOyܧɦWIzAڭ̥iHܻϥ mv ܧ@ɮתɦWOILAb Linux ~OA rename A iHΨӧjqɮתɦWAziHQ man rename Ӭd\@UA]O쪺OI

    o|ɮצWٻPؿW
    ڭ̫eЪɦW (]tؿWٻPɮצW) AɦW̪iHF 4096 ӦrC z򪾹DӬOɦWHӬOؿWHKKINOQα׽u (/) ӤڡI AoɦWΪ̬OؿW١A@몺γ~ӬObg{ɭԡAΨӧP_Ϊա ҥHAoOiHΦbĤTg shell scripts YI Uڭ²檺HXӽdҨӽͤ@ basename P dirname γ~I
    [root@linux ~]# basename /etc/sysconfig/network
    network  <== ²INo̫᪺ɦW
    [root@linux ~]# dirname /etc/sysconfig/network
    /etc/sysconfig  <== oܦؿWFI
    
    ²檺ΧaI

    ɮפed\G
    ڭ̴쪺uObɮתݩʻPvAΪ̬OʻPƻs@ɮשΥؿӤwA pGڭ̭nd\@ɮתeɡAӦpOnOHIo̦۷h쪺OiHӤɤ@UG ̱`ϥΪɮפeOiHO cat P more less FI~ApGڭ̭ndݤ@ӫܤjɮ ( nXMB )AOڭ̥uݭnݪXrӤwAӦpOnHI tail rA~A tac oӫO]iHFInFAUӫOγ~aI
    ˵ɮפe
    d\@ɮתeiHϥ cat/tac/nl oXӫOڡI


  • cat (concatenate)
  • [root@linux ~]# cat [-AEnTv]
    ѼơG
    -A  G۷ -vET XѼơAiCX@ǯSrš
    -E  GN_r $ ܥXӡF
    -n  GCLX渹F
    -T  GN [tab] H ^I ܥXӡF
    -v  GCX@ǬݤXӪSr
    dҡG
    dҤ@G˾\ /etc/issue oɮתe
    [root@linux ~]# cat /etc/issue
    Fedora Core release 4 (Stentz)
    Kernel \r on an \m
    
    dҤGGӤWDAKCLX渹ɡI
    [root@linux ~]# cat -n /etc/issue
         1  Fedora Core release 4 (Stentz)
         2  Kernel \r on an \m
         3
    # ݨFaIiHLX渹OIojɮ׭nYӯSwɡAIγBI
    
    dҤTGN /etc/xinetd.conf e㪺ܥX(]tSr)
    [root@linux ~]# cat -A /etc/xinetd.conf
    #$
    # Simple configuration file for xinetd$
    #$
    # Some defaults, and include /etc/xinetd.d/$
    $
    defaults$
    {$
    ^Iinstances               = 60$
            log_type                = SYSLOG authpriv$
            log_on_success^I^I= HOST PID$
            log_on_failure^I^I= HOST$
    ^Icps^I^I^I= 25 30$
    }$
    $
    includedir /etc/xinetd.d$
    # b@몺ҤACLXӪGb [tab] PťAݤXӡA
    # ϥ cat -A ɡA|N [tab] H ^I ܡA_r]|ܥXӡ
    # ̯SMNO_rFIoӬqrb Linux P Windows O@˪C
    # b Linux OH $ _rAӦb Windows hOH ^M$ _rC
    # oڭ̷|b vi n骺ЮɡAAI
    
    KKI Linux ̭yߡzHIIOA cat O Concatenate ]s^²gA Dn\ON@ɮתes򪺦LXbùWIҦpWҤlAڭ̱N /etc/issue LXӡIpG[W -n ܡAhC@eٷ|[W渹IӤHO֥ cat աIAɮפeƶWL 40 HWAKKIڥӤάݡIҥHAtX@UnЪ more Ϊ̬O less ӰnI~ApGO@몺 DOS ɮ׮ɡANݭnSOdN@ǩ__ǩǪŸFA Ҧp_P [tab] AnܥXӡANo[J -A ѼƤFI


  • tac (ϦVC)
  • [root@linux ~]# tac /etc/issue
    
    Kernel \r on an \m
    Fedora Core release 4 (Stentz)
    # KKIPWdҤ@AOѳ̫@ܳI
    
    tac oӦnFI򻡩OHԲӪݤ@UA cat P tac ASo{rIաI tac nON cat ϼgLӡAҥHL\N cat ۤϰաA cat OѡyĤ@̫@sܦbùWzA tac hOy ѳ̫@Ĥ@ϦVbùWܥX zAܦnaI


  • nl (K[渹CL)
  • [root@linux ~]# nl [-bnw] ɮ
    ѼơG
    -b  Gw渹w觋ADnءG
          -b a Gܤ׬O_ŦA]P˦CX渹F
          -b t GpGŦAŪ@椣nCX渹F
    -n  GCX渹ܪkADnTءG
          -n ln G渹bù̥ܡF
          -n rn G渹bۤv쪺̥kܡAB[ 0 F
          -n rz G渹bۤv쪺̥kܡAB[ 0 F
    -w  G渹쪺Ϊ줸ơC
    dҡG
    dҤ@GCX /etc/issue e
    [root@linux ~]# nl /etc/issue
         1  Fedora Core release 4 (Stentz)
         2  Kernel \r on an \m
    
    # `NݡAoɮר꦳TAĤT欰ť(Sr)A
    # ]LOťզAҥH nl |[W渹IpGTwn[W渹AiHo˰G
    
    [root@linux ~]# nl -b a /etc/issue
         1  Fedora Core release 4 (Stentz)
         2  Kernel \r on an \m
         3
    # I渹[Wo㨺pGn渹e۰ʸɤW 0 OHio
    
    [root@linux ~]# nl -b a -n rz /etc/issue
    000001  Fedora Core release 4 (Stentz)
    000002  Kernel \r on an \m
    000003
    # KKI۰ʦbۤv쪺aɤW 0 Fw]OơApGQn令 3 ơH
    
    [root@linux ~]# nl -b a -n rz -w 3 /etc/issue
    001     Fedora Core release 4 (Stentz)
    002     Kernel \r on an \m
    003
    # ܦȦ 3 o
    
    nl iHNXɮפe۰ʪ[W渹I䵲GP cat -n IӤ@ˡA nl iHN渹hܳ]pA]AƻPO_۰ʸɻ 0 \O

    i½˵
    e쪺 nl P cat, tac AO@ʪNܨùWASiHi@@½ʪOڡH ڭ̥iH@@[A~|eݤڡIINO more P less o


  • more (@@½)
  • [root@linux ~]# more /etc/man.config
    #
    # Generated automatically from man.conf.in by the
    # configure script.
    #
    # man.conf from man-1.5p
    #
    .......ٲ.......
    --More--(28%) <== Ibo@I
    
    JӪLݨWdҡApG more ᭱ɮתפjùXƮɡA N|X{WϥܡCIb̫@A̫@|ܥXثeܪʤA ӥB٥iHb̫@J@ǦΪOIb more oӵ{B@L{AAXӫiHG
    • ť (space)GNVU½@F
    • Enter         GNVU½y@zF
    • /r         GNboܪeAVUjMyrzF
    • :f            GߨܥXɦWHΥثeܪơF
    • q             GNߨ} more AAܸɮפeC
    n} more oӫOܤu@AiHU q N}FCӭnVU½ANϥΪťYiC ΪOjMrꪺ\A|ҨӻAڭ̨ϥΡy more /etc/man.config z[ɮסA YQnbɮפjM MANPATH oӦrɡAiHo˰G
    [root@linux ~]# more /etc/man.config
    #
    # Generated automatically from man.conf.in by the
    # configure script.
    #
    # man.conf from man-1.5p
    #
    .......ٲ.......
    /MANPATH   <== JF / AдN|۰ʶ]̩U@浥ݿJI
    
    pPWAJF / AдN|]̩U@AåBݱzJA zJFrꤧAKKI more N|}lVUjMӦroӭƷjMP@ӦrA iHU n YiڡI̫AQnݤFANU q Yi} more աI


  • less (@@½)
  • [root@linux ~]# less /etc/man.config
    #
    # Generated automatically from man.conf.in by the
    # configure script.
    #
    # man.conf from man-1.5p
    ......ٲ........
    :   <== o̥iHݱzJOI
    
    less Ϊk_ more S[uʡA򻡩OHb more ɭԡAڭ̨èSkVe½A u੹᭱ݡAYϥΤF less ɡAINiHϥ [pageup] [pagedown] 䪺\өe½ݤAz@AOOeϥΨ[ݤ@ɮתeFOIH

    ~Ab less YiH֦hyjMz\IiHVUjMA]iHVWjM bOܤΡ򥻤WAiHJOG
    • ť    GVU½ʤ@F
    • [pagedown]GVU½ʤ@F
    • [pageup]  GVW½ʤ@F
    • /r     GVUjMyrz\F
    • ?r     GVWjMyrz\F
    • n         Gƫe@ӷjM (P / ? I)
    • N         GϦVƫe@ӷjM (P / ? I)
    • q         G} less oӵ{F
    d\ɮפe٥iHijMʧ@@ less O_ܤΰڡI less ٦ܦh\IԲӪϥΤ觋Шϥ man less dߤ@UڡI ^_^

    ^
    ڭ̥iHNXƧ@@ӳ²檺^ANOXe (head) PX᭱ (tail) r\C LAn`NOA head P tail OHyzӶi^I


  • head (XeX)
  • [root@linux ~]# head [-n number] ɮ 
    ѼơG
    -n  G᭱ƦrANܴX檺N
    dҡG
    [root@linux ~]# head /etc/man.config
    # w]pAܫeQIYnܫe 20 ANonoˡG
    
    [root@linux ~]# head -n 20 /etc/man.config
    
    head ^NNOyYzաAoӪF𫍧Ϊk۵MNOܥX@ɮתeXoI SINOoˡIYS[W -n oӰѼƮɡAw]uܤQAYun@OHN[Jy head -n 1 filename zYiI


  • tail (X᭱X)
  • [root@linux ~]# tail [-n number] ɮ 
    ѼơG
    -n  G᭱ƦrANܴX檺N
    dҡG
    [root@linux ~]# tail /etc/man.config
    # w]pA̫᪺ܳQIYn̫᪺ܳ 20 ANonoˡG
    
    [root@linux ~]# tail -n 20 /etc/man.config
    
    head ۵MN tail ( ) oISIo tail Ϊk head ΪkthAuOܪO᭱XNOFIw]]OܤQAYnܫDQAN[ -n number ѼơI
    D@GpڷQn ~/.bashrc 11 20 OH
    G
      oӤAQ@QAb 11 20 Aڨe 20 AAQAҥHGNOGy head Vn 20 ~/.bashrc | tail Vn 10 zAo˴NiHo 11 20 椧eFI O̭AΨ޽uROAݭnbĤTgɭԤ~I


    D¤rɡG od
    ڭ̤W쪺AObd\¤r (ASCII 榡ɮ) eC U@ڭ̷Qnd\DrɡA|ҨӻAҦp /usr/bin/passwd oӰɪeɡA SӦphŪXTOHƹWAѩɳq`O binary file AϥΤWY쪺OŪLeɡA T|ýXưڡIHSYAڭ̥iHQ od oӫOŪI
    [root@linux ~]# od [-t TYPE] ɮ
    ѼơG
    -t  G᭱iHUءy (TYPE)zXAҦpG
          a       GQιw]rӿXF
          c       Gϥ ASCII rӿX
          d[size] GQΤQi(decimal)ӿXơACӾƦ size bytes F
          f[size] GQίBIƭ(floating)ӿXơACӼƦ size bytes F
          o[size] GQΤKi(octal)ӿXơACӾƦ size bytes F
          x[size] GQΤQi(hexadecimal)ӿXơACӾƦ size bytes F
    dҡG
    [root@linux ~]# od -t c /usr/bin/passwd
    0000000 177   E   L   F 001 001 001  \0  \0  \0  \0  \0  \0  \0  \0  \0
    0000020 002  \0 003  \0 001  \0  \0  \0 260 225 004  \b   4  \0  \0  \0
    0000040 020   E  \0  \0  \0  \0  \0  \0   4  \0      \0  \a  \0   (  \0
    0000060 035  \0 034  \0 006  \0  \0  \0   4  \0  \0  \0   4 200 004  \b
    0000100   4 200 004  \b 340  \0  \0  \0 340  \0  \0  \0 005  \0  \0  \0
    .....ٲ.......
    
    QγoӫOAiHN data file Ϊ̬O binary file eƵLŪXӳI MŪXӼƭȹw]OϥΫDrɡAYO 16 i쪺ƭȨܪA LAڭ٬OiHzL -t c ѼƨӱNƤrH ASCII rܡA M@ϥΪ̨ӻAoӫOγBiणjAOu{vӻA oӫOiHN binary file e@@ӤjPXAL̥iHݱoXF𫍧ա ^_^


    קɮ׮ɶPظmsɡG touch
    ڭ̦b ls oӫOЮɡAyLCɮצb linux U|OTӥDnܰʮɶA xITӮɶOTөOH oOӮ쪺{HA|ҨӻAڭ̨Ӭݤ@ݱzۤv /etc/man.config oɮתɶaI
    [root@linux ~]# ls -l /etc/man.config
    -rw-r--r--  1 root root 4506 Apr  8 19:11 /etc/man.config
    [root@linux ~]# ls -l --time=atime /etc/man.config
    -rw-r--r--  1 root root 4506 Jul 19 17:53 /etc/man.config
    [root@linux ~]# ls -l --time=ctime /etc/man.config
    -rw-r--r--  1 root root 4506 Jun 25 08:28 /etc/man.config
    
    ݨFܡHbw]pUA ls ܥXӪOɮת mtime A]NOoɮתeWQʪɶC ܩڪtάOb 6/25 ɭԦw˪A]Aoɮ׳QͦOAQʪɶN^쨺ӮɶIFI ٰOoڭ̨ϥΪdҷAϥΨoɮװڡAҥHڡAL atime N|ܦϥΪɶFI

    ɮתɶOܭnA]ApGɮתɶ~PܡAi|yYǵ{LkQB@ OKIU@ڵo{F@ɮרӦۥ(KKInháIܦhɭԷ|oӰDIoӧڭ̦bw˪ɭԡA 쪺 GMT ɶNOӷNա)AӦpɮתɶܦy{bzɨOH ²ڡINΡytouchzoӫOYiI
    [root@linux ~]# touch [-acdmt] ɮ
    ѼơG
    -a  Gȭ׭q access timeF
    -c  GȭקɶAӤإɮסF
    -d  G᭱iHA]iHϥ --date="ήɶ"
    -m  Gȭק mtime F
    -t  G᭱iHɶA榡[YYMMDDhhmm]
    dҡG
    
    dҤ@Gsؤ@ӪŪɮ
    [root@linux ~]# cd /tmp
    [root@linux tmp]# touch testtouch
    [root@linux tmp]# ls -l testtouch
    -rw-r--r--  1 root root    0 Jul 19 20:49 testtouch
    # `NAoɮתjpO 0 OIbw]AUApG touch ᭱ɮסA
    # hɮתTӮɶ (atime/ctime/mtime) |sثeɶCYɮפsbA
    # h|Dʪإߤ@ӷsŪɮ׳IҦpWoӨҤlI
    
    dҤGGN ~/.bashrc ƻs bashrcA]ƻsݩʡAˬd
    [root@linux tmp]# cp ~/.bashrc bashrc
    [root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
    -rwxr-xr-x  1 root root 395 Jul  4 11:45 bashrc  <==oO mtime
    -rwxr-xr-x  1 root root 395 Jul 19 20:44 bashrc  <==oO atime
    -rwxr-xr-x  1 root root 395 Jul 19 20:53 bashrc  <==oO ctime
    # boӮרҷAڭ̨ϥΤF ; oӫOjŸALΪkڭ̷|b Bash shell C
    # ~A ll O ls -l ROOWAoӧڭ̤]|b bash shell AΡA
    # zثeiH²檺QA ll NO ls -l ²gYiIܩ ; hOPɤUFӫOA
    # BӫOy̧ǡz檺NCWGڭ̥iHݨAɮܧ󪺤
    # Jul 4 11:45AO atime P ctime @o
    
    dҤTGקרҤG bashrc ɮסANվ㬰ѫe
    [root@linux tmp]# touch -d "2 days ago" bashrc
    [root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
    -rwxr-xr-x  1 root root 395 Jul 17 21:02 bashrc
    -rwxr-xr-x  1 root root 395 Jul 17 21:02 bashrc
    -rwxr-xr-x  1 root root 395 Jul 19 21:02 bashrc
    # WӽdҤݬݡAӬO 19 骺ܦF 17 F (atime/mtime)
    # LA ctime èSۧܳI
    
    dҥ|GNWӽdҪ bashrc אּ 2005/07/15 2:02
    [root@linux tmp]# touch -t 0507150202 bashrc
    [root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
    -rwxr-xr-x  1 root root 395 Jul 15 02:02 bashrc
    -rwxr-xr-x  1 root root 395 Jul 15 02:02 bashrc
    -rwxr-xr-x  1 root root 395 Jul 19 21:05 bashrc
    # `NݬݡAb atime P mtime ܤFAO ctime hOOثeɶI
    
    zL touch oӫOAڭ̥iH׭qɮתPɶCåBA]iHإߤ@ӪŪɮ׳I LAn`NOAYϧڭ̽ƻs@ɮ׮ɡAƻsҦݩʡA]Skƻs ctime oݩʪC ctime iHOoɮ׳̪񪺪A (status) QܪɶCLצpA٬OnijaA ڭ̥ɬݪɮݩʤAn٬Oݩ󨺭 mtime ڡIڭߪ``Ooɮתyez OɭԳQʪAGH

    LצpA touch oӫO̱`QϥΪpOG

    ɮ׻Pؿw]vPv
    ѫe@ Linux ɮݩ eڭ̥iHD@ɮצYzݩʡA]A ( r, w, x ) ݩʡAάO_ؿ (d) Pɮ (-) Ϊ̬Os (l) ݩʡInקݩʪkbe]LFAo̦A[jɥR@UI ~Aѩ Linux ٥iH]wLtΦwݩʡAϥ chattr ӳ]wAӥH lsattr ӬdݡA̭nݩʴNOiH]w䤣iק諸SʡIsɮת֦̳iקI oݩʥiO۷nAרObwW ( security )I

    AӽƲߤ@UW@ͨ쪺vANUDݤ@ݥ

    DGGAtΦӤ@먭ϥΪ dmtsaiALsլ usersALaؿb /home/dmtsaiA AQNA ~/.bashrc ƻsL(]AO root)AiH@H
    G
      cp ~/.bashrc ~dmtsai/bashrc
      chown dmtsai:users ~dmtsai/bashrc

    bWoӽdҷAڬFл\ dmtsai ۤv ~dmtsai/.bashrc AҥHNɦWWF ӽƻsLA٭nץoɮת֦̻Psդ~I

    DTGڷQb /tmp Uإߤ@ӥؿAoӥؿW٬ chap2_2_ex1 AåBAoӥؿ֦̬ dmtsaiA sլ users A~AHiHiJӥؿsɮסALF dmtsai ~ALHקӥؿUɮסC
    G
      ]F dmtsai ~ALHקӥؿUɮסA~A dmtsai iHקA ҥHӥؿvӬO drwxr-xr-x ~I]
      mkdir /tmp/chap2_2_ex1
      chown -R dmtsai:users /tmp/chap2_2_ex1
      chmod -R 755 /tmp/chap2_2_ex1

    bWoӨDApGzD 755 ӤƬOpXӪAzӹv@w{תFC pGzD 755 ӪH.....֦^he@ݬ chmod ӫOгڡIoܭnIzonMAѨ~_hNi椣Uho ]zv{ѪthFA򩳤Uڭ̴Nnӽͤ@͡A ysW@ɮשΥؿɡAw]vOHzoijDI


    ɮ׹w]vGumask
    OKI{bڭ̪DpإߩΪ̬Oܤ@ӥؿɮתݩʤFALA zDAإߤ@ӷsɮשΥؿɡALw]ݩʷ|OܡHINP umask oӪN঳FI umask ObdOH򥻤WA umask NOw yثeϥΪ̦bإɮשΥؿɭԪݩʹw]zA poγ]w umask OHLwHU觋ӫwG
    [root@linux ~]# umask
    0022
    [root@linux ~]# umask -S
    u=rwx,g=rx,o=rx
    
    d\觋ءA@إiHJ umask ANiHݨƦrAv]wơA @ثhO[J -S (Symbolic) oӰѼơAN|HŸ觋ܥXvFI _ǪOA umask ||ռƦrڡHOuTնܡHOSա Ĥ@լOSvΪAڭ̥nzLAҥHݫ᭱TէYiC

    bw]vݩʤWAؿPɮ׬O@˪Cѩɮקڭ̤ƱL㦳i檺vOA w]pAɮ׬OSi (x) vC]G umask wOyӹw]ȻݭnvIz] rBwBx OO 4B2B1 AҥHoI]NOAngvANOJ 2 AӦpGnŪvA]NO 4 AnŪPgvA]NO 6 AӭnPgJvA]NO 3 AoAѶܡHаݱzA 5 OHI NOŪP檺vաIpGHWҤlӻܡA] umask 022 AҥH user èSQݩʡAL group P others ݩʳQF 2 ( ]NO w oݩ )AѩϥΪ̡G ۫HܡHڭ̴NӴլݬݧaI
    [root@linux ~]# umask
    0022
    [root@linux ~]# touch test1
    [root@linux ~]# mkdir test2
    [root@linux ~]# ll 
    -rw-r--r--  1 root root    0 Jul 20 00:36 test1
    drwxr-xr-x  2 root root 4096 Jul 20 00:36 test2
    
    I@FaHITwݩʬOSCnFApڭ̷QnPϥΪ̦PsժH]iHsɮשOH ]NOAp dmtsai O users oӸsժHA dmtsai @ɮקƱ users PsժH]iHsA o]O``QΦbζ}opeɡA``|Ҽ{쪺vDCbo˪pUA ڭ̪ umask ۵M group w vA]NOAڭ̧Ʊs@XӪɮӬO -rw-rw-r-- ҼˡAҥHoA umask ӬOn 002 ~n (Ȯ others w v)Cp]w umask OH ²檺ܡAb umask ᭱J 002 NnFI
    [root@linux ~]# umask 002
    [root@linux ~]# touch test3
    [root@linux ~]# mkdir test4
    [root@linux ~]# ll 
    -rw-rw-r--  1 root root    0 Jul 20 00:41 test3
    drwxrwxr-x  2 root root 4096 Jul 20 00:41 test4
    
    ҥHAo umask ɮ׻Pؿw]vOܦYIoӷiHΦbAWA רOӦbz[]ɮצA (file server) A|ҨӻA SAMBA Server Ϊ̬O FTP server ɡA Oܭn[IooAzϥΪ̬O_Nɮ׶i@BQΪDInI

    D|G]z umask 003 Aаݸ umask pUAإߪɮ׻PؿvH
    G
      umask 003 AҥHݩʬ --------wxA]G
      ɮסG (-rw-rw-rw-) - (--------wx) = -rw-rw-r--
      ؿG (drwxrwxrwx) - (--------wx) = drwxrwxr--

    umask Pvp觋AЬѳwϥΤGi쪺觋Ӷi AND P NOT pA LA٬OwϥβŸ觋ӭppQWe@I OAyΪ̬O BBS WB͡AHwϥɮ׹w]ݩ 666 Pؿw]ݩ 777 ӻP umask i۴poOnIHWD|רҨӬݡA pGϥιw]ݩʬۥ[AhɮܦG666-003=663AYO -rw-rw--wx AoiO諸I QQݡA쥻ɮ״Nwgh x w]ݩʤFAiM_XӤFH ҥHAoӦaonSOp߳I bw]pA root umask |hݩʡAroot umask w]O 022 A oOwҶqաܩ@먭ϥΪ̡Aq`L̪ umask 002 AYOdPsժgJvOI Aw] umask ]wiHѦ /etc/bashrc oɮתeALAijקɮסA ziHѦ bash shell 쪺ҰѼƳ]w (~/.bashrc) oڭ̦bĤTɭԷ|I


    ɮݩʡG
    Hɮ٦ݩʡHOEvN֭nƱFAM٦ݩʡAuOnR OSkANOɮתݩʦsbڡILAoêݩʽTtΦܤjU רObtΦw (Security) WAnOIUڭ̴Nӽͤ@ͦp]wPˬdoêݩʧaI


  • chattr (]wɮݩ)
  • [root@linux ~]# chattr [+-=][ASacdistu] ɮשΥؿW
    ѼơG
    +   GW[Y@ӯSѼơAL쥻sbѼƫhʡC
    -   GY@ӯSѼơAL쥻sbѼƫhʡC
    =   G]w@wABȦ᭱Ѽ
    
    A  G]wF A oݩʮɡAoɮ(Υؿ)sɶ atime (access) 
         NiQקAiקKҦpⴣqeϺ I/O ~po͡I
    S  Goӥ\঳I sync \INO|NƦPBgJϺзI
         iHĪקKƬyI
    a  G]w a AoɮױNuW[ơAӤRAu root 
         ~]woݩʡC 
    c  Goݩʳ]wAN|۰ʪNɮסyYzAbŪɭԱN|۰ʸYA
         ObxsɭԡAN|iYAxs(ݨӹjɮצGZΪI)
    d  Gdump(ƥ){dzQ檺ɭԡA]w d ݩʱNiϸɮ(Υؿ)㦳dump\
    i  Go i iNܼF`FILiH@ɮסyQRBWB]ws]LkgJ
         ηsWơIztΦwʦ۷jUqI
    j  Gϥ ext3 oɮרtή榡ɡA]w j ݩʱN|ɮצbgJɥOb 
         journal IO filesystem ]wѼƬ data=journalled ɡAѩwg]wF
         xFAҥHoݩʵLġI
    s  Gɮ׳]wF s ѼƮɡALN|QXoӵwЪŶC
    u  GP s ۤϪAϥ u ӳ]wɮ׮ɡAhƤe٦sbϺФA
         iHϥΨ undeletion.
    `NGoݩʳ]wWA`O a P i ]wȡAӥBܦh]wȥn
    root ~]wI
    dҡG
    [root@linux ~]# cd /tmp
    [root@linux tmp]# touch attrtest
    [root@linux tmp]# chattr +i attrtest
    [root@linux tmp]# rm attrtest
    rm: remove write-protected regular empty file `attrtest'? y
    rm: cannot remove `attrtest': Operation not permitted
    # ݨFܡHIIIs root ]SkNoɮקROIѰ]wI
    [root@linux tmp]# chattr -i attrtest
    
    ooӫOOnAרObtΪwʤWIѩoݩʬOêʽAҥHݭnH lsattr ~ݨݩI𫟺AӤH{̭n +i oݩʤFA]LiH@ɮ׵LkQʡAݭnjPtΦwHӻA uO۷nIY٦۷hݩʬOݭn root ~]wOI~ApGO log file oتnɡANݭn +a oӥiHW[AOק¦ƻPRѼƤFI ˡHܴΧaIӴnɪ{ɡAڭ̦AӲ@p]wLaI


  • lsattr (ɮݩ)
  • [root@linux ~]# lsattr [-aR] ɮשΥؿ
    ѼơG
    -a GNɪݩʤ]qXӡF
    -R GsPlؿƤ]@֦CXӡI 
    dҡG
    [root@linux tmp]# chattr +aij attrtest
    [root@linux tmp]# lsattr
    ----ia---j--- ./attrtest
    
    ϥ chattr ]wAiHQ lsattr Ӭd\êݩʡCLA oӫObϥΤWnSOpߡA_h|yܤjxZCҦpGYѧA߱nAMN /etc/shadow oӭnKXOɮ׵L]w㦳 i ݩʡALFYzѤA AMnsWϥΪ̡Ao@LksWIOháA֥hN i ݩʮaI

    ɮׯSvG SUID/SGID/Sticky Bit
    ڭ̫e@ɮתnvANO rwx oTŪBgB檺vC OAyB̤ͭ@w`NF@ơANOAڭ̪ /tmp vǩǪH ٦A /usr/bin/passwd ]ǩǪH^ưڡHݬݥG
    [root@linux ~]# ls -ld /tmp ; ls -l /usr/bin/passwd
    drwxrwxrwt  5 root root 4096 Jul 20 10:00 /tmp
    -r-s--x--x  1 root root 18840 Mar  7 18:06 /usr/bin/passwd
    
    Ou rwx ܡH٦LSvڡH.....YS}lF @_@ An߰աAڭ̳o̥ͳovAuOФ@UӤwC ]nAѳoXӯSvAn㦳b ID AHε{{ (process) A ~i@BAѳoӯSvҥNNqC

  • Set UID
  • |s@X s P t vAOF@ϥΪ̦bYǵ{ɭԡA Ȯɪ㦳ӵ{֦̪vC |ҨӻnFAڭ̪DbPKXsɮרO /etc/passwd P /etc/shadow C /etc/shadow oɮתvOHOy-r--------zCBL֦̬O root IbovAȦ root iHyjzxsALHOsݳSkݪoI

    Oϥ dmtsai oӤ@먭ϥΪ̥hsۤvKXɡAϥΪNO /usr/bin/passwd oӵ{A oOiHsۤvKXA]NOA dmtsai oӤ@먭ϥΪ̥iHs /etc/shadow oӱKXɡI IiH /etc/shadow NOS dmtsai iHsvڡIoNO s ovUաI s ovb user x ɡA]NOW -r-s--x--x A٬ Set UID A²٬ SUID A o UID NO User ID A User NhOoӵ{ (/usr/bin/passwd) ֦ (root ڡI)C ѤWwqAڭ̪DFA dmtsai oӨϥΪ̰ /usr/bin/passwd ɡALN|yȮɡzoɮ׾֦H root vC

    SUID ȥiΦbyGiɮ(binary file)zWA SUID ]O{b檺L{֦ɮ׾֦̪vA]ALȥiΩ binary file A Φb妸 (shell script) WIoO] shell script uONܦh binary ɥsiӰӤwIҥH SUID vA٬Oon shell script IsiӪ{]wA ӤO shell script CMASUID ؿ]OLĪoInSOdNC

  • Set GID
  • i@BӻApG s vOb group ɡANO Set GID A²٬ SGIDC SGID iHΦbӳI
    • ɮGpG SGID O]wb binary file WAhרϥΪ̬O֡Abӵ{ɭԡA Lĸs (effective group) N|ܦӵ{sթҦH (group id)C

    • ؿGpG SGID O]wb A ؿWAhb A ؿҫإߪɮשΥؿ group AN|O A ؿ group I
    @ӻA SGID ӬOhΦbSwhHζM׶}oWA btηӷ|ֳoӳ]w~

  • Sticky Bit
  • o Sticky Bit ثeuwؿġAɮפwgSĪGFC SBit ؿ@άOGyb㦳 SBit ؿUAϥΪ̭YbӥؿU㦳 w x vA hϥΪ̦bӥؿUإɮשΥؿɡAuɮ׾֦̻P root ~vORzCyܻGҳoӨϥΪ̩ A ؿUO֦ group Ϊ̬O other ءAåB֦ w vA oܡyҨϥΪ̹ӥؿHإߪؿɮקii "R/W/h" ʧ@Cz LApGN A ؿ[WF Sticky bit vخɡA hҥuwۤvإߪɮשΥؿiR/W/ʵʧ@C

    |ҨӻAڭ̪ /tmp vOydrwxrwxrwtzA bo˪veUAHiHb /tmp sWBקɮסAȦɮ/ؿإߪ̻P root RۤvؿɮסCoӯSʤ]OnڡIAiHo˰²檺աG
      1. H root nJtΡAåBiJ /tmp F
      2. touch testAåB test v 777 F
      3. H@ϥΪ̵nJAöiJ /tmpF
      4. էR test oɮסI
    h SUID/SGID/Sticky Bit СAڭ̷|b {ǻP귽޲z AΪAثeAz²檺¦NnFIMA]iHѦҳQװϪo@gQסG http://phorum.vbird.org/viewtopic.php?t=20256

  • SUID/SGID/SBIT v]w
  • eйL SUID P SGID \Ap}ɮרϦ㦳 SUID P SGID vOHI oNݭn𫍧ƦrvkFI{bAӤwgDƦrAӧv觋yTӼƦrzզXA pGboTӼƦreA[W@ӼƦrܡA̫eƦrNNoXݩʤFI ( Gq`ڭ̨ϥ chmod xyz filename 觋ӳ]w filename ݩʮɡAhO]S SUID, SGID Sticky bit աI )
    • 4 SUID
    • 2 SGID
    • 1 Sticky bit
    ]nN@ɮݩʧאּy-rwsr-xr-xzɡAѩ s bϥΪvAҥHO SUID A]A b 755 e٭n[W 4 A]NOGy chmod 4755 filename zӳ]wI~A٦j S Pj T ͳIѦҩUdҰաI(`NGUdҥuOmߦӤwA ҥHϥΦP@ɮרӳ]wAzA SUID OΦbؿWA SBIT OΦbɮפWI)
    [root@linux ~]# cd /tmp
    [root@linux tmp]# touch test
    [root@linux tmp]# chmod 4755 test; ls -l test
    -rwsr-xr-x  1 root root 0 Jul 20 11:27 test
    [root@linux tmp]# chmod 6755 test; ls -l test
    -rwsr-sr-x  1 root root 0 Jul 20 11:27 test
    [root@linux tmp]# chmod 1755 test; ls -l test
    -rwxr-xr-t  1 root root 0 Jul 20 11:27 test
    [root@linux tmp]# chmod 7666 test; ls -l test
    -rwSrwSrwT  1 root root 0 Jul 20 11:27 test
    # oӨҤlNnSOp߰աI|X{jg S P T OHOpgܡH
    # ] s P t ON x oӰѼƪAOASo{Aڭ̬OUF 
    # 7666 I]NOA user, group H others S x oӥi檺лx 
    # ( ] 666 I )AҥHAo S, T NNOyŪzաI򻡡H 
    # SUID Oܡyɮצb檺ɭԡA㦳ɮ׾֦̪vzAOɮ
    # ֦̳LkFĄӪvLHϥΡHMNOŪաI ^_^
    

    ɮGfile
    pGAQnDYɮת򥻸ơAҦpOݩ ASCII Ϊ̬O data ɮסAΪ̬O binary A B𫟺SϥΨʺA祃w (share library) TANiHQ file oӫO˾\I |ҨӻG
    [root@linux ~]# file ~/.bashrc
    /root/.bashrc: ASCII text  <== iDڭ̬O ASCII ¤rɰڡI
    [root@linux ~]# file /usr/bin/passwd
    /usr/bin/passwd: setuid ELF 32-bit LSB executable, Intel 80386, version 1 
    (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
    # ƥihF]AoӤ Set UID 2ɮסAϥ shared libsA
    # AX Intel  386 HWتwAܲMaI
    [root@linux ~]# file /var/lib/slocate/slocate.db
    /var/lib/slocate/slocate.db: data  <== oO data ɮסI
    
    zLoӫOAڭ̥iH²檺P_oɮת榡I

    ɮתjMG
    ɮתjMiNF`FI]ڭ̱``ݭnDɮשb̡AҥHӽͤ@ͫjMaIb Linux U]۷ujMtIq` find ܱ`ΪI]t׺C~A]ܾ޵wСIq`ڭ̳Oϥ whereis Ϊ̬O locate ˬdApGu䤣FA~H find ӷjMIOH] whereis P locate OQθƮwӷjMơAҥH۷ֳtAӥBèSڪjMwСAٮɶաI


  • which (Myɡz)
  • [root@linux ~]# which [-a] command
    ѼơG
    -a GNҦiH쪺OCXAӤĤ@ӳQ쪺OW
    dҡG
    [root@linux ~]# which passwd
    /usr/bin/passwd
    [root@linux ~]# which traceroute -a
    /usr/sbin/traceroute
    /bin/traceroute
    
    oӫOOھڡyPATHzoܼƩҳWd|AhjMyɡzɦW ҥHAIOXyɡzӤwIB which ᭱OyɦWzIY[W -a ѼơAhiHCXҦiH쪺PWɡAӫDܲĤ@ӦӤwI


  • whereis (MSwɮ)
  • [root@linux ~]# whereis [-bmsu] ɮשΥؿW
    ѼơG
    -b    :u binary ɮ
    -m    :ub manual |Uɮ
    -s    :u source ӷɮ
    -u    :SɪɮסI
    dҡG
    [root@linux ~]# whereis passwd
    passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD 
    /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
    # P passwd ɦW|QCXӡ
    
    [root@linux ~]# whereis -b passwd
    passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
    
    [root@linux ~]# whereis -m passwd
    passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
    
    @Uڭ̷| find oӷjMOA find OܱjjjMOAɶΪܤjI (] find OjMwСApGAwФªܡAKKII) oӮɭ whereis N۷nΤFIt~A whereis iH[JѼƨӧMơA ҦppGAOni ( binary ) [W -b NiHաIҦpWdҰw passwd o{ӻIpG[ѼƪܡANNҦƦCXoI

    whereis 쩳OϥΤNNOHjMt׷| find ֳohHI ꨺]SIoO] Linux tη|NtΤҦɮ׳Ob@ӸƮwɮ׸̭A ӷϥ whereis Ϊ̬OUn locate ɡA|HƮwɮתeǡA ]AɫAٷ|o{ϥγoӰɮɡA|wgQɮסI ӥB]䤣̷sإߪɮשOI oNO]oӫOOѸƮwGhjMɮתҦbڡI

    t~A򥻤W Linux Cѷ|w Linux DWҦɮתҦbijMƮwsA s{NO updatedb AAiHb FC4 tΪ /etc/cron.daily/slocate.cron oɮקIMA]iHϥ /usr/bin/updatedb ӧsƮwɮשOI

  • locate
  • [root@linux ~]# locate filename
    [root@linux ~]# locate passwd
    /lib/security/pam_passwdqc.so
    /lib/security/pam_unix_passwd.so
    /usr/lib/kde3/kded_kpasswdserver.so
    /usr/lib/kde3/kded_kpasswdserver.la
    .......ٲ.......
    
    o locate ϥΧ²Ab᭱JyɮתW١zANo쵲GC |WҤlӻAڿJ locate passwd AbɦW (]t|W) Aun passwd b𫟺A N|QܥXӪIo]OӫܤKnΪOApGzѰOYɮתɦWɡ

    OAoӪF٬OϥΤWIOHz|o{ϥ locate ӴMƪɭԯSO֡A oO] locate M䪺ƬOѡywإߪƮw /var/lib/slocate/z ̭ƩҷjM쪺AҥHΪbhwзsơAIMOܧֳtoI 򦳤򭭨OHNO]LOgѸƮwӷjMAӸƮwإ߹w]ObCѰ@ (C distribution PA FC4 OCѧsƮw@I)AҥHzsإ߰_ӪɮסA o٦bƮwsejMɮסA locate |iDzy䤣IzI]nsƮwrI

    ڨ쩳nإ߭ǸƮwOHO_nإߡHGݭnAoӮɭԡA AiHۤvܻݭnإɮ׸ƮwؿOIAiHb /etc/updatedb.conf oɮפ]wC ijzϥιw]ȴNnFALAb /etc/updatedb.conf ̭AЧyDAILY_UPDATE=noz令 yDAILY_UPDATE=yeszNnFCܩק諸kڭ̲ĤT vi AzN|oo MաA]iHۦʰ updatedb YiI


  • find
  • [root@linux ~]# find [PATH] [option] [action]
    ѼơG
    1. PɶѼơG
       -atime n Gn ƦrANqb n Ѥey@ѤzQ access LɮסF
       -ctime n Gn ƦrANqb n Ѥey@ѤzQ change LAɮסF
       -mtime n Gn ƦrANqb n Ѥey@ѤzQ modification LɮסF
       -newer file Gfile @ӦsbɮסANOAunɮפ file ٭nsA
                     N|QCXӡ
    2. PϥΪ̩θsզW٦ѼơG
       -uid n Gn ƦrAoӼƦrOϥΪ̪b IDAY UID Ao UID OOb
                /etc/passwd ̭PbWٹƦrCo譱ڭ̷|bĥ|gСC
       -gid n Gn ƦrAoӼƦrOsզW٪ IDAY GIDAo GID Ob
                /etc/groupAЧڭ̷|ĥ|g
       -user name Gname ϥΪ̱bWٳIҦp dmtsai 
       -group nameGname sզWٳAҦp users F
       -nouser    GMɮת֦̤sb /etc/passwd HI
       -nogroup   GMɮת֦sդsb /etc/group ɮסI
                    zۦw˳nɡAܥiӳn骺ݩʷèSɮ׾̡֦A
                    oOi઺IboӮɭԡANiHϥ -nouser P -nogroup jMC
    3. PɮvΦW٦ѼơG
       -name filenameGjMɮצW٬ filename ɮסF
       -size [+-]SIZEGjM SIZE ٭nj(+)Τp(-)ɮסCo SIZE W榳G
                       c: N byteA k: N 1024bytesCҥHAn 50KB
                       ٭njɮסANOy -size +50k z
       -type TYPE    GjMɮת TYPE ADnG@륿Wɮ (f),
                       ˸mɮ (b, c), ؿ (d), s (l), socket (s), 
                        FIFO (p) ݩʡC
       -perm mode  GjMɮݩʡynz mode ɮסAo mode  chmod
                     ݩʭȡA|ҨӻA -rwsr-xr-x ݩʬ 4755 I
       -perm -mode GjMɮݩʡynnA mode ݩʡzɮסA|ҨӻA
                     ڭ̭njM -rwxr--r-- AY 0744 ɮסAϥ -perm -0744A
                     @ɮתݩʬ -rwsr-xr-x AY 4755 ɡA]|QCXӡA
                     ] -rwsr-xr-x ݩʤwgnAF -rwxr--r-- ݩʤFC
       -perm +mode GjMɮݩʡy]t@ mode ݩʡzɮסA|ҨӻAڭ̷jM
                     -rwxr-xr-x AY -perm +755 ɡA@ɮݩʬ -rw-------
                     ]|QCXӡA]L -rw.... ݩʦsbI
    4. B~ii檺ʧ@G
       -exec command Gcommand LOA-exec ᭱iAB~OӳBzjM
                       GC
       -print        GNGCLùWAoӰʧ@Ow]ʧ@I
    dҡG
    dҤ@GNLhtΤW 24 pɤʹLe (mtime) ɮצCX
    [root@linux ~]# find / -mtime 0
    #  0 OII0 NثeɶAҥHAq{b}l 24 pɫeA
    # ܰʹLeɮ׳|QCXӡIpGOTѫe 24 pɤH
    # find / -mtime 3 ANOѤe 3*24 ~ 4*24 pɤ
    # ܰʹLɮ׳QCXNIP -atime P -ctime ΪkۦPC
    
    dҤGGM /etc UɮסApGɮפ /etc/passwd sNCX
    [root@linux ~]# find /etc -newer /etc/passwd
    # -newer ΦbɮפsYOܦΪI
    
    dҤTGjM /home Uݩ dmtsai ɮ
    [root@linux ~]# find /home -user dmtsai
    # oӪF]ܦΪڭ̭nX@ӨϥΪ̦btηҦɮ׮ɡA
    # NiHQγoӫONݩYӨϥΪ̪Ҧɮ׳XӳI
    
    dҥ|GjMtΤݩHɮ
    [root@linux ~]# find / -nouser
    # zLoӫOAiHNXǤӥ`ɮסC
    # pG줣ݩtΥHɮ׮ɡAnӺiA
    # ɭԬO`רOzgHlXۦsĶnɡC
    
    dҤGXɦW passwd oɮ
    [root@linux ~]# find / -name passwd
    # Qγo -name iHjMɦWڡI
    
    dҤGjMɮݩʬ f (@ɮ) ɮ
    [root@linux ~]# find /home -type f
    # o -type ݩʤ]ܦUIרOnXǩDzɮסA
    # Ҧp socket P FIFO ɮסAiH find /var -type p  -type s ӧI
    
    dҤCGjMɮ׷t SGID/SUID/SBIT ݩ
    [root@linux ~]# find / -perm +7000 
    # ҿת 7000 NO ---s--s--t Aunt s  t NCXA
    # ҥHMnϥ +7000 Aϥ -7000 ܭnt ---s--s--t ҦTvA
    # ]ANO +7000 AGH
    
    dҤKGNWӽdҧ쪺ɮרϥ ls -l CXӡ
    [root@linux ~]# find / -perm +7000 -exec ls -l {} \;
    # `NA -exec ᭱ ls -l NOB~OA
    # Ө {} NOy find 쪺ezNҥHA -exec ls -l {}
    # NONe쪺ɮץH ls -l CXơIܩ \; hO
    # -exec O즹NNOAӫOub 
    # -exec (̭NOOUF) \;
    # ]NOA-exec ̫@wnH \; ~IoAѤFܡHI
    
    dҤEGXtΤAj 1MB ɮ
    [root@linux ~]# find / -size +1000k
    # Mb man page iHϥ M P G ON MB P GBA
    # LAͫoդXӳoӥ\ҥHAثeӬOȤ䴩 c P k aI
    
    pGAnM@ɮתܡAϥ find |O@ӤDNI LiHھڤPѼƨӵɮתjM\IҦpAnM@ɦW httpd.conf ɮסAADLӬOb /etc UANiHϥΡy find /etc -name httpd.conf zPI pGAOo@ɮɦW]tF httpd AODWHIANθUΦr aApWHGy find /etc -name '*httpd*' zNiNɦWt httpd ɮ׳CXoILAѩ find bMƪɫ۷ӵwСIҥHSƱnϥ find աIΪOiHNINO whereis P locate oII

    Aޫ򻡡A find bMSɮݩʡAHίSɮv (SUID/SGID) ɡA O۷Ϊu{@InnI

    DmߡG
    ( nݵ׽бNƹʨyGzUťճBAUťճBYi )

    2002/06/26GĤ@ 2003/02/06GssƻP[J FAQ
    2003/02/07G[J basename P dirname
    2004/03/15GNsɪeʦܤU@`GLinux ϺлPw޲z
    2005/07/19GNª峹ʨ o FC
    2005/07/20GIIIneڡbQ䭷쪺CAשgoөNN
    2005/07/21Gb find AhW[FdҤEAHQɮפjp (size) jM\C
    2005/07/25Gb SUID/SGID/SBIT A̾ netman P p{ SijAקFԭzI
    2006/04/09Gb rmdir dҤA֤F@ -p ѼơI
    2006/06/15GgѰQװϺ dm421 qAo{ chattr d gFAwqC
    2006/08/22GW[ rm @²檺IרOy rm ./-aaa- zRkI