³¾­ôªº Linux ¨p©Ðµæ
¬°¨ú±o¸û¨ÎÂsÄýµ²ªG¡A½Ð·R¥Î firefox ÂsÄý¥»ºô­¶
«e©¹³¾­ôªº Linux ¨p©ÐµæÀ]­º­¶ «e©¹ Linux °ò¦¤å¥ó¡A·s¤â½Ð±qÀY¾Ç°_ «e©¹ Linux ¬[¯¸¤å¥ó¡Aºô¸ô°ò¦¨º³¹¸`½Ð°È¥²°Ñ¦Ò¡I «e©¹¡yºô¸ô¦w¥þ¡z¬ÛÃö¤å¥óºô­¶ «e©¹ Linux ·s¤â°Q½×°Ï¡Aµo°Ý«e°È¥²¬d¾\µo¤å³W«h «e©¹¡yADSL³s½u¤À¨É¡z¬ÛÃö¤å¥óºô­¶ «e©¹ Study Area ºô¯¸
¡@ ¡@ ¡@
¡@
³Ìªñ§ó·s¤é´Á¡G2008/09/29
¦b²Ä¤»³¹§Ú­Ì»{ÃѤFLinux¨t²Î¤UªºÀÉ®×Åv­­·§©À¥H¤Î¥Ø¿ýªº°t¸m»¡©ú¡C ¦b³o­Ó³¹¸`·í¤¤¡A§Ú­Ì´Nª½±µ¨Ó¶i¤@¨Bªº¾Þ§@»PºÞ²zÀÉ®×»P¥Ø¿ý§a¡I¥]¬A¦b¤£¦Pªº¥Ø¿ý¶¡ÅÜ´«¡B «Ø¥ß»P§R°£¥Ø¿ý¡B«Ø¥ß»P§R°£ÀɮסAÁÙ¦³´M§äÀɮסB¬d¾\Àɮפº®eµ¥µ¥¡A ³£·|¦b³o­Ó³¹¸`§@­Ó²³æªº¤¶²Ð°Ú¡I


¤j¼ÐÃDªº¹Ï¥Ü¥Ø¿ý»P¸ô®|¡G

¥Ñ²Ä¤»³¹LinuxªºÀÉ®×Åv­­»P¥Ø¿ý°t¸m¤¤³z¹LFHSÁA¸Ñ¤FLinuxªº¡y¾ðª¬¥Ø¿ý¡z·§©À¤§«á¡A ±µ¤U¨Ó´N±o­n¹ê»Úªº¨Ó·d©w¤@¨Ç°ò¥»ªº¸ô®|°ÝÃD¤F¡I³o¨Ç¥Ø¿ýªº°ÝÃD·í¤¤¡A³Ì­«­nªº²ö¹L©ó²Ä¤»³¹¤]½Í¹Lªº¡yµ´¹ï¸ô®|¡z»P¡y¬Û¹ï¸ô®|¡zªº·N¸q°Õ¡I µ´¹ï/¬Û¹ï¸ô®|ªº¼gªk¨Ã¤£¬Û¦P¡A­n¯S§Oª`·N¡C¦¹¥~¡A·í©p¤U¹F«ü¥O®É¡A¸Ó«ü¥O¬O³z¹L¤°»ò¥\¯à¨Ó¨ú±oªº¡H ³o»PPATH³o­ÓÅܼƦ³Ãö©O¡I©³¤U´NÅý§Ú­Ì¨Ó½Í½ÍÅo¡I


¤p¼ÐÃDªº¹Ï¥Ü¬Û¹ï¸ô®|»Pµ´¹ï¸ô®|¡G

¦b¶}©l¥Ø¿ýªº¤Á´«¤§«e¡A§A¥²¶·­n¥ýÁA¸Ñ¤@¤U©Ò¿×ªº¡y¸ô®|(PATH)¡z¡A ¦³½ìªº¬O¡G¤°»ò¬O¡y¬Û¹ï¸ô®|¡z»P¡yµ´¹ï¸ô®|¡z¡H ÁöµM«e¤@³¹¤w¸gµy·L°w¹ï³o­ÓijÃD´£¹L¤@¦¸¡A¤£¹L¡A³o¸Ì¤£¹½¨ä·Ðªº¦A¦¸ªº±j½Õ¤@¤U¡I

  • µ´¹ï¸ô®|¡G¸ô®|ªº¼gªk¡y¤@©w¥Ñ®Ú¥Ø¿ý / ¼g°_¡z¡A¨Ò¦p¡G /usr/share/doc ³o­Ó¥Ø¿ý¡C
  • ¬Û¹ï¸ô®|¡G¸ô®|ªº¼gªk¡y¤£¬O¥Ñ / ¼g°_¡z¡A¨Ò¦p¥Ñ /usr/share/doc ­n¨ì /usr/share/man ©³¤U®É¡A¥i¥H¼g¦¨¡G ¡ycd ../man¡z³o´N¬O¬Û¹ï¸ô®|ªº¼gªk°Õ¡I¬Û¹ï¸ô®|·N«ü¡y¬Û¹ï©ó¥Ø«e¤u§@¥Ø¿ýªº¸ô®|¡I¡z
  • ¬Û¹ï¸ô®|ªº¥Î³~

¨º»ò¬Û¹ï¸ô®|»Pµ´¹ï¸ô®|¦³¤°»ò¤F¤£°_§r¡H³Ü¡I¨º¥i¯uªº¬O¤F¤£°_¤F¡I°²³]§A¼g¤F¤@­Ó®M¥ó¡A ³o­Ó®M¥ó¦@»Ý­n¤T­Ó¥Ø¿ý¡A¤À§O¬O etc, bin, man ³o¤T­Ó¥Ø¿ý¡AµM¦Ó¥Ñ©ó¤£¦Pªº¤H³ßÅw¦w¸Ë¦b¤£¦Pªº¥Ø¿ý¤§¤U¡A °²³]¥Ò¦w¸Ëªº¥Ø¿ý¬O /usr/local/packages/etc, /usr/local/packages/bin ¤Î /usr/local/packages/man ¡A¤£¹L¤A«o³ßÅw¦w¸Ë¦b /home/packages/etc, /home/packages/bin, /home/packages/man ³o¤T­Ó¥Ø¿ý¤¤¡A½Ð°Ý¦pªG»Ý­n¥Î¨ìµ´¹ï¸ô®|ªº¸Ü¡A¨º»ò¬O§_«Ü³Â·Ð©O¡H¬Oªº¡I ¦p¦¹¤@¨Ó¨C­Ó¥Ø¿ý¤UªºªF¦è´N«ÜÃø¹ïÀ³ªº°_¨Ó¡I³o­Ó®É­Ô¬Û¹ï¸ô®|ªº¼gªk´NÅ㪺¯S§Oªº­«­n¤F¡I

¦¹¥~¡A¦pªG§A¸ò³¾­ô¤@¼Ë¡A³ßÅw±N¸ô®|ªº¦W¦r¼gªº«Üªø¡A¦nÅý¦Û¤vª¾¹D¨º­Ó¥Ø¿ý¬O¦b·F¤°»òªº¡A¨Ò¦p¡G /cluster/raid/output/taiwan2006/smoke ³o­Ó¥Ø¿ý¡A¦Ó¥t¤@­Ó¥Ø¿ý¦b /cluster/raid/output/taiwan2006/cctm ¡A¨º»ò§Ú±q²Ä¤@­Ó­n¨ì²Ä¤G­Ó¥Ø¿ý¥hªº¸Ü¡A«ç»ò¼g¤ñ¸û¤è«K¡H ·íµM¬O¡y cd ../cctm ¡z¤ñ¸û¤è«KÅo¡I¹ï§a¡I

  • µ´¹ï¸ô®|ªº¥Î³~

¦ý¬O¹ï©óÀɦWªº¥¿½T©Ê¨Ó»¡¡A¡yµ´¹ï¸ô®|ªº¥¿½T«×­n¤ñ¸û¦n¡ã¡z¡C ¤@¯ë¨Ó»¡¡A³¾­ô·|«ØÄ³§A¡A¦pªG¬O¦b¼gµ{¦¡ (shell scripts) ªº±ø¥ó¤U¡A°È¥²¨Ï¥Îµ´¹ï¸ô®|ªº¼gªk¡C «ç»ò»¡©O¡H¦]¬°µ´¹ï¸ô®|ªº¼gªkÁöµM¤ñ¸û³Â·Ð¡A¦ý¬O¥i¥HªÖ©w³o­Ó¼gªkµ´¹ï¤£·|¦³°ÝÃD¡C ¦pªG¨Ï¥Î¬Û¹ï¸ô®|¦bµ{¦¡·í¤¤¡A«h¥i¯à¥Ñ©ó§A°õ¦æªº¤u§@Àô¹Ò¤£¦P¡A¾É­P¤@¨Ç°ÝÃDªºµo¥Í¡C ³o­Ó°ÝÃD¦b¨Ò¦æ©Ê©R¥O(at, cron)·í¤¤¤×¨ä­«­n¡I³o­Ó²{¶H§Ú­Ì¦b shell script®É¡A·|¦A¦¸ªº´£¿ô§A³á¡I ^_^


¤p¼ÐÃDªº¹Ï¥Ü¥Ø¿ýªº¬ÛÃö¾Þ§@¡G

§Ú­Ì¤§«eµy·L´£¨ìÅÜ´«¥Ø¿ýªº«ü¥O¬Ocd¡AÁÙ¦³­þ¨Ç¥i¥H¶i¦æ¥Ø¿ý¾Þ§@ªº«ü¥O©O¡H ¨Ò¦p«Ø¥ß¥Ø¿ý°Ú¡B§R°£¥Ø¿ý¤§Ãþªº¡ãÁÙ¦³¡A±o­n¥ýª¾¹Dªº¡A´N¬O¦³­þ¨Ç¤ñ¸û¯S®íªº¥Ø¿ý©O¡H Á|¨Ò¨Ó»¡¡A©³¤U³o¨Ç´N¬O¤ñ¸û¯S®íªº¥Ø¿ý¡A±o­n¥Î¤Oªº°O¤U¨Ó¤~¦æ¡G

.         ¥Nªí¦¹¼h¥Ø¿ý
..        ¥Nªí¤W¤@¼h¥Ø¿ý
-         ¥Nªí«e¤@­Ó¤u§@¥Ø¿ý
~         ¥Nªí¡y¥Ø«e¨Ï¥ÎªÌ¨­¥÷¡z©Ò¦bªº®a¥Ø¿ý
~account  ¥Nªí account ³o­Ó¨Ï¥ÎªÌªº®a¥Ø¿ý(account¬O­Ó±b¸¹¦WºÙ)

»Ý­n¯S§Oª`·Nªº¬O¡G¦b©Ò¦³¥Ø¿ý©³¤U³£·|¦s¦bªº¨â­Ó¥Ø¿ý¡A¤À§O¬O¡y.¡z»P¡y..¡z ¤À§O¥Nªí¦¹¼h»P¤W¼h¥Ø¿ýªº·N«ä¡C¨º»ò¨Ó«ä¦Ò¤@¤U©³¤U³o­Ó¨ÒÃD¡G

¨ÒÃD¡G
½Ð°Ý¦bLinux©³¤U¡A®Ú¥Ø¿ý¤U¦³¨S¦³¤W¼h¥Ø¿ý(..)¦s¦b¡H
榭G
­Y¨Ï¥Î¡y ls -al / ¡z¥h¬d¸ß¡A¥i¥H¬Ý¨ì®Ú¥Ø¿ý¤U½T¹ê¦s¦b . »P .. ¨â­Ó¥Ø¿ý¡A¦A¥J²Óªº¬d¾\¡A ¥iµo²{³o¨â­Ó¥Ø¿ýªºÄݩʻPÅv­­§¹¥þ¤@­P¡A³o¥Nªí®Ú¥Ø¿ýªº¤W¤@¼h(..)»P®Ú¥Ø¿ý¦Û¤v(.)¬O¦P¤@­Ó¥Ø¿ý¡C

©³¤U§Ú­Ì´N¨Ó½Í¤@½Í´X­Ó±`¨£ªº³B²z¥Ø¿ýªº«ü¥O§a¡G

  • cd¡GÅÜ´«¥Ø¿ý
  • pwd¡GÅã¥Ü¥Ø«eªº¥Ø¿ý
  • mkdir¡G«Ø¥ß¤@­Ó·sªº¥Ø¿ý
  • rmdir¡G§R°£¤@­ÓªÅªº¥Ø¿ý

  • cd (ÅÜ´«¥Ø¿ý)

§Ú­Ìª¾¹Dvbird³o­Ó¨Ï¥ÎªÌªº®a¥Ø¿ý¬O/home/vbird/¡A¦Óroot®a¥Ø¿ý«h¬O/root/¡A°²³]§Ú¥Hroot¨­¥÷¦b Linux¨t²Î¤¤¡A¨º»ò²³æªº»¡©ú¤@¤U³o´X­Ó¯S®íªº¥Ø¿ýªº·N¸q¬O¡G

[root@www ~]# cd [¬Û¹ï¸ô®|©Îµ´¹ï¸ô®|]
# ³Ì­«­nªº´N¬O¥Ø¿ýªºµ´¹ï¸ô®|»P¬Û¹ï¸ô®|¡AÁÙ¦³¤@¨Ç¯S®í¥Ø¿ýªº²Å¸¹Åo¡I
[root@www ~]# cd ~vbird
# ¥Nªí¥h¨ì vbird ³o­Ó¨Ï¥ÎªÌªº®a¥Ø¿ý¡A¥ç§Y /home/vbird
[root@www vbird]# cd ~
# ªí¥Ü¦^¨ì¦Û¤vªº®a¥Ø¿ý¡A¥ç§Y¬O /root ³o­Ó¥Ø¿ý
[root@www ~]# cd
# ¨S¦³¥[¤W¥ô¦ó¸ô®|¡A¤]ÁÙ¬O¥Nªí¦^¨ì¦Û¤v®a¥Ø¿ýªº·N«ä³á¡I
[root@www ~]# cd ..
# ªí¥Ü¥h¨ì¥Ø«eªº¤W¼h¥Ø¿ý¡A¥ç§Y¬O /root ªº¤W¼h¥Ø¿ýªº·N«ä¡F
[root@www /]# cd -
# ªí¥Ü¦^¨ì­è­èªº¨º­Ó¥Ø¿ý¡A¤]´N¬O /root Åo¡ã
[root@www ~]# cd /var/spool/mail
# ³o­Ó´N¬Oµ´¹ï¸ô®|ªº¼gªk¡Iª½±µ«ü©w­n¥hªº§¹¾ã¸ô®|¦WºÙ¡I
[root@www mail]# cd ../mqueue
# ³o­Ó¬O¬Û¹ï¸ô®|ªº¼gªk¡A§Ú­Ì¥Ñ/var/spool/mail ¥h¨ì/var/spool/mqueue ´N³o¼Ë¼g¡I

cd¬OChange DirectoryªºÁY¼g¡A³o¬O¥Î¨ÓÅÜ´«¤u§@¥Ø¿ýªº«ü¥O¡Cª`·N¡A¥Ø¿ý¦WºÙ»Pcd«ü¥O¤§¶¡¦s¦b¤@­ÓªÅ®æ¡C ¤@µn¤JLinux¨t²Î«á¡Aroot·|¦brootªº®a¥Ø¿ý¡I¨º¦^¨ì¤W¤@¼h¥Ø¿ý¥i¥H¥Î¡y cd .. ¡z¡C §Q¥Î¬Û¹ï¸ô®|ªº¼gªk¥²¶·­n½T»{§A¥Ø«eªº¸ô®|¤~¯à¥¿½Tªº¥h¨ì·Q­n¥hªº¥Ø¿ý¡C¨Ò¦p¤Wªí·í¤¤³Ì«á¤@­Ó¨Ò¤l¡A §A¥²¶·­n½T»{§A¬O¦b/var/spool/mail·í¤¤¡A¨Ã¥Bª¾¹D¦b/var/spool·í¤¤¦³­Ómqueueªº¥Ø¿ý¤~¦æ°Ú¡ã ³o¼Ë¤~¯à¨Ï¥Îcd ../mqueue¥h¨ì¥¿½Tªº¥Ø¿ý»¡¡A§_«h´N­nª½±µ¿é¤Jcd /var/spool/mqueueÅo¡ã

¨ä¹ê¡A§Ú­Ìªº´£¥Ü¦r¤¸¡A¥ç§Y¨º­Ó [root@www ~]# ·í¤¤¡A´N¤w¸g¦³«ü¥X¥Ø«eªº¥Ø¿ý¤F¡A ­èµn¤J®É·|¨ì¦Û¤vªº®a¥Ø¿ý¡A¦Ó®a¥Ø¿ýÁÙ¦³¤@­Ó¥N½X¡A¨º´N¬O¡y ~ ¡z²Å¸¹¡I ¨Ò¦p¤W­±ªº¨Ò¤l¥i¥Hµo²{¡A¨Ï¥Î¡y cd ~ ¡z¥i¥H¦^¨ì­Ó¤Hªº®a¥Ø¿ý¸ÌÀY¥h©O¡I ¥t¥~¡A°w¹ï cd ªº¨Ï¥Î¤èªk¡A¦pªG¶È¿é¤J cd ®É¡A¥Nªíªº´N¬O¡y cd ~ ¡zªº·N«ä³á¡ã ¥ç§Y¬O·|¦^¨ì¦Û¤vªº®a¥Ø¿ý°Õ¡I¦Ó¨º­Ó¡y cd - ¡z¤ñ¸ûÃø¥H²z¸Ñ¡A½Ð¦Û¦æ¦h°µ´X¦¸½m²ß¡A ´N·|¤ñ¸û©ú¥Õ¤F¡C

Tips:
ÁÙ¬O­n¤@¦A¦a´£¿ô¡A§Ú­Ìªº Linux ªº¹w³]«ü¥O¦C¼Ò¦¡ (bash shell) ¨ã¦³Àɮ׸ɻô¥\¯à¡A §A­n±`±`§Q¥Î [tab] «öÁä¨Ó¹F¦¨§Aªº¥Ø¿ý§¹¾ã©Ê°Ú¡I³o¥i¬O­Ó¦n²ßºD°Ú¡ã ¥i¥HÁ×§K§A«ö¿ùÁä½L¿é¤J¿ù¦r»¡¡ã ^_^
³¾­ôªº¹Ï¥Ü

  • pwd (Åã¥Ü¥Ø«e©Ò¦bªº¥Ø¿ý)
[root@www ~]# pwd [-P]
¿ï¶µ¡G
-P  ¡GÅã¥Ü¥X½T¹êªº¸ô®|¡A¦Ó«D¨Ï¥Î³sµ² (link) ¸ô®|¡C

½d¨Ò¡G³æ¯ÂÅã¥Ü¥X¥Ø«eªº¤u§@¥Ø¿ý¡G
[root@www ~]# pwd
/root   <== Åã¥Ü¥X¥Ø¿ý°Õ¡ã

½d¨Ò¡GÅã¥Ü¥X¹ê»Úªº¤u§@¥Ø¿ý¡A¦Ó«D³sµ²ÀÉ¥»¨­ªº¥Ø¿ý¦W¦Ó¤w
[root@www ~]# cd /var/mail   <==ª`·N¡A/var/mail¬O¤@­Ó³sµ²ÀÉ
[root@www mail]# pwd
/var/mail         <==¦C¥X¥Ø«eªº¤u§@¥Ø¿ý
[root@www mail]# pwd -P
/var/spool/mail   <==«ç»ò¦^¨Æ¡H¦³¨S¦³¥[ -P ®t«Ü¦h¡ã
[root@www mail]# ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep  4 17:54 /var/mail -> spool/mail
# ¬Ý¨ì³o¸ÌÀ³¸Óª¾¹D¬°Ô£¤F§a¡H¦]¬° /var/mail ¬O³sµ²ÀÉ¡A³sµ²¨ì /var/spool/mail 
# ©Ò¥H¡A¥[¤W pwd -P ªº¿ï¶µ«á¡A·|¤£¥H³sµ²Àɪº¸ê®ÆÅã¥Ü¡A¦Ó¬OÅã¥Ü¥¿½Tªº§¹¾ã¸ô®|°Ú¡I

pwd¬OPrint Working DirectoryªºÁY¼g¡A¤]´N¬OÅã¥Ü¥Ø«e©Ò¦b¥Ø¿ýªº«ü¥O¡A ¨Ò¦p¦b¤W­Óªí®æ³Ì«áªº¥Ø¿ý¬O/var/mail³o­Ó¥Ø¿ý¡A¦ý¬O´£¥Ü¦r¤¸¶ÈÅã¥Ümail¡A ¦pªG§A·Q­nª¾¹D¥Ø«e©Ò¦bªº¥Ø¿ý¡A¥i¥H¿é¤Jpwd§Y¥i¡C¦¹¥~¡A¥Ñ©ó«Ü¦hªº®M¥ó©Ò¨Ï¥Îªº¥Ø¿ý¦WºÙ³£¬Û¦P¡A¨Ò¦p /usr/local/etcÁÙ¦³/etc¡A¦ý¬O³q±`Linux¶È¦C¥X³Ì«á­±¨º¤@­Ó¥Ø¿ý¦Ó¤w¡A³o­Ó®É­Ô§A´N¥i¥H¨Ï¥Îpwd ¨Óª¾¹D§Aªº©Ò¦b¥Ø¿ýÅo¡I§K±o·d¿ù¥Ø¿ý¡Aµ²ªG...

¨ä¹ê¦³½ìªº¬O¨º­Ó -P ªº¿ï¶µ°Õ¡I¥L¥i¥HÅý§Ú­Ì¨ú±o¥¿½Tªº¥Ø¿ý¦WºÙ¡A¦Ó¤£¬O¥H³sµ²Àɪº¸ô®|¨ÓÅã¥Üªº¡C ¦pªG§A¨Ï¥Îªº¬OCentOS 5.xªº¸Ü¡A­è­è¦n/var/mail¬O/var/spool/mailªº³sµ²ÀÉ¡A ©Ò¥H¡A³z¹L¨ì/var/mail¤U¹Fpwd -P´N¯à°÷ª¾¹D³o­Ó¿ï¶µªº·N¸qÅo¡ã ^_^


  • mkdir («Ø¥ß·s¥Ø¿ý)
[root@www ~]# mkdir [-mp] ¥Ø¿ý¦WºÙ
¿ï¶µ¡G
-m ¡G³]©wÀɮתºÅv­­³á¡Iª½±µ³]©w¡A¤£»Ý­n¬Ý¹w³]Åv­­ (umask) ªºÁy¦â¡ã
-p ¡GÀ°§U§Aª½±µ±N©Ò»Ý­nªº¥Ø¿ý(¥]§t¤W¼h¥Ø¿ý)»¼°j«Ø¥ß°_¨Ó¡I

½d¨Ò¡G½Ð¨ì/tmp©³¤U¹Á¸Õ«Ø¥ß¼Æ­Ó·s¥Ø¿ý¬Ý¬Ý¡G
[root@www ~]# cd /tmp
[root@www tmp]# mkdir test    <==«Ø¥ß¤@¦W¬° test ªº·s¥Ø¿ý
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4': 
No such file or directory       <== ¨S¿ìªkª½±µ«Ø¥ß¦¹¥Ø¿ý°Ú¡I
[root@www tmp]# mkdir -p test1/test2/test3/test4
# ¥[¤F³o­Ó -p ªº¿ï¶µ¡A¥i¥H¦Û¦æÀ°§A«Ø¥ß¦h¼h¥Ø¿ý¡I

½d¨Ò¡G«Ø¥ßÅv­­¬°rwx--x--xªº¥Ø¿ý
[root@www tmp]# mkdir -m 711 test2
[root@www 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²Ó¬Ý¤W­±ªºÅv­­³¡¤À¡A¦pªG¨S¦³¥[¤W -m ¨Ó±j¨î³]©wÄݩʡA¨t²Î·|¨Ï¥Î¹w³]ÄݩʡC
# ¨º»ò§Aªº¹w³]Äݩʬ°¦ó¡H³o­n³z¹L©³¤U¤¶²Ðªº umask ¤~¯àÁA¸Ñ³á¡I ^_^

¦pªG·Q­n«Ø¥ß·sªº¥Ø¿ýªº¸Ü¡A¨º»ò´N¨Ï¥Îmkdir (make directory)§a¡I ¤£¹L¡A¦b¹w³]ªº±¡ªp¤U¡A §A©Ò»Ý­nªº¥Ø¿ý±o¤@¼h¤@¼hªº«Ø¥ß¤~¦æ¡I¨Ò¦p¡G°²¦p§A­n«Ø¥ß¤@­Ó¥Ø¿ý¬° /home/bird/testing/test1¡A¨º»ò­º¥ý¥²¶·­n¦³ /home µM«á /home/bird ¡A¦A¨Ó /home/bird/testing ³£¥²¶·­n¦s¦b¡A¤~¥i¥H«Ø¥ß /home/bird/testing/test1 ³o­Ó¥Ø¿ý¡I°²¦p¨S¦³ /home/bird/testing ®É¡A´N¨S¦³¿ìªk«Ø¥ß test1 ªº¥Ø¿ýÅo¡I

¤£¹L¡A²{¦b¦³­Ó§ó²³æ¦³®Äªº¤èªk°Õ¡I¨º´N¬O¥[¤W -p ³o­Ó¿ï¶µ³á¡I§A¥i¥Hª½±µ¤U¹F¡G¡y mkdir -p /home/bird/testing/test1 ¡z «h¨t²Î·|¦Û°ÊªºÀ°§A±N /home, /home/bird, /home/bird/testing ¨Ì§Çªº«Ø¥ß°_¥Ø¿ý¡I¨Ã¥B¡A ¦pªG¸Ó¥Ø¿ý¥»¨Ó´N¤w¸g¦s¦b®É¡A¨t²Î¤]¤£·|Åã¥Ü¿ù»~°T®§³á¡I®¼§Ö¼Öªº§a¡I ^_^¡C ¤£¹L³¾­ô¤£«ØÄ³±`¥Î-p³o­Ó¿ï¶µ¡A¦]¬°¾á¤ß¦pªG©p¥´¿ù¦r¡A¨º»ò¥Ø¿ý¦WºÙ´N·|Åܪº¶Ã¤C¤KÁVªº¡I

¥t¥~¡A¦³­Ó¦a¤è§A¥²¶·­n¥ý¦³·§©À¡A¨º´N¬O¡y¹w³]Åv­­¡zªº¦a¤è¡C§Ú­Ì¥i¥H§Q¥Î -m ¨Ó±j¨îµ¹¤©¤@­Ó·sªº¥Ø¿ý¬ÛÃöªºÅv­­¡A ¨Ò¦p¤Wªí·í¤¤¡A§Ú­Ìµ¹¤© -m 711 ¨Óµ¹¤©·sªº¥Ø¿ý drwx--x--x ªºÅv­­¡C¤£¹L¡A¦pªG¨S¦³µ¹¤© -m ¿ï¶µ®É¡A ¨º»ò¹w³]ªº·s«Ø¥Ø¿ýÅv­­¤S¬O¤°»ò©O¡H³o­Ó¸ò umask ¦³Ãö¡A§Ú­Ì¦b¥»³¹«áÀY·|¥[¥H¤¶²Ðªº¡C


  • rmdir (§R°£¡yªÅ¡zªº¥Ø¿ý)
[root@www ~]# rmdir [-p] ¥Ø¿ý¦WºÙ
¿ï¶µ¡G
-p ¡G³s¦P¤W¼h¡yªÅªº¡z¥Ø¿ý¤]¤@°_§R°£

½d¨Ò¡G±N©ómkdir½d¨Ò¤¤«Ø¥ßªº¥Ø¿ý(/tmp©³¤U)§R°£±¼¡I
[root@www tmp]# ls -l   <==¬Ý¬Ý¦³¦h¤Ö¥Ø¿ý¦s¦b¡H
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@www tmp]# rmdir test   <==¥iª½±µ§R°£±¼¡A¨S°ÝÃD
[root@www tmp]# rmdir test1  <==¦]¬°©|¦³¤º®e¡A©Ò¥HµLªk§R°£¡I
rmdir: `test1': Directory not empty
[root@www tmp]# rmdir -p test1/test2/test3/test4
[root@www tmp]# ls -l        <==±z¬Ý¬Ý¡A©³¤Uªº¿é¥X¤¤test»Ptest1¤£¨£¤F¡I
drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
# Á@¡I§Q¥Î -p ³o­Ó¿ï¶µ¡A¥ß¨è´N¥i¥H±N test1/test2/test3/test4 ¤@¦¸§R°£¡ã
# ¤£¹L­nª`·Nªº¬O¡A³o­Ó rmdir ¶È¯à¡y§R°£ªÅªº¥Ø¿ý¡z³á¡I

¦pªG·Q­n§R°£Â¦³ªº¥Ø¿ý®É¡A´N¨Ï¥Îrmdir§a¡I¨Ò¦p±N­è­è«Ø¥ßªºtest±þ±¼¡A¨Ï¥Î¡y rmdir test ¡z§Y¥i¡I½Ðª`·NËç¡I¥Ø¿ý»Ý­n¤@¼h¤@¼hªº§R°£¤~¦æ¡I¦Ó¥B³Q§R°£ªº¥Ø¿ý¸Ì­±¥²©w¤£¯à¦s¦b¨ä¥Lªº¥Ø¿ý©ÎÀɮסI ³o¤]¬O©Ò¿×ªºªÅªº¥Ø¿ý(empty directory)ªº·N«ä°Ú¡I¨º¦pªG­n±N©Ò¦³¥Ø¿ý¤UªºªF¦è³£±þ±¼©O¡H¡I ³o­Ó®É­Ô´N¥²¶·¨Ï¥Î¡y rm -r test ¡zÅo¡I¤£¹L¡AÁÙ¬O¨Ï¥Î rmdir ¤ñ¸û¤£¦MÀI¡I§A¤]¥i¥H¹Á¸Õ¥H -p ªº¿ï¶µ¥[¤J¡A¨Ó§R°£¤W¼hªº¥Ø¿ý³á¡I


¤p¼ÐÃDªº¹Ï¥ÜÃö©ó°õ¦æÀɸô®|ªºÅܼơG $PATH

¸g¹L²Ä¤»³¹FHSªº»¡©ú«á¡A§Ú­Ìª¾¹D¬d¾\ÀÉ®×Äݩʪº«ü¥Ols§¹¾ãÀɦW¬°¡G/bin/ls(³o¬Oµ´¹ï¸ô®|)¡A ¨º§A·|¤£·|ı±o«Ü©_©Ç¡G¡y¬°¤°»ò§Ú¥i¥H¦b¥ô¦ó¦a¤è°õ¦æ/bin/ls³o­Ó«ü¥O©O¡H ¡z ¬°¤°»ò§Ú¦b¥ô¦ó¥Ø¿ý¤U¿é¤J ls ´N¤@©w¥i¥HÅã¥Ü¥X¤@¨Ç°T®§¦Ó¤£·|»¡§ä¤£¨ì¸Ó /bin/ls «ü¥O©O¡H ³o¬O¦]¬°Àô¹ÒÅÜ¼Æ PATH ªºÀ°§U©Ò­P§r¡I

·í§Ú­Ì¦b°õ¦æ¤@­Ó«ü¥Oªº®É­Ô¡AÁ|¨Ò¨Ó»¡¡yls¡z¦n¤F¡A¨t²Î·|¨Ì·ÓPATHªº³]©w¥h¨C­ÓPATH©w¸qªº¥Ø¿ý¤U·j´MÀɦW¬°lsªº¥i°õ¦æÀÉ¡A ¦pªG¦bPATH©w¸qªº¥Ø¿ý¤¤§t¦³¦h­ÓÀɦW¬°lsªº¥i°õ¦æÀÉ¡A¨º»ò¥ý·j´M¨ìªº¦P¦W«ü¥O¥ý³Q°õ¦æ¡I

²{¦b¡A½Ð¤U¹F¡yecho $PATH¡z¨Ó¬Ý¬Ý¨ì©³¦³­þ¨Ç¥Ø¿ý³Q©w¸q¥X¨Ó¤F¡H echo¦³¡yÅã¥Ü¡B¦L¥X¡zªº·N«ä¡A¦Ó PATH «e­±¥[ªº $ ªí¥Ü«á­±±µªº¬OÅܼơA©Ò¥H·|Åã¥Ü¥X¥Ø«eªº PATH ¡I

½d¨Ò¡G¥ý¥Îrootªº¨­¥÷¦C¥X·j´Mªº¸ô®|¬°¦ó¡H
[root@www ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin
:/bin:/usr/sbin:/usr/bin:/root/bin  <==³o¬O¦P¤@¦æ¡I

½d¨Ò¡G¥Îvbirdªº¨­¥÷¦C¥X·j´Mªº¸ô®|¬°¦ó¡H
[root@www ~]# su - vbird
[vbird@www ~]# echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/vbird/bin
# ¥J²Ó¬Ý¡A¤@¯ë¥Î¤ávbirdªºPATH¤¤¡A¨Ã¤£¥]§t¥ô¦ó¡ysbin¡zªº¥Ø¿ý¦s¦b³á¡I

PATH(¤@©w¬O¤j¼g)³o­ÓÅܼƪº¤º®e¬O¥Ñ¤@°ï¥Ø¿ý©Ò²Õ¦¨ªº¡A¨C­Ó¥Ø¿ý¤¤¶¡¥Î«_¸¹(:)¨Ó¹j¶}¡A ¨C­Ó¥Ø¿ý¬O¦³¡y¶¶§Ç¡z¤§¤Àªº¡C¥J²Ó¬Ý¤@¤U¤W­±ªº¿é¥X¡A©p¥i¥Hµo²{¨ìµL½×¬OrootÁÙ¬Ovbird³£¦³/bin ³o­Ó¥Ø¿ý¦bPATHÅܼƤº¡A©Ò¥H·íµM´N¯à°÷¦b¥ô¦ó¦a¤è°õ¦æls¨Ó§ä¨ì/bin/ls°õ¦æÀÉÅo¡I

§Ú­Ì¥Î´X­Ó½d¨Ò¨ÓÅý§AÁA¸Ñ¤@¤U¡A¬°¤°»òPATH¬O¨º»ò­«­nªº¶µ¥Ø¡I

¨ÒÃD¡G
½Ð°Ý§A¯à¤£¯à¨Ï¥Î¤@¯ë¨­¥÷¨Ï¥ÎªÌ¤U¹Fifconfig eth0³o­Ó«ü¥O©O¡H
榭G
¦p¤W­±ªº½d¨Ò©Ò¥Ü¡A·í§A¨Ï¥Îvbird³o­Ó±b¸¹°õ¦æifconfig®É¡A·|¥X²{¡y-bash: ifconfig: command not found¡zªº¦r¼Ë¡A ¦]¬°ifconfigªº¬O©ñ¸m¨ì/sbin©³¤U¡A¦Ó¥Ñ¤Wªíªºµ²ªG¤¤§Ú­Ì¥i¥Hµo²{vbirdªºPATH¨Ã¨S¦³³]¸m/sbin¡A ©Ò¥H¹w³]µLªk°õ¦æ¡C

¦ý¬O§A¥i¥H¨Ï¥Î¡y/sbin/ifconfig eth0¡z¨Ó°õ¦æ³o­Ó«ü¥O³á¡I¦]¬°¤@¯ë¥Î¤áÁÙ¬O¥i¥H¨Ï¥Îifconfig¨Ó¬d¸ß¨t²ÎIPªº°Ñ¼Æ¡A ¬JµMPATH¨S¦³³W½d¨ì/sbin¡A¨º»ò§Ú­Ì¨Ï¥Î¡yµ´¹ï¸ô®|¡z¤]¥i¥H°õ¦æ¨ì¸Ó«ü¥Oªº¡I

¨ÒÃD¡G
°²³]§A¬Oroot¡A¦pªG§A±Nls¥Ñ/bin/ls²¾°Ê¦¨¬°/root/ls(¥i¥Î¡ymv /bin/ls /root¡z«ü¥O¹F¦¨)¡AµM«á§A¦Û¤v¥»¨­¤]¦b/root¥Ø¿ý¤U¡A ½Ð°Ý(1)§A¯à¤£¯àª½±µ¿é¤Jls¨Ó°õ¦æ¡H(2)­Y¤£¯à¡A§A¸Ó¦p¦ó°õ¦æls³o­Ó«ü¥O¡H(3)­Y­nª½±µ¿é¤Jls§Y¥i°õ¦æ¡A¤S¸Ó¦p¦ó¶i¦æ¡H
榭G
¥Ñ©ó³o­Ó¨ÒÃDªº­«ÂI¬O±N¬Y­Ó°õ¦æÀɲ¾°Ê¨ì«D¥¿³W¥Ø¿ý¥h¡A©Ò¥H§Ú­Ì¥ý­n¶i¦æ©³¤Uªº°Ê§@¤~¦æ¡G(°È¥²¨Ï¥Îrootªº¨­¥÷)
[root@www ~]# mv /bin/ls /root
# mv ¬°²¾°Ê¡A¥i±NÀɮצb¤£¦Pªº¥Ø¿ý¶¡¶i¦æ²¾°Ê§@·~
(1)±µ¤U¨Ó¤£½×§A¦b¨º­Ó¥Ø¿ý©³¤U¿é¤J¥ô¦ó»Pls¬ÛÃöªº«ü¥O¡A³£¨S¦³¿ìªk¶¶§Qªº°õ¦æls¤F¡I ¤]´N¬O»¡¡A§A¤£¯àª½±µ¿é¤Jls¨Ó°õ¦æ¡A¦]¬°/root³o­Ó¥Ø¿ý¨Ã¤£¦bPATH«ü©wªº¥Ø¿ý¤¤¡A ©Ò¥H¡A§Y¨Ï§A¦b/root¥Ø¿ý¤U¡A¤]¤£¯à°÷·j´M¨ìls³o­Ó«ü¥O¡I

(2)¦]¬°³o­Óls½T¹ê¦s¦b©ó/root©³¤U¡A¨Ã¤£¬O³Q§R°£¤F¡I©Ò¥H§Ú­Ì¥i¥H³z¹L¨Ï¥Îµ´¹ï¸ô®|©ÎªÌ¬O¬Û¹ï¸ô®|ª½±µ«ü©w³o­Ó°õ¦æÀÉÀɦW¡A ©³¤Uªº¨â­Ó¤èªk³£¯à°÷°õ¦æls³o­Ó«ü¥O¡G
[root@www ~]# /root/ls  <==ª½±µ¥Îµ´¹ï¸ô®|«ü©w¸ÓÀɦW
[root@www ~]# ./ls      <==¦]¬°¦b /root ¥Ø¿ý¤U¡A´N¥Î./ls¨Ó«ü©w
(3)¦pªG·Q­nÅýroot¦b¥ô¦ó¥Ø¿ý§¡¥i°õ¦æ/root©³¤Uªºls¡A¨º»ò´N±N/root¥[¤JPATH·í¤¤§Y¥i¡C ¥[¤Jªº¤èªk«Ü²³æ¡A´N¹³©³¤U³o¼Ë¡G
[root@www ~]# PATH="$PATH":/root
¤W­±³o­Ó§@ªk´N¯à°÷±N/root¥[¤J¨ì°õ¦æÀÉ·j´M¸ô®|PATH¤¤¤F¡I¤£¬Û«Hªº¸Ü½Ð±z¦Û¦æ¨Ï¥Î¡yecho $PATH¡z¥h¬d¬Ý§a¡I ¦pªG½T©w³o­Ó¨ÒÃD¶i¦æ¨S¦³°ÝÃD¤F¡A½Ð±Nls·h¦^/bin©³¤U¡A¤£µM¨t²Î·|±¾ÂIªº¡I
[root@www ~]# mv /root/ls /bin

¨ÒÃD¡G
¦pªG§Ú¦³¨â­Óls«ü¥O¦b¤£¦Pªº¥Ø¿ý¤¤¡A¨Ò¦p/usr/local/bin/ls»P/bin/ls¨º»ò·í§Ú¤U¹F ls ªº®É­Ô¡A­þ­Óls·|³Q°õ¦æ¡H
榭G
¨ºÁ٥λ¡¡A´N§ä¥X PATH ¸Ì­±­þ­Ó¥Ø¿ý¥ý³Q¬d¸ß¡A«h¨º­Ó¥Ø¿ý¤Uªº«ü¥O´N·|³Q¥ý°õ¦æ¤F¡I

¨ÒÃD¡G
¬°¤°»òPATH·j´Mªº¥Ø¿ý¤£¥[¤J¥»¥Ø¿ý(.)¡H¥[¤J¥»¥Ø¿ýªº·j´M¤£¬O¤]¤£¿ù¡H
榭G
¦pªG¦bPATH¤¤¥[¤J¥»¥Ø¿ý(.)«á¡A½T¹ê§Ú­Ì´N¯à°÷¦b«ü¥O©Ò¦b¥Ø¿ý¶i¦æ«ü¥Oªº°õ¦æ¤F¡C ¦ý¬O¥Ñ©ó§Aªº¤u§@¥Ø¿ý¨Ã«D©T©w(±`±`·|¨Ï¥Îcd¨Ó¤Á´«¨ì¤£¦Pªº¥Ø¿ý)¡A ¦]¦¹¯à°÷°õ¦æªº«ü¥O·|¦³ÅܰÊ(¦]¬°¨C­Ó¥Ø¿ý©³¤Uªº¥i°õ¦æÀɳ£¤£¬Û¦P¹À¡I)¡A³o¹ï¨Ï¥ÎªÌ¨Ó»¡¨Ã«D¦n¨Æ¡C

¥t¥~¡A¦pªG¦³­ÓÃa¤ß¨Ï¥ÎªÌ¦b/tmp©³¤U°µ¤F¤@­Ó«ü¥O¡A¦]¬°/tmp¬O¤j®a³£¯à°÷¼g¤JªºÀô¹Ò¡A©Ò¥H¥L·íµM¥i¥H³o¼Ë°µ¡C °²³]¸Ó«ü¥O¥i¯à·|ÅѨú¨Ï¥ÎªÌªº¤@¨Ç¸ê®Æ¡A¦pªG§A¨Ï¥Îrootªº¨­¥÷¨Ó°õ¦æ³o­Ó«ü¥O¡A¨º¤£¬O«ÜÁV¿|¡H ¦pªG³o­Ó«ü¥Oªº¦WºÙ¤S¬O¸g±`·|³Q¥Î¨ìªºls®É¡A¨º¡y¤¤¼Ð¡zªº¾÷²v´N§ó°ª¤F¡I

©Ò¥H¡A¬°¤F¦w¥þ°_¨£¡A¤£«ØÄ³±N¡y.¡z¥[¤JPATHªº·j´M¥Ø¿ý¤¤¡C

¦Ó¥Ñ¤W­±ªº´X­Ó¨ÒÃD§Ú­Ì¤]¥i¥Hª¾¹D´X¥ó¨Æ±¡¡G

  • ¤£¦P¨­¥÷¨Ï¥ÎªÌ¹w³]ªºPATH¤£¦P¡A¹w³]¯à°÷ÀH·N°õ¦æªº«ü¥O¤]¤£¦P(¦proot»Pvbird)¡F
  • PATH¬O¥i¥H­×§ïªº¡A©Ò¥H¤@¯ë¨Ï¥ÎªÌÁÙ¬O¥i¥H³z¹L­×§ïPATH¨Ó°õ¦æ¬Y¨Ç¦ì©ó/sbin©Î/usr/sbin¤Uªº«ü¥O¨Ó¬d¸ß¡F
  • ¨Ï¥Îµ´¹ï¸ô®|©Î¬Û¹ï¸ô®|ª½±µ«ü©w¬Y­Ó«ü¥OªºÀɦW¨Ó°õ¦æ¡A·|¤ñ·j´MPATH¨Óªº¥¿½T¡F
  • «ü¥OÀ³¸Ó­n©ñ¸m¨ì¥¿½Tªº¥Ø¿ý¤U¡A°õ¦æ¤~·|¤ñ¸û¤è«K¡F
  • ¥»¥Ø¿ý(.)³Ì¦n¤£­n©ñ¨ìPATH·í¤¤¡C

¹ï©óPATH§ó¸Ô²Óªº¡yÅܼơz»¡©ú¡A§Ú­Ì·|¦b²Ä¤T½gªºbash shell¤¤¸Ô²Ó»¡©úªº¡I


¤j¼ÐÃDªº¹Ï¥ÜÀÉ®×»P¥Ø¿ýºÞ²z¡G

½Í¤F½Í¥Ø¿ý»P¸ô®|¤§«á¡A¦A¨Ó°Q½×¤@¤UÃö©óÀɮתº¤@¨Ç°ò¥»ºÞ²z§a¡IÀÉ®×»P¥Ø¿ýªººÞ²z¤W¡A¤£¥~¥G¡yÅã¥ÜÄݩʡz¡B ¡y«þ¨©¡z¡B¡y§R°£Àɮסz¤Î¡y²¾°ÊÀɮשΥؿý¡zµ¥µ¥¡A¥Ñ©óÀÉ®×»P¥Ø¿ýªººÞ²z¦b Linux ·í¤¤¬O«Ü­«­nªº¡A ¤×¨ä¬O¨C­Ó¤H¦Û¤v®a¥Ø¿ýªº¸ê®Æ¤]³£»Ý­nª`·NºÞ²z¡I ©Ò¥H§Ú­Ì¨Ó½Í¤@½Í¦³ÃöÀÉ®×»P¥Ø¿ýªº¤@¨Ç°ò¦ºÞ²z³¡¤À§a¡I


¤p¼ÐÃDªº¹Ï¥ÜÀÉ®×»P¥Ø¿ýªºÀ˵ø¡G ls
[root@www ~]# ls [-aAdfFhilnrRSt] ¥Ø¿ý¦WºÙ
[root@www ~]# ls [--color={never,auto,always}] ¥Ø¿ý¦WºÙ
[root@www ~]# ls [--full-time] ¥Ø¿ý¦WºÙ
¿ï¶µ»P°Ñ¼Æ¡G
-a  ¡G¥þ³¡ªºÀɮסA³s¦PÁôÂÃÀÉ( ¶}ÀY¬° . ªºÀÉ®×) ¤@°_¦C¥X¨Ó(±`¥Î)
-A  ¡G¥þ³¡ªºÀɮסA³s¦PÁôÂÃÀÉ¡A¦ý¤£¥]¬A . »P .. ³o¨â­Ó¥Ø¿ý
-d  ¡G¶È¦C¥X¥Ø¿ý¥»¨­¡A¦Ó¤£¬O¦C¥X¥Ø¿ý¤ºªºÀÉ®×¸ê®Æ(±`¥Î)
-f  ¡Gª½±µ¦C¥Xµ²ªG¡A¦Ó¤£¶i¦æ±Æ§Ç (ls ¹w³]·|¥HÀɦW±Æ§Ç¡I)
-F  ¡G®Ú¾ÚÀɮסB¥Ø¿ýµ¥¸ê°T¡Aµ¹¤©ªþ¥[¸ê®Æµ²ºc¡A¨Ò¦p¡G
      *:¥Nªí¥i°õ¦æÀÉ¡F /:¥Nªí¥Ø¿ý¡F =:¥Nªí socket ÀɮסF |:¥Nªí FIFO ÀɮסF
-h  ¡G±NÀÉ®×®e¶q¥H¤HÃþ¸û©öŪªº¤è¦¡(¨Ò¦p GB, KB µ¥µ¥)¦C¥X¨Ó¡F
-i  ¡G¦C¥X inode ¸¹½X¡Ainode ªº·N¸q¤U¤@³¹±N·|¤¶²Ð¡F
-l  ¡Gªø¸ê®Æ¦ê¦C¥X¡A¥]§tÀɮתºÄݩʻPÅv­­µ¥µ¥¸ê®Æ¡F(±`¥Î)
-n  ¡G¦C¥X UID »P GID ¦Ó«D¨Ï¥ÎªÌ»P¸s²Õªº¦WºÙ (UID»PGID·|¦b±b¸¹ºÞ²z´£¨ì¡I)
-r  ¡G±N±Æ§Çµ²ªG¤Ï¦V¿é¥X¡A¨Ò¦p¡G­ì¥»ÀɦW¥Ñ¤p¨ì¤j¡A¤Ï¦V«h¬°¥Ñ¤j¨ì¤p¡F
-R  ¡G³s¦P¤l¥Ø¿ý¤º®e¤@°_¦C¥X¨Ó¡Aµ¥©ó¸Ó¥Ø¿ý¤Uªº©Ò¦³Àɮ׳£·|Åã¥Ü¥X¨Ó¡F
-S  ¡G¥HÀÉ®×®e¶q¤j¤p±Æ§Ç¡A¦Ó¤£¬O¥ÎÀɦW±Æ§Ç¡F
-t  ¡G¨Ì®É¶¡±Æ§Ç¡A¦Ó¤£¬O¥ÎÀɦW¡C
--color=never  ¡G¤£­n¨Ì¾ÚÀɮׯS©Êµ¹¤©ÃC¦âÅã¥Ü¡F
--color=always ¡GÅã¥ÜÃC¦â
--color=auto   ¡GÅý¨t²Î¦Û¦æ¨Ì¾Ú³]©w¨Ó§PÂ_¬O§_µ¹¤©ÃC¦â
--full-time    ¡G¥H§¹¾ã®É¶¡¼Ò¦¡ (¥]§t¦~¡B¤ë¡B¤é¡B®É¡B¤À) ¿é¥X
--time={atime,ctime} ¡G¿é¥X access ®É¶¡©Î§ïÅÜÅv­­Äݩʮɶ¡ (ctime) 
                       ¦Ó«D¤º®eÅܧó®É¶¡ (modification time)

¦bLinux¨t²Î·í¤¤¡A³o­Ó ls «ü¥O¥i¯à¬O³Ì±`³Q°õ¦æªº§a¡I¦]¬°§Ú­ÌÀH®É³£­nª¾¹DÀɮשΪ̬O¥Ø¿ýªº¬ÛÃö¸ê°T°Ú¡ã ¤£¹L¡A§Ú­ÌLinuxªºÀɮשҰO¿ýªº¸ê°T¹ê¦b¬O¤Ó¦h¤F¡Als ¨S¦³»Ý­n¥þ³¡³£¦C¥X¨Ó©O¡ã ©Ò¥H¡A·í§A¥u¦³¤U¹F ls ®É¡A¹w³]Åã¥Üªº¥u¦³¡G«DÁôÂÃÀɪºÀɦW¡B ¥HÀɦW¶i¦æ±Æ§Ç¤ÎÀɦW¥NªíªºÃC¦âÅã¥Ü¦p¦¹¦Ó¤w¡CÁ|¨Ò¨Ó»¡¡A §A¤U¹F¡y ls /etc ¡z¤§«á¡A¥u¦³¸g¹L±Æ§ÇªºÀɦW¥H¤Î¥HÂŦâÅã¥Ü¥Ø¿ý¤Î¥Õ¦âÅã¥Ü¤@¯ëÀɮסA¦p¦¹¦Ó¤w¡C

¨º¦pªG§ÚÁÙ·Q­n¥[¤J¨ä¥LªºÅã¥Ü¸ê°T®É¡A¥i¥H¥[¤J¤WÀY´£¨ìªº¨º¨Ç¦³¥Îªº¿ï¶µ©O¡ã Á|¨Ò¨Ó»¡¡A§Ú­Ì¤§«e¤@ª½¥Î¨ìªº -l ³o­Óªø¦êÅã¥Ü¸ê®Æ¤º®e¡A¥H¤Î±NÁôÂÃÀɤ]¤@°_¦C¥Ü¥X¨Óªº -a ¿ï¶µµ¥µ¥¡C ©³¤U«h¬O¤@¨Ç±`¥Îªº½d¨Ò¡A¹ê»Ú¸Õ°µ¬Ý¬Ý¡G

½d¨Ò¤@¡G±N®a¥Ø¿ý¤Uªº©Ò¦³ÀɮצC¥X¨Ó(§tÄݩʻPÁôÂÃÀÉ)
[root@www ~]# ls -al ~
total 156
drwxr-x---  4 root root  4096 Sep 24 00:07 .
drwxr-xr-x 23 root root  4096 Sep 22 12:09 ..
-rw-------  1 root root  1474 Sep  4 18:27 anaconda-ks.cfg
-rw-------  1 root root   955 Sep 24 00:08 .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
drwx------  3 root root  4096 Sep  5 10:37 .gconf
-rw-r--r--  1 root root 42304 Sep  4 18:26 install.log
-rw-r--r--  1 root root  5661 Sep  4 18:25 install.log.syslog
# ³o­Ó®É­Ô§A·|¬Ý¨ì¥H . ¬°¶}ÀYªº´X­ÓÀɮסA¥H¤Î¥Ø¿ýÀÉ (.) (..) .gconf µ¥µ¥¡A
# ¤£¹L¡A¥Ø¿ýÀÉÀɦW³£¬O¥H²`ÂŦâÅã¥Ü¡A¦³ÂI¤£®e©ö¬Ý²M·¡´N¬O¤F¡C

½d¨Ò¤G¡G©Ó¤WÃD¡A¤£Åã¥ÜÃC¦â¡A¦ý¦bÀɦW¥½Åã¥Ü¥X¸ÓÀɦW¥NªíªºÃþ«¬(type)
[root@www ~]# ls -alF --color=never  ~
total 156
drwxr-x---  4 root root  4096 Sep 24 00:07 ./
drwxr-xr-x 23 root root  4096 Sep 22 12:09 ../
-rw-------  1 root root  1474 Sep  4 18:27 anaconda-ks.cfg
-rw-------  1 root root   955 Sep 24 00:08 .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
drwx------  3 root root  4096 Sep  5 10:37 .gconf/
-rw-r--r--  1 root root 42304 Sep  4 18:26 install.log
-rw-r--r--  1 root root  5661 Sep  4 18:25 install.log.syslog
# ª`·N¬Ý¨ìÅã¥Üµ²ªGªº²Ä¤@¦æ¡A¼K¼K¡ãª¾¹D¬°¦ó§Ú­Ì·|¤U¹FÃþ¦ü ./command 
# ¤§Ãþªº«ü¥O¤F§a¡H¦]¬° ./ ¥Nªíªº¬O¡y¥Ø«e¥Ø¿ý¤U¡zªº·N«ä°Ú¡I¦Ü©ó¤°»ò¬O FIFO/Socket ¡H
# ½Ð°Ñ¦Ò«e¤@³¹¸`ªº¤¶²Ð°Ú¡I¥t¥~¡A¨º­Ó.bashrc ®É¶¡¶È¼g2007¡A¯à§_ª¾¹D¸Ô²Ó®É¶¡¡H

½d¨Ò¤T¡G§¹¾ãªº§e²{Àɮתº­×§ï®É¶¡ *(modification time)
[root@www ~]# ls -al --full-time  ~
total 156
drwxr-x---  4 root root  4096 2008-09-24 00:07:00.000000 +0800 .
drwxr-xr-x 23 root root  4096 2008-09-22 12:09:32.000000 +0800 ..
-rw-------  1 root root  1474 2008-09-04 18:27:10.000000 +0800 anaconda-ks.cfg
-rw-------  1 root root   955 2008-09-24 00:08:14.000000 +0800 .bash_history
-rw-r--r--  1 root root    24 2007-01-06 17:05:04.000000 +0800 .bash_logout
-rw-r--r--  1 root root   191 2007-01-06 17:05:04.000000 +0800 .bash_profile
-rw-r--r--  1 root root   176 2007-01-06 17:05:04.000000 +0800 .bashrc
drwx------  3 root root  4096 2008-09-05 10:37:49.000000 +0800 .gconf
-rw-r--r--  1 root root 42304 2008-09-04 18:26:57.000000 +0800 install.log
-rw-r--r--  1 root root  5661 2008-09-04 18:25:55.000000 +0800 install.log.syslog
# ½Ð¥J²Ó¬Ý¡A¤W­±ªº¡y®É¶¡¡zÄæ¦ìÅܤF³á¡IÅܦ¨¸û¬°§¹¾ãªº®æ¦¡¡C
# ¤@¯ë¨Ó»¡¡A ls -al ¶È¦C¥X¥Ø«eµu®æ¦¡ªº®É¶¡¡A¦³®É¤£·|¦C¥X¦~¥÷¡A
# ÂÇ¥Ñ --full-time ¥i¥H¬d¾\¨ì¤ñ¸û¥¿½Tªº§¹¾ã®É¶¡®æ¦¡°Ú¡I

¨ä¹ê ls ªº¥ÎªkÁÙ¦³«Ü¦h¡A¥]¬A¬d¾\ÀɮשҦb i-node ¸¹½Xªº ls -i ¿ï¶µ¡A¥H¤Î¥Î¨Ó¶i¦æÀɮױƧǪº -S ¿ï¶µ¡AÁÙ¦³¥Î¨Ó¬d¾\¤£¦P®É¶¡ªº°Ê§@ªº --time=atime µ¥¿ï¶µ(§ó¦h®É¶¡»¡©ú½Ð°Ñ¦Ò¥»³¹«á­±touchªº»¡©ú)¡C¦Ó³o¨Ç¿ï¶µªº¦s¦b³£¬O¦]¬° Linux Àɮרt²Î°O¿ý¤F«Ü¦h¦³¥Îªº¸ê°Tªº½t¬G¡C¨º»ò Linux ªºÀɮרt²Î¤¤¡A³o¨Ç»PÅv­­¡BÄݩʦ³Ãöªº¸ê®Æ©ñ¦b­þ¸Ì©O¡H ©ñ¦b i-node ¸Ì­±¡CÃö©ó³o³¡¤À¡A§Ú­Ì·|¦b¤U¤@³¹Ä~Äò¬°§A§@¤ñ¸û²`¤Jªº¤¶²Ð°Ú¡I

µL½×¦p¦ó¡A ls ³Ì±`³Q¨Ï¥Î¨ìªº¥\¯àÁÙ¬O¨º­Ó -l ªº¿ï¶µ¡A¬°¦¹¡A«Ü¦h distribution ¦b¹w³]ªº±¡ªp¤¤¡A ¤w¸g±N ll (L ªº¤p¼g) ³]©w¦¨¬° ls -l ªº·N«ä¤F¡I¨ä¹ê¡A¨º­Ó¥\¯à¬O Bash shell ªº alias ¥\¯à©O¡ã¤]´N¬O»¡¡A§Ú­Ìª½±µ¿é¤J ll ´Nµ¥©ó¬O¿é¤J ls -l ¬O¤@¼Ëªº¡ãÃö©ó³o³¡¤À¡A§Ú­Ì·|¦b«áÄò bash shell ®É¦A¦¸ªº±j½Õºw¡ã


¤p¼ÐÃDªº¹Ï¥Ü½Æ»s¡B§R°£»P²¾°Ê¡G cp, rm, mv

­n½Æ»sÀɮסA½Ð¨Ï¥Î cp (copy) ³o­Ó«ü¥O§Y¥i¡ã¤£¹L¡A cp ³o­Ó«ü¥Oªº¥Î³~¥i¦h¤F¡ã °£¤F³æ¯Âªº½Æ»s¤§¥~¡AÁÙ¥i¥H«Ø¥ß³sµ²ÀÉ (´N¬O±¶®|Åo)¡A¤ñ¹ï¨âÀɮתº·s¦Ӥ©¥H§ó·s¡A ¥H¤Î½Æ»s¾ã­Ó¥Ø¿ýµ¥µ¥ªº¥\¯à©O¡I¦Ü©ó²¾°Ê¥Ø¿ý»PÀɮסA«h¨Ï¥Î mv (move)¡A ³o­Ó«ü¥O¤]¥i¥Hª½±µ®³¨Ó§@§ó¦W (rename) ªº°Ê§@³á¡I¦Ü©ó²¾°£¶Ü¡H¨º´N¬O rm (remove) ³o­Ó«ü¥OÅo¡ã©³¤U§Ú­Ì´N¨ÓÁ@¤@Á@¥ý¡ã


  • cp (½Æ»sÀɮשΥؿý)
[root@www ~]# cp [-adfilprsu] ¨Ó·½ÀÉ(source) ¥Ø¼ÐÀÉ(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
¿ï¶µ»P°Ñ¼Æ¡G
-a  ¡G¬Û·í©ó -pdr ªº·N«ä¡A¦Ü©ó pdr ½Ð°Ñ¦Ò¤U¦C»¡©ú¡F(±`¥Î)
-d  ¡G­Y¨Ó·½Àɬ°³sµ²ÀɪºÄÝ©Ê(link file)¡A«h½Æ»s³sµ²ÀÉÄݩʦӫDÀÉ®×¥»¨­¡F
-f  ¡G¬°±j¨î(force)ªº·N«ä¡A­Y¥Ø¼ÐÀɮפw¸g¦s¦b¥BµLªk¶}±Ò¡A«h²¾°£«á¦A¹Á¸Õ¤@¦¸¡F
-i  ¡G­Y¥Ø¼ÐÀÉ(destination)¤w¸g¦s¦b®É¡A¦bÂл\®É·|¥ý¸ß°Ý°Ê§@ªº¶i¦æ(±`¥Î)
-l  ¡G¶i¦æµw¦¡³sµ²(hard link)ªº³sµ²ÀɫإߡA¦Ó«D½Æ»sÀÉ®×¥»¨­¡F
-p  ¡G³s¦PÀɮתºÄݩʤ@°_½Æ»s¹L¥h¡A¦Ó«D¨Ï¥Î¹w³]ÄÝ©Ê(³Æ¥÷±`¥Î)¡F
-r  ¡G»¼°j«ùÄò½Æ»s¡A¥Î©ó¥Ø¿ýªº½Æ»s¦æ¬°¡F(±`¥Î)
-s  ¡G½Æ»s¦¨¬°²Å¸¹³sµ²ÀÉ (symbolic link)¡A¥ç§Y¡y±¶®|¡zÀɮסF
-u  ¡G­Y destination ¤ñ source ¤~§ó·s destination ¡I
³Ì«á»Ý­nª`·Nªº¡A¦pªG¨Ó·½Àɦ³¨â­Ó¥H¤W¡A«h³Ì«á¤@­Ó¥ØªºÀɤ@©w­n¬O¡y¥Ø¿ý¡z¤~¦æ¡I

½Æ»s(cp)³o­Ó«ü¥O¬O«D±`­«­nªº¡A¤£¦P¨­¥÷ªÌ°õ¦æ³o­Ó«ü¥O·|¦³¤£¦Pªºµ²ªG²£¥Í¡A¤×¨ä¬O¨º­Ó-a, -pªº¿ï¶µ¡A ¹ï©ó¤£¦P¨­¥÷¨Ó»¡¡A®t²§«h«D±`ªº¤j¡I©³¤Uªº½m²ß¤¤¡A¦³ªº¨­¥÷¬°root¦³ªº¨­¥÷¬°¤@¯ë±b¸¹(¦b§Ú³o¸Ì¥Îvbird³o­Ó±b¸¹)¡A ½m²ß®É½Ð¯S§Oª`·N¨­¥÷ªº®t§O³á¡I¦n¡I¶}©l¨Ó°µ½Æ»sªº½m²ß»PÆ[¹î¡G

½d¨Ò¤@¡G¥Îroot¨­¥÷¡A±N®a¥Ø¿ý¤Uªº .bashrc ½Æ»s¨ì /tmp ¤U¡A¨Ã§ó¦W¬° bashrc
[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
cp: overwrite `/tmp/bashrc'? n  <==n¤£Âл\¡Ay¬°Âл\
# ­«½Æ§@¨â¦¸°Ê§@¡A¥Ñ©ó /tmp ©³¤U¤w¸g¦s¦b bashrc ¤F¡A¥[¤W -i ¿ï¶µ«á¡A
# «h¦bÂл\«e·|¸ß°Ý¨Ï¥ÎªÌ¬O§_½T©w¡I¥i¥H«ö¤U n ©ÎªÌ y ¨Ó¤G¦¸½T»{©O¡I

½d¨Ò¤G¡GÅÜ´«¥Ø¿ý¨ì/tmp¡A¨Ã±N/var/log/wtmp½Æ»s¨ì/tmp¥BÆ[¹îÄݩʡG
[root@www ~]# cd /tmp
[root@www tmp]# cp /var/log/wtmp . <==·Q­n½Æ»s¨ì¥Ø«eªº¥Ø¿ý¡A³Ì«áªº . ¤£­n§Ñ
[root@www tmp]# ls -l /var/log/wtmp wtmp
-rw-rw-r-- 1 root utmp 96384 Sep 24 11:54 /var/log/wtmp
-rw-r--r-- 1 root root 96384 Sep 24 14:06 wtmp
# ª`·N¤W­±ªº¯S®í¦rÅé¡A¦b¤£¥[¥ô¦ó¿ï¶µªº±¡ªp¤U¡AÀɮתº¬Y¨ÇÄÝ©Ê/Åv­­·|§ïÅÜ¡F
# ³o¬O­Ó«Ü­«­nªº¯S©Ê¡I­nª`·N³á¡IÁÙ¦³¡A³sÀɮ׫إߪº®É¶¡¤]¤£¤@¼Ë¤F¡I
# ¨º¦pªG§A·Q­n±NÀɮתº©Ò¦³¯S©Ê³£¤@°_½Æ»s¹L¨Ó¸Ó«ç¿ì¡H¥i¥H¥[¤W -a ³á¡I¦p¤U©Ò¥Ü¡G

[root@www tmp]# cp -a /var/log/wtmp wtmp_2
[root@www tmp]# ls -l /var/log/wtmp wtmp_2
-rw-rw-r-- 1 root utmp 96384 Sep 24 11:54 /var/log/wtmp
-rw-rw-r-- 1 root utmp 96384 Sep 24 11:54 wtmp_2
# ÁA¤F§a¡I¾ã­Ó¸ê®Æ¯S©Ê§¹¥þ¤@¼Ò¤@¼Ë£°¡I¯u¬O¤£¿à¡ã³o´N¬O -a ªº¯S©Ê¡I

³o­Ó cp ªº¥\¯à«Ü¦h¡A¥Ñ©ó§Ú­Ì±`±`·|¶i¦æ¤@¨Ç¸ê®Æªº½Æ»s¡A©Ò¥H¤]·|±`±`¥Î¨ì³o­Ó«ü¥Oªº¡C ¤@¯ë¨Ó»¡¡A§Ú­Ì¦pªG¥h½Æ»s§O¤Hªº¸ê®Æ (·íµM¡A¸ÓÀÉ®×§A¥²¶·­n¦³ read ªºÅv­­¤~¦æ°Ú¡I ^_^) ®É¡A Á`¬O§Æ±æ½Æ»s¨ìªº¸ê®Æ³Ì«á¬O§Ú­Ì¦Û¤vªº¡A©Ò¥H¡A¦b¹w³]ªº±ø¥ó¤¤¡A cp ªº¨Ó·½ÀÉ»P¥ØªºÀɪºÅv­­¬O¤£¦Pªº¡A¥ØªºÀɪº¾Ö¦³ªÌ³q±`·|¬O«ü¥O¾Þ§@ªÌ¥»¨­¡CÁ|¨Ò¨Ó»¡¡A ¤W­±ªº½d¨Ò¤G¤¤¡A¥Ñ©ó§Ú¬O root ªº¨­¥÷¡A¦]¦¹½Æ»s¹L¨ÓªºÀÉ®×¾Ö¦³ªÌ»P¸s²Õ´N§ïÅܦ¨¬° root ©Ò¦³¤F¡I ³o¼Ë»¡¡A¥i¥H©ú¥Õ¶Ü¡H^_^

¥Ñ©ó¨ã¦³³o­Ó¯S©Ê¡A¦]¦¹·í§Ú­Ì¦b¶i¦æ³Æ¥÷ªº®É­Ô¡A¬Y¨Ç»Ý­n¯S§Oª`·Nªº¯S®íÅv­­ÀɮסA ¨Ò¦p±K½XÀÉ (/etc/shadow) ¥H¤Î¤@¨Ç³]©wÀÉ¡A´N¤£¯àª½±µ¥H cp ¨Ó½Æ»s¡A¦Ó¥²¶·­n¥[¤W -a ©ÎªÌ¬O -p µ¥µ¥¥i¥H§¹¾ã½Æ»sÀÉ®×Åv­­ªº¿ï¶µ¤~¦æ¡I¥t¥~¡A¦pªG§A·Q­n½Æ»sÀÉ®×µ¹¨ä¥Lªº¨Ï¥ÎªÌ¡A ¤]¥²¶·­nª`·N¨ìÀɮתºÅv­­(¥]§tŪ¡B¼g¡B°õ¦æ¥H¤ÎÀÉ®×¾Ö¦³ªÌµ¥µ¥)¡A §_«h¡A¨ä¥L¤HÁÙ¬OµLªk°w¹ï§Aµ¹¤©ªºÀÉ®×¶i¦æ­×­qªº°Ê§@³á¡Iª`·Nª`·N¡I

½d¨Ò¤T¡G½Æ»s /etc/ ³o­Ó¥Ø¿ý¤Uªº©Ò¦³¤º®e¨ì /tmp ©³¤U
[root@www tmp]# cp /etc/ /tmp
cp: omitting directory `/etc'   <== ¦pªG¬O¥Ø¿ý«h¤£¯àª½±µ½Æ»s¡A­n¥[¤W -r ªº¿ï¶µ
[root@www tmp]# cp -r /etc/ /tmp
# ÁÙ¬O­n¦A¦¸ªº±j½Õ³á¡I -r ¬O¥i¥H½Æ»s¥Ø¿ý¡A¦ý¬O¡AÀÉ®×»P¥Ø¿ýªºÅv­­¥i¯à·|³Q§ïÅÜ
# ©Ò¥H¡A¤]¥i¥H§Q¥Î¡y cp -a /etc /tmp ¡z¨Ó¤U¹F«ü¥O³á¡I¤×¨ä¬O¦b³Æ¥÷ªº±¡ªp¤U¡I

½d¨Ò¥|¡G±N½d¨Ò¤@½Æ»sªº bashrc «Ø¥ß¤@­Ó³sµ²ÀÉ (symbolic link)
[root@www tmp]# ls -l bashrc
-rw-r--r-- 1 root root 176 Sep 24 14:02 bashrc  <==¥ýÆ[¹î¤@¤UÀÉ®×±¡ªp
[root@www tmp]# cp -s bashrc bashrc_slink
[root@www tmp]# cp -l bashrc bashrc_hlink
[root@www tmp]# ls -l bashrc*
-rw-r--r-- 2 root root 176 Sep 24 14:02 bashrc  <==»P­ì©lÀɮפ£¤Ó¤@¼Ë¤F¡I
-rw-r--r-- 2 root root 176 Sep 24 14:02 bashrc_hlink
lrwxrwxrwx 1 root root   6 Sep 24 14:20 bashrc_slink -> bashrc

½d¨Ò¥|¥i¦³½ì¤F¡I¨Ï¥Î -l ¤Î -s ³£·|«Ø¥ß©Ò¿×ªº³sµ²ÀÉ(link file)¡A¦ý¬O³o¨âºØ³sµ²ÀÉ«o¦³¤£¤@¼Ëªº±¡ªp¡C³o¬O«ç»ò¤@¦^¨Æ°Ú¡H ¨º­Ó -l ´N¬O©Ò¿×ªº¹êÅé³sµ²(hard link)¡A¦Ü©ó -s «h¬O²Å¸¹³sµ²(symbolic link)¡A ²³æ¨Ó»¡¡Abashrc_slink ¬O¤@­Ó¡y±¶®|¡z¡A³o­Ó±¶®|·|³sµ²¨ìbashrc¥h¡I©Ò¥H§A·|¬Ý¨ìÀɦW¥k°¼·|¦³­Ó«ü¦V(->)ªº²Å¸¹¡I

¦Ü©óbashrc_hlinkÀÉ®×»PbashrcªºÄݩʻPÅv­­§¹¥þ¤@¼Ò¤@¼Ë¡A»P©|¥¼¶i¦æ³sµ²«eªº®t²§«h¬O²Ä¤GÄæªºlink¼Æ¥Ñ1Åܦ¨2¤F¡I ³¾­ô³o¸Ì¥ý¤£¤¶²Ð¹êÅé³sµ²¡A¦]¬°¹êÅé³sµ²¯A¤Î i-node ªº¬ÛÃöª¾ÃÑ¡A§Ú­Ì¤U¤@³¹½Í¨ìÀɮרt²Î(filesystem)®É¦A¨Ó°Q½×³o­Ó°ÝÃD¡C

½d¨Ò¤­¡G­Y ~/.bashrc ¤ñ /tmp/bashrc ·s¤~½Æ»s¹L¨Ó
[root@www tmp]# cp -u ~/.bashrc /tmp/bashrc
# ³o­Ó -u ªº¯S©Ê¡A¬O¦b¥Ø¼ÐÀÉ®×»P¨Ó·½Àɮצ³®t²§®É¡A¤~·|½Æ»sªº¡C
# ©Ò¥H¡A¤ñ¸û±`³Q¥Î©ó¡y³Æ¥÷¡zªº¤u§@·í¤¤³á¡I ^_^

½d¨Ò¤»¡G±N½d¨Ò¥|³y¦¨ªº bashrc_slink ½Æ»s¦¨¬° bashrc_slink_1 »Pbashrc_slink_2
[root@www tmp]# cp bashrc_slink bashrc_slink_1
[root@www tmp]# cp -d bashrc_slink bashrc_slink_2
[root@www tmp]# ls -l bashrc bashrc_slink*
-rw-r--r-- 2 root root 176 Sep 24 14:02 bashrc
lrwxrwxrwx 1 root root   6 Sep 24 14:20 bashrc_slink -> bashrc
-rw-r--r-- 1 root root 176 Sep 24 14:32 bashrc_slink_1       <==»P­ì©lÀɮ׬ۦP
lrwxrwxrwx 1 root root   6 Sep 24 14:33 bashrc_slink_2 -> bashrc <==¬O³sµ²ÀÉ¡I
# ³o­Ó¨Ò¤l¤]¬O«Ü¦³½ì³á¡I­ì¥»½Æ»sªº¬O³sµ²ÀÉ¡A¦ý¬O«o±N³sµ²Àɪº¹ê»ÚÀɮ׽ƻs¹L¨Ó¤F
# ¤]´N¬O»¡¡A¦pªG¨S¦³¥[¤W¥ô¦ó¿ï¶µ®É¡Acp½Æ»sªº¬O­ì©lÀɮסA¦Ó«D³sµ²ÀɪºÄݩʡI
# ­Y­n½Æ»s³sµ²ÀɪºÄݩʡA´N±o­n¨Ï¥Î -d ªº¿ï¶µ¤F¡I¦p bashrc_slink_2 ©Ò¥Ü¡C

½d¨Ò¤C¡G±N®a¥Ø¿ýªº .bashrc ¤Î .bash_history ½Æ»s¨ì /tmp ©³¤U
[root@www tmp]# cp ~/.bashrc ~/.bash_history /tmp
# ¥i¥H±N¦h­Ó¸ê®Æ¤@¦¸½Æ»s¨ì¦P¤@­Ó¥Ø¿ý¥h¡I³Ì«á­±¤@©w¬O¥Ø¿ý¡I
¨ÒÃD¡G
§A¯à§_¨Ï¥Îvbirdªº¨­¥÷¡A§¹¾ãªº½Æ»s/var/log/wtmpÀɮרì/tmp©³¤U¡A¨Ã§ó¦W¬°vbird_wtmp©O¡H
榭G
¹ê»Ú°µ¬Ý¬Ýªºµ²ªG¦p¤U¡G
[vbird@www ~]$ cp -a /var/log/wtmp /tmp/vbird_wtmp
[vbird@www ~]$ ls -l /var/log/wtmp /tmp/vbird_wtmp
-rw-rw-r-- 1 vbird vbird 96384  9¤ë 24 11:54 /tmp/vbird_wtmp
-rw-rw-r-- 1 root  utmp  96384  9¤ë 24 11:54 /var/log/wtmp
¥Ñ©óvbirdªº¨­¥÷¨Ã¤£¯àÀH·N­×§ïÀɮתº¾Ö¦³ªÌ»P¸s²Õ¡A¦]¦¹ÁöµM¯à°÷½Æ»swtmpªº¬ÛÃöÅv­­»P®É¶¡µ¥ÄݩʡA ¦ý¬O»P¾Ö¦³ªÌ¡B¸s²Õ¬ÛÃöªº¡A­ì¥»vbird¨­¥÷µLªk¶i¦æªº°Ê§@¡A§Y¨Ï¥[¤W -a ¿ï¶µ¡A¤]¬OµLªk¹F¦¨§¹¾ã½Æ»sÅv­­ªº¡I

Á`¤§¡A¥Ñ©ó cp ¦³ºØºØªºÀÉ®×ÄݩʻPÅv­­ªº¯S©Ê¡A©Ò¥H¡A¦b½Æ»s®É¡A§A¥²¶·­n²M·¡ªºÁA¸Ñ¨ì¡G

  • ¬O§_»Ý­n§¹¾ãªº«O¯d¨Ó·½Àɮתº¸ê°T¡H
  • ¨Ó·½Àɮ׬O§_¬°³sµ²ÀÉ (symbolic link file)¡H
  • ¨Ó·½ÀɬO§_¬°¯S®íªºÀɮסA¨Ò¦p FIFO, socket µ¥¡H
  • ¨Ó·½ÀɬO§_¬°¥Ø¿ý¡H

  • rm (²¾°£ÀɮשΥؿý)
[root@www ~]# rm [-fir] ÀɮשΥؿý
¿ï¶µ»P°Ñ¼Æ¡G
-f  ¡G´N¬O force ªº·N«ä¡A©¿²¤¤£¦s¦bªºÀɮסA¤£·|¥X²{ĵ§i°T®§¡F
-i  ¡G¤¬°Ê¼Ò¦¡¡A¦b§R°£«e·|¸ß°Ý¨Ï¥ÎªÌ¬O§_°Ê§@
-r  ¡G»¼°j§R°£°Ú¡I³Ì±`¥Î¦b¥Ø¿ýªº§R°£¤F¡I³o¬O«D±`¦MÀIªº¿ï¶µ¡I¡I¡I

½d¨Ò¤@¡G±N­è­è¦b cp ªº½d¨Ò¤¤«Ø¥ßªº bashrc §R°£±¼¡I
[root@www ~]# cd /tmp
[root@www tmp]# rm -i bashrc
rm: remove regular file `bashrc'? y
# ¦pªG¥[¤W -i ªº¿ï¶µ´N·|¥D°Ê¸ß°Ý³á¡AÁ×§K§A§R°£¨ì¿ù»~ªºÀɦW¡I

½d¨Ò¤G¡G³z¹L¸U¥Î¦r¤¸*ªºÀ°¦£¡A±N/tmp©³¤U¶}ÀY¬°bashrcªºÀɦW³q³q§R°£¡G
[root@www tmp]# rm -i bashrc*
# ª`·N¨º­Ó¬P¸¹¡A¥Nªíªº¬O 0 ¨ìµL½a¦h­Ó¥ô·N¦r¤¸³á¡I«Ü¦n¥ÎªºªF¦è¡I

½d¨Ò¤T¡G±N cp ½d¨Ò¤¤©Ò«Ø¥ßªº /tmp/etc/ ³o­Ó¥Ø¿ý§R°£±¼¡I
[root@www tmp]# rmdir /tmp/etc
rmdir: etc: Directory not empty  <== §R¤£±¼°Ú¡I¦]¬°³o¤£¬OªÅªº¥Ø¿ý¡I
[root@www tmp]# rm -r /tmp/etc
rm: descend into directory `/tmp/etc'? y
....(¤¤¶¡¬Ù²¤)....
# ¦]¬°¨­¥÷¬O root ¡A¹w³]¤w¸g¥[¤J¤F -i ªº¿ï¶µ¡A©Ò¥H§A­n¤@ª½«ö y ¤~·|§R°£¡I
# ¦pªG¤£·Q­nÄ~Äò«ö y ¡A¥i¥H«ö¤U¡y [ctrl]-c ¡z¨Óµ²§ô rm ªº¤u§@¡C
# ³o¬O¤@ºØ«OÅ@ªº°Ê§@¡A¦pªG½T©w­n§R°£±¼¦¹¥Ø¿ý¦Ó¤£­n¸ß°Ý¡A¥i¥H³o¼Ë°µ¡G
[root@www tmp]# \rm -r /tmp/etc
# ¦b«ü¥O«e¥[¤W¤Ï±×½u¡A¥i¥H©¿²¤±¼ alias ªº«ü©w¿ï¶µ³á¡I¦Ü©ó alias §Ú­Ì¦bbash¦A½Í¡I

½d¨Ò¥|¡G§R°£¤@­Ó±a¦³ - ¶}ÀYªºÀÉ®×
[root@www tmp]# touch ./-aaa-  <==touch³o­Ó«ü¥O¥i¥H«Ø¥ßªÅÀɮסI
[root@www tmp]# ls -l 
-rw-r--r-- 1 root  root      0 Sep 24 15:03 -aaa-  <==Àɮפj¤p¬°0¡A©Ò¥H¬OªÅÀÉ®×
[root@www tmp]# rm -aaa-
Try `rm --help' for more information.  <== ¦]¬° "-" ¬O¿ï¶µ¹À¡I©Ò¥H¨t²Î»~§P¤F¡I
[root@www tmp]# rm ./-aaa-

³o¬O²¾°£ªº«ü¥O(remove)¡A­nª`·Nªº¬O¡A³q±`¦bLinux¨t²Î¤U¡A¬°¤F©ÈÀɮ׳Q»~±þ¡A©Ò¥H«Ü¦h distributions ³£¤w¸g¹w³]¥[¤J -i ³o­Ó¿ï¶µ¤F¡I¦Ó¦pªG­n³s¥Ø¿ý¤UªºªF¦è³£¤@°_±þ±¼ªº¸Ü¡A ¨Ò¦p¤l¥Ø¿ý¸Ì­±ÁÙ¦³¤l¥Ø¿ý®É¡A¨º´N­n¨Ï¥Î -r ³o­Ó¿ï¶µ¤F¡I¤£¹L¡A¨Ï¥Î¡y rm -r ¡z³o­Ó«ü¥O¤§«e¡A½Ð¤d¸Uª`·N¤F¡A¦]¬°¸Ó¥Ø¿ý©ÎÀɮסyªÖ©w¡z·|³Q root ±þ±¼¡I¦]¬°¨t²Î¤£·|¦A¦¸¸ß°Ý§A¬O§_­n¬å±¼Ëç¡I©Ò¥H¨º¬O­Ó¶W¯ÅÄY­«ªº«ü¥O¤U¹FËç¡I ±o¯S§Oª`·N¡I¤£¹L¡A¦pªG§A½T©w¸Ó¥Ø¿ý¤£­n¤F¡A¨º»ò¨Ï¥Î rm -r ¨Ó´`Àô±þ±¼¬O¤£¿ùªº¤è¦¡¡I

¥t¥~¡A½d¨Ò¥|¤]¬O«Ü¦³½ìªº¨Ò¤l¡A§Ú­Ì¦b¤§«e´N½Í¹L¡AÀɦW³Ì¦n¤£­n¨Ï¥Î "-" ¸¹¶}ÀY¡A ¦]¬° "-" «á­±±µªº¬O¿ï¶µ¡A¦]¦¹¡A³æ¯Âªº¨Ï¥Î¡y rm -aaa- ¡z¨t²Îªº«ü¥O´N·|»~§P°Õ¡I ¨º¦pªG¨Ï¥Î«á­±·|½Í¨ìªº¥¿³Wªí¥Üªk®É¡AÁÙ¬O·|¥X°ÝÃDªº¡I©Ò¥H¡A¥u¯à¥ÎÁ×¹L­º¦ì¦r¤¸¬O "-" ªº¤èªk°Õ¡I ´N¬O¥[¤W¥»¥Ø¿ý¡y ./ ¡z§Y¥i¡I¦pªG man rm ªº¸Ü¡A¨ä¹êÁÙ¦³¤@ºØ¤èªk¡A¨º´N¬O¡y rm -- -aaa- ¡z¤]¥i¥H°Ú¡I


  • mv (²¾°ÊÀÉ®×»P¥Ø¿ý¡A©Î§ó¦W)
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory
¿ï¶µ»P°Ñ¼Æ¡G
-f  ¡Gforce ±j¨îªº·N«ä¡A¦pªG¥Ø¼ÐÀɮפw¸g¦s¦b¡A¤£·|¸ß°Ý¦Óª½±µÂл\¡F
-i  ¡G­Y¥Ø¼ÐÀÉ®× (destination) ¤w¸g¦s¦b®É¡A´N·|¸ß°Ý¬O§_Âл\¡I
-u  ¡G­Y¥Ø¼ÐÀɮפw¸g¦s¦b¡A¥B source ¤ñ¸û·s¡A¤~·|§ó·s (update)

½d¨Ò¤@¡G½Æ»s¤@ÀɮסA«Ø¥ß¤@¥Ø¿ý¡A±NÀɮײ¾°Ê¨ì¥Ø¿ý¤¤
[root@www ~]# cd /tmp
[root@www tmp]# cp ~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
# ±N¬Y­ÓÀɮײ¾°Ê¨ì¬Y­Ó¥Ø¿ý¥h¡A´N¬O³o¼Ë°µ¡I

½d¨Ò¤G¡G±N­è­èªº¥Ø¿ý¦WºÙ§ó¦W¬° mvtest2
[root@www tmp]# mv mvtest mvtest2 <== ³o¼Ë´N§ó¦W¤F¡I²³æ¡ã
# ¨ä¹ê¦b Linux ©³¤UÁÙ¦³­Ó¦³½ìªº«ü¥O¡A¦WºÙ¬° rename ¡A
# ¸Ó«ü¥O±M¾¶i¦æ¦h­ÓÀɦWªº¦P®É§ó¦W¡A¨Ã«D°w¹ï³æ¤@ÀɦWÅܧó¡A»Pmv¤£¦P¡C½Ðman rename¡C

½d¨Ò¤T¡G¦A«Ø¥ß¨â­ÓÀɮסA¦A¥þ³¡²¾°Ê¨ì /tmp/mvtest2 ·í¤¤
[root@www tmp]# cp ~/.bashrc bashrc1
[root@www tmp]# cp ~/.bashrc bashrc2
[root@www tmp]# mv bashrc1 bashrc2 mvtest2
# ª`·N¨ì³oÃä¡A¦pªG¦³¦h­Ó¨Ó·½ÀɮשΥؿý¡A«h³Ì«á¤@­Ó¥Ø¼ÐÀɤ@©w¬O¡y¥Ø¿ý¡I¡z
# ·N«ä¬O»¡¡A±N©Ò¦³ªº¸ê®Æ²¾°Ê¨ì¸Ó¥Ø¿ýªº·N«ä¡I

³o¬O·h²¾ (move) ªº·N«ä¡I·í§A­n²¾°ÊÀɮשΥؿýªº®É«á¡A¨þ¨þ¡I³o­Ó«ü¥O´N«Ü­«­n°Õ¡I ¦P¼Ëªº¡A§A¤]¥i¥H¨Ï¥Î -u ( update )¨Ó´ú¸Õ·sÂÂÀɮסA¬Ý¬Ý¬O§_»Ý­n·h²¾Åo¡I ¥t¥~¤@­Ó¥Î³~´N¬O¡yÅܧóÀɦW¡I¡z¡A§Ú­Ì¥i¥H«Ü»´©öªº¨Ï¥Î mv ¨ÓÅܧó¤@­ÓÀɮתºÀɦW©O¡I¤£¹L¡A¦b Linux ¤~¦³ªº«ü¥O·í¤¤¡A¦³­Ó rename ¡A ¥i¥H¥Î¨Ó§ó§ï¤j¶qÀɮתºÀɦW¡A§A¥i¥H§Q¥Î man rename ¨Ó¬d¾\¤@¤U¡A¤]¬O®¼¦³½ìªº«ü¥O³á¡I


¤p¼ÐÃDªº¹Ï¥Ü¨ú±o¸ô®|ªºÀɮצWºÙ»P¥Ø¿ý¦WºÙ

§Ú­Ì«e­±¤¶²Ðªº§¹¾ãÀɦW (¥]§t¥Ø¿ý¦WºÙ»PÀɮצWºÙ) ·í¤¤´£¨ì¡A§¹¾ãÀɦW³Ìªø¥i¥H¨ì¹F 4096 ­Ó¦r¤¸¡C ¨º»ò§A«ç»òª¾¹D¨º­Ó¬OÀɦW¡H¨º­Ó¬O¥Ø¿ý¦W¡H¼K¼K¡I´N¬O§Q¥Î±×½u (/) ¨Ó¤À¿ë°Ú¡I ¨ä¹ê¡A¨ú±oÀɦW©ÎªÌ¬O¥Ø¿ý¦WºÙ¡A¤@¯ëªº¥Î³~À³¸Ó¬O¦b¼gµ{¦¡ªº®É­Ô¡A¥Î¨Ó§PÂ_¤§¥Îªº°Õ¡ã ©Ò¥H¡A³o³¡¤Àªº«ü¥O¥i¥H¥Î¦b²Ä¤T½g¤ºªº shell scripts ¸ÌÀY³á¡I ©³¤U§Ú­Ì²³æªº¥H´X­Ó½d¨Ò¨Ó½Í¤@½Í basename »P dirname ªº¥Î³~¡I

[root@www ~]# basename /etc/sysconfig/network
network         <== «Ü²³æ¡I´N¨ú±o³Ì«áªºÀɦW¡ã
[root@www ~]# dirname /etc/sysconfig/network
/etc/sysconfig  <== ¨ú±oªºÅܦ¨¥Ø¿ý¦W¤F¡I

¤j¼ÐÃDªº¹Ï¥ÜÀɮפº®e¬d¾\¡G

¦pªG§Ú­Ì­n¬d¾\¤@­ÓÀɮתº¤º®e®É¡A¸Ó¦p¦ó¬O¦n©O¡H³o¸Ì¦³¬Û·í¦h¦³½ìªº«ü¥O¥i¥H¨Ó¤À¨É¤@¤U¡G ³Ì±`¨Ï¥ÎªºÅã¥ÜÀɮפº®eªº«ü¥O¥i¥H»¡¬O cat »P more ¤Î less ¤F¡I¦¹¥~¡A¦pªG§Ú­Ì­n¬d¬Ý¤@­Ó«Ü¤j«¬ªºÀÉ®× (¦n´X¦ÊMB®É)¡A¦ý¬O§Ú­Ì¥u»Ý­n«áºÝªº´X¦æ¦r¦Ó¤w¡A¨º»ò¸Ó¦p¦ó¬O¦n¡H¨þ¨þ¡I¥Î tail §r¡A¦¹¥~¡A tac ³o­Ó«ü¥O¤]¥i¥H¹F¨ì¡I¦n¤F¡A»¡»¡¦U­Ó«ü¥Oªº¥Î³~§a¡I

  • cat  ¥Ñ²Ä¤@¦æ¶}©lÅã¥ÜÀɮפº®e
  • tac  ±q³Ì«á¤@¦æ¶}©lÅã¥Ü¡A¥i¥H¬Ý¥X tac ¬O cat ªº­ËµÛ¼g¡I
  • nl   Åã¥Üªº®É­Ô¡A¶¶¹D¿é¥X¦æ¸¹¡I
  • more ¤@­¶¤@­¶ªºÅã¥ÜÀɮפº®e
  • less »P more Ãþ¦ü¡A¦ý¬O¤ñ more §ó¦nªº¬O¡A¥L¥i¥H©¹«e½­¶¡I
  • head ¥u¬ÝÀY´X¦æ
  • tail ¥u¬Ý§À¤Ú´X¦æ
  • od   ¥H¤G¶i¦ìªº¤è¦¡Åª¨úÀɮפº®e¡I

¤p¼ÐÃDªº¹Ï¥Üª½±µÀ˵øÀɮפº®e

ª½±µ¬d¾\¤@­ÓÀɮתº¤º®e¥i¥H¨Ï¥Î cat/tac/nl ³o´X­Ó«ü¥O°Ú¡I


  • cat (concatenate)
[root@www ~]# cat [-AbEnTv]
¿ï¶µ»P°Ñ¼Æ¡G
-A  ¡G¬Û·í©ó -vET ªº¾ã¦X¿ï¶µ¡A¥i¦C¥X¤@¨Ç¯S®í¦r²Å¦Ó¤£¬OªÅ¥Õ¦Ó¤w¡F
-b  ¡G¦C¥X¦æ¸¹¡A¶È°w¹ï«DªÅ¥Õ¦æ°µ¦æ¸¹Åã¥Ü¡AªÅ¥Õ¦æ¤£¼Ð¦æ¸¹¡I
-E  ¡G±Nµ²§ÀªºÂ_¦æ¦r¤¸ $ Åã¥Ü¥X¨Ó¡F
-n  ¡G¦C¦L¥X¦æ¸¹¡A³s¦PªÅ¥Õ¦æ¤]·|¦³¦æ¸¹¡A»P -b ªº¿ï¶µ¤£¦P¡F
-T  ¡G±N [tab] «öÁä¥H ^I Åã¥Ü¥X¨Ó¡F
-v  ¡G¦C¥X¤@¨Ç¬Ý¤£¥X¨Óªº¯S®í¦r²Å

½d¨Ò¤@¡GÀ˾\ /etc/issue ³o­ÓÀɮתº¤º®e
[root@www ~]# cat /etc/issue
CentOS release 5.2 (Final)
Kernel \r on an \m

½d¨Ò¤G¡G©Ó¤WÃD¡A¦pªGÁÙ­n¥[¦L¦æ¸¹©O¡H
[root@www ~]# cat -n /etc/issue
     1  Fedora Core release 4 (Stentz)
     2  Kernel \r on an \m
     3
# ¬Ý¨ì¤F§a¡I¥i¥H¦L¥X¦æ¸¹©O¡I³o¹ï©ó¤jÀÉ®×­n§ä¬Y­Ó¯S©wªº¦æ®É¡A¦³ÂI¥Î³B¡I
# ¦pªG¤£·Q­n½s±ÆªÅ¥Õ¦æªº¦æ¸¹¡A¥i¥H¨Ï¥Î¡ycat -b /etc/issue¡z¡A¦Û¤v´ú¸Õ¬Ý¬Ý¡G

½d¨Ò¤T¡G±N /etc/xinetd.conf ªº¤º®e§¹¾ãªºÅã¥Ü¥X¨Ó(¥]§t¯S®í¦r¤¸)
[root@www ~]# cat -A /etc/xinetd.conf
#$
....(¤¤¶¡¬Ù²¤)....
$
defaults$
{$
# The next two items are intended to be a quick access place to$
....(¤¤¶¡¬Ù²¤)....
^Ilog_type^I= SYSLOG daemon info $
^Ilog_on_failure^I= HOST$
^Ilog_on_success^I= PID HOST DURATION EXIT$
....(¤¤¶¡¬Ù²¤)....
includedir /etc/xinetd.d$
 $
# ¤W­±ªºµ²ªG­­©ó½g´T¡A³¾­ô§R°£±¼«Ü¦h¸ê®Æ¤F¡C¥t¥~¡A¿é¥Xªºµ²ªG¨Ã¤£·|¦³¯S®í¦rÅé¡A
# ³¾­ô¤W­±ªº¯S®í¦rÅé¬O­nÅý±zµo²{®t²§ÂI¦b­þ¸Ì´N¬O¤F¡C°ò¥»¤W¡A¦b¤@¯ëªºÀô¹Ò¤¤¡A
# ¨Ï¥Î [tab] »PªÅ¥ÕÁ䪺®ÄªG®t¤£¦h¡A³£¬O¤@°ïªÅ¥Õ°Ú¡I§Ú­ÌµLªkª¾¹D¨âªÌªº®t§O¡C
# ¦¹®É¨Ï¥Î cat -A ´N¯à°÷µo²{¨º¨ÇªÅ¥Õªº¦a¤è¬OÔ£°­ªF¦è¤F¡I[tab]·|¥H ^I ªí¥Ü¡A
# Â_¦æ¦r¤¸«h¬O¥H $ ªí¥Ü¡A©Ò¥H§A¥i¥Hµo²{¨C¤@¦æ«á­±³£¬O $ °Ú¡I¤£¹LÂ_¦æ¦r¤¸
# ¦bWindows/Linux«h¤£¤Ó¬Û¦P¡AWindowsªºÂ_¦æ¦r¤¸¬O ^M$ Åo¡C
# ³o³¡¤À§Ú­Ì·|¦b vi ³nÅ骺¤¶²Ð®É¡A¦A¦¸ªº»¡©ú¨ì³á¡I

¼K¼K¡ILinux ¸Ì­±¦³¡y¿ß¡z«ü¥O¡H³á¡I¤£¬Oªº¡A cat ¬O Concatenate ¡]³sÄò¡^ªºÂ²¼g¡A ¥D­nªº¥\¯à¬O±N¤@­ÓÀɮתº¤º®e³sÄòªº¦L¥X¦b¿Ã¹õ¤W­±¡I¨Ò¦p¤W­±ªº¨Ò¤l¤¤¡A§Ú­Ì±N /etc/issue ¦L¥X¨Ó¡I¦pªG¥[¤W -n ©Î -b ªº¸Ü¡A«h¨C¤@¦æ«e­±ÁÙ·|¥[¤W¦æ¸¹Ëç¡I

³¾­ô­Ó¤H¬O¤ñ¸û¤Ö¥Î cat °Õ¡I²¦³º·í§AªºÀɮפº®eªº¦æ¼Æ¶W¹L 40 ¦æ¥H¤W¡A¼K¼K¡I®Ú¥»¨Ó¤£¤Î¦b¿Ã¹õ¤W¬Ý¨ìµ²ªG¡I ©Ò¥H¡A°t¦Xµ¥¤@¤U­n¤¶²Ðªº more ©ÎªÌ¬O less ¨Ó°õ¦æ¤ñ¸û¦n¡I¦¹¥~¡A¦pªG¬O¤@¯ëªº DOS Àɮ׮ɡA´N»Ý­n¯S§O¯d·N¤@¨Ç©_©_©Ç©Çªº²Å¸¹¤F¡A ¨Ò¦pÂ_¦æ»P [tab] µ¥¡A­nÅã¥Ü¥X¨Ó¡A´N±o¥[¤J -A ¤§Ãþªº¿ï¶µ¤F¡I


  • tac (¤Ï¦V¦C¥Ü)
[root@www ~]# tac /etc/issue

Kernel \r on an \m
CentOS release 5.2 (Final)
# ¼K¼K¡I»P­è­è¤W­±ªº½d¨Ò¤@¤ñ¸û¡A¬O¥Ñ³Ì«á¤@¦æ¥ýÅã¥Ü³á¡I

tac ³o­Ó¦nª±¤F¡I«ç»ò»¡©O¡H¸Ô²Óªº¬Ý¤@¤U¡A cat »P tac ¡A¦³¨S¦³µo²{§r¡I¹ï°Õ¡I tac ­è¦n¬O±N cat ¤Ï¼g¹L¨Ó¡A©Ò¥H¥Lªº¥\¯à´N¸ò cat ¬Û¤Ï°Õ¡A cat ¬O¥Ñ¡y²Ä¤@¦æ¨ì³Ì«á¤@¦æ³sÄòÅã¥Ü¦b¿Ã¹õ¤W¡z¡A¦Ó tac «h¬O¡y ¥Ñ³Ì«á¤@¦æ¨ì²Ä¤@¦æ¤Ï¦V¦b¿Ã¹õ¤WÅã¥Ü¥X¨Ó ¡z¡A«Ü¦nª±§a¡I


  • nl (²K¥[¦æ¸¹¦C¦L)
[root@www ~]# nl [-bnw] ÀÉ®×
¿ï¶µ»P°Ñ¼Æ¡G
-b  ¡G«ü©w¦æ¸¹«ü©wªº¤è¦¡¡A¥D­n¦³¨âºØ¡G
      -b a ¡Gªí¥Ü¤£½×¬O§_¬°ªÅ¦æ¡A¤]¦P¼Ë¦C¥X¦æ¸¹(Ãþ¦ü cat -n)¡F
      -b t ¡G¦pªG¦³ªÅ¦æ¡AªÅªº¨º¤@¦æ¤£­n¦C¥X¦æ¸¹(¹w³]­È)¡F
-n  ¡G¦C¥X¦æ¸¹ªí¥Üªº¤èªk¡A¥D­n¦³¤TºØ¡G
      -n ln ¡G¦æ¸¹¦b¿Ã¹õªº³Ì¥ª¤èÅã¥Ü¡F
      -n rn ¡G¦æ¸¹¦b¦Û¤vÄæ¦ìªº³Ì¥k¤èÅã¥Ü¡A¥B¤£¥[ 0 ¡F
      -n rz ¡G¦æ¸¹¦b¦Û¤vÄæ¦ìªº³Ì¥k¤èÅã¥Ü¡A¥B¥[ 0 ¡F
-w  ¡G¦æ¸¹Äæ¦ìªº¦û¥Îªº¦ì¤¸¼Æ¡C

½d¨Ò¤@¡G¥Î nl ¦C¥X /etc/issue ªº¤º®e
[root@www ~]# nl /etc/issue
     1  CentOS release 5.2 (Final)
     2  Kernel \r on an \m

# ª`·N¬Ý¡A³o­ÓÀɮרä¹ê¦³¤T¦æ¡A²Ä¤T¦æ¬°ªÅ¥Õ(¨S¦³¥ô¦ó¦r¤¸)¡A
# ¦]¬°¥L¬OªÅ¥Õ¦æ¡A©Ò¥H nl ¤£·|¥[¤W¦æ¸¹³á¡I¦pªG½T©w­n¥[¤W¦æ¸¹¡A¥i¥H³o¼Ë°µ¡G

[root@www ~]# nl -b a /etc/issue
     1  CentOS release 5.2 (Final)
     2  Kernel \r on an \m
     3
# ¨þ¨þ¡I¦æ¸¹¥[¤W¨ÓÅo¡ã¨º»ò¦pªG­nÅý¦æ¸¹«e­±¦Û°Ê¸É¤W 0 ©O¡H¥i³o¼Ë

[root@www ~]# nl -b a -n rz /etc/issue
000001  CentOS release 5.2 (Final)
000002  Kernel \r on an \m
000003
# ¼K¼K¡I¦Û°Ê¦b¦Û¤vÄæ¦ìªº¦a¤è¸É¤W 0 ¤F¡ã¹w³]Äæ¦ì¬O¤»¦ì¼Æ¡A¦pªG·Q­n§ï¦¨ 3 ¦ì¼Æ¡H

[root@www ~]# nl -b a -n rz -w 3 /etc/issue
001     CentOS release 5.2 (Final)
002     Kernel \r on an \m
003
# Åܦ¨¶È¦³ 3 ¦ì¼ÆÅo¡ã

nl ¥i¥H±N¿é¥XªºÀɮפº®e¦Û°Êªº¥[¤W¦æ¸¹¡I¨ä¹w³]ªºµ²ªG»P cat -n ¦³ÂI¤£¤Ó¤@¼Ë¡A nl ¥i¥H±N¦æ¸¹°µ¤ñ¸û¦hªºÅã¥Ü³]­p¡A¥]¬A¦ì¼Æ»P¬O§_¦Û°Ê¸É»ô 0 µ¥µ¥ªº¥\¯à©O¡C


¤p¼ÐÃDªº¹Ï¥Ü¥i½­¶À˵ø

«e­±´£¨ìªº nl »P cat, tac µ¥µ¥¡A³£¬O¤@¦¸©Êªº±N¸ê®Æ¤@¤f®ðÅã¥Ü¨ì¿Ã¹õ¤W­±¡A¨º¦³¨S¦³¥i¥H¶i¦æ¤@­¶¤@­¶Â½°Êªº«ü¥O°Ú¡H Åý§Ú­Ì¥i¥H¤@­¶¤@­¶ªºÆ[¹î¡A¤~¤£·|«e­±ªº¸ê®Æ¬Ý¤£¨ì°Ú¡ã¨þ¨þ¡I¦³ªº¡I¨º´N¬O more »P less Åo¡ã


  • more (¤@­¶¤@­¶Â½°Ê)
[root@www ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(¤¤¶¡¬Ù²¤)....
--More--(28%)  <== ­«ÂI¦b³o¤@¦æ³á¡I§Aªº´å¼Ð¤]·|¦b³o¸Ìµ¥«Ý§Aªº«ü¥O

¥J²Óªºµ¹¥L¬Ý¨ì¤W­±ªº½d¨Ò¡A¦pªG more «á­±±µªºÀɮפº®e¦æ¼Æ¤j©ó¿Ã¹õ¿é¥Xªº¦æ¼Æ®É¡A ´N·|¥X²{Ãþ¦ü¤W­±ªº¹Ï¥Ü¡C­«ÂI¦b³Ì«á¤@¦æ¡A³Ì«á¤@¦æ·|Åã¥Ü¥X¥Ø«eÅã¥Üªº¦Ê¤À¤ñ¡A ¦Ó¥BÁÙ¥i¥H¦b³Ì«á¤@¦æ¿é¤J¤@¨Ç¦³¥Îªº«ü¥O³á¡I¦b more ³o­Óµ{¦¡ªº¹B§@¹Lµ{¤¤¡A§A¦³´X­Ó«öÁä¥i¥H«öªº¡G

  • ªÅ¥ÕÁä (space)¡G¥Nªí¦V¤U½¤@­¶¡F
  • Enter         ¡G¥Nªí¦V¤U½¡y¤@¦æ¡z¡F
  • /¦r¦ê         ¡G¥Nªí¦b³o­ÓÅã¥Üªº¤º®e·í¤¤¡A¦V¤U·j´M¡y¦r¦ê¡z³o­ÓÃöÁä¦r¡F
  • :f            ¡G¥ß¨èÅã¥Ü¥XÀɦW¥H¤Î¥Ø«eÅã¥Üªº¦æ¼Æ¡F
  • q             ¡G¥Nªí¥ß¨èÂ÷¶} more ¡A¤£¦AÅã¥Ü¸ÓÀɮפº®e¡C

­nÂ÷¶} more ³o­Ó«ü¥OªºÅã¥Ü¤u§@¡A¥i¥H«ö¤U q ´N¯à°÷Â÷¶}¤F¡C¦Ó­n¦V¤U½­¶¡A´N¨Ï¥ÎªÅ¥ÕÁä§Y¥i¡C ¤ñ¸û¦³¥Îªº¬O·j´M¦r¦êªº¥\¯à¡AÁ|¨Ò¨Ó»¡¡A§Ú­Ì¨Ï¥Î¡y more /etc/man.config ¡z¨ÓÆ[¹î¸ÓÀɮסA ­Y·Q­n¦b¸ÓÀɮפº·j´M MANPATH ³o­Ó¦r¦ê®É¡A¥i¥H³o¼Ë°µ¡G

[root@www ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(¤¤¶¡¬Ù²¤)....
/MANPATH   <== ¿é¤J¤F / ¤§«á¡A´å¼Ð´N·|¦Û°Ê¶]¨ì³Ì©³¤U¤@¦æµ¥«Ý¿é¤J¡I

¦p¦P¤W­±ªº»¡©ú¡A¿é¤J¤F / ¤§«á¡A´å¼Ð´N·|¶]¨ì³Ì©³¤U¤@¦æ¡A¨Ã¥Bµ¥«Ý§Aªº¿é¤J¡A §A¿é¤J¤F¦r¦ê¨Ã«ö¤U[enter]¤§«á¡A¼K¼K¡I more ´N·|¶}©l¦V¤U·j´M¸Ó¦r¦êÅo¡ã¦Ó­«½Æ·j´M¦P¤@­Ó¦r¦ê¡A ¥i¥Hª½±µ«ö¤U n §Y¥i°Ú¡I³Ì«á¡A¤£·Q­n¬Ý¤F¡A´N«ö¤U q §Y¥iÂ÷¶} more °Õ¡I


  • less (¤@­¶¤@­¶Â½°Ê)
[root@www ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(¤¤¶¡¬Ù²¤)....
:   <== ³o¸Ì¥i¥Hµ¥«Ý§A¿é¤J«ü¥O¡I

less ªº¥Îªk¤ñ°_ more ¤S§ó¥[ªº¦³¼u©Ê¡A«ç»ò»¡©O¡H¦b more ªº®É­Ô¡A§Ú­Ì¨Ã¨S¦³¿ìªk¦V«e­±Â½¡A ¥u¯à©¹«á­±¬Ý¡A¦ý­Y¨Ï¥Î¤F less ®É¡A¨þ¨þ¡I´N¥i¥H¨Ï¥Î [pageup] [pagedown] µ¥«öÁ䪺¥\¯à¨Ó©¹«e©¹«á½¬Ý¤å¥ó¡A§AÁ@¡A¬O¤£¬O§ó®e©ö¨Ï¥Î¨ÓÆ[¬Ý¤@­ÓÀɮתº¤º®e¤F©O¡I

°£¦¹¤§¥~¡A¦b less ¸ÌÀY¥i¥H¾Ö¦³§ó¦hªº¡y·j´M¡z¥\¯à³á¡I¤£¤î¥i¥H¦V¤U·j´M¡A¤]¥i¥H¦V¤W·j´M¡ã ¹ê¦b¬O«Ü¤£¿ù¥Î¡ã°ò¥»¤W¡A¥i¥H¿é¤Jªº«ü¥O¦³¡G

  • ªÅ¥ÕÁä    ¡G¦V¤U½°Ê¤@­¶¡F
  • [pagedown]¡G¦V¤U½°Ê¤@­¶¡F
  • [pageup]  ¡G¦V¤W½°Ê¤@­¶¡F
  • /¦r¦ê     ¡G¦V¤U·j´M¡y¦r¦ê¡zªº¥\¯à¡F
  • ?¦r¦ê     ¡G¦V¤W·j´M¡y¦r¦ê¡zªº¥\¯à¡F
  • n         ¡G­«½Æ«e¤@­Ó·j´M (»P / ©Î ? ¦³Ãö¡I)
  • N         ¡G¤Ï¦Vªº­«½Æ«e¤@­Ó·j´M (»P / ©Î ? ¦³Ãö¡I)
  • q         ¡GÂ÷¶} less ³o­Óµ{¦¡¡F

¬d¾\Àɮפº®eÁÙ¥i¥H¶i¦æ·j´Mªº°Ê§@¡ãÁ@¡ã less ¬O§_«Ü¤£¿ù¥Î°Ú¡I ¨ä¹ê less ÁÙ¦³«Ü¦hªº¥\¯à³á¡I¸Ô²Óªº¨Ï¥Î¤è¦¡½Ð¨Ï¥Î man less ¬d¸ß¤@¤U°Ú¡I ^_^

§A¬O§_·|ı±o less ¨Ï¥Îªºµe­±»PÀô¹Ò»P man page «D±`ªºÃþ¦ü©O¡H¨S¿ù°Õ¡I¦]¬°man³o­Ó«ü¥O´N¬O©I¥s less ¨ÓÅã¥Ü»¡©ú¤å¥óªº¤º®eªº¡I ²{¦b§A¬O§_ı±o less «Ü­«­n©O¡H ^_^


¤p¼ÐÃDªº¹Ï¥Ü¸ê®ÆÂ^¨ú

§Ú­Ì¥i¥H±N¿é¥Xªº¸ê®Æ§@¤@­Ó³Ì²³æªºÂ^¨ú¡A¨º´N¬O¨ú¥X«e­± (head) »P¨ú¥X«á­± (tail) ¤å¦rªº¥\¯à¡C ¤£¹L¡A­nª`·Nªº¬O¡A head »P tail ³£¬O¥H¡y¦æ¡z¬°³æ¦ì¨Ó¶i¦æ¸ê®ÆÂ^¨úªº³á¡I


  • head (¨ú¥X«e­±´X¦æ)
[root@www ~]# head [-n number] ÀÉ®× 
¿ï¶µ»P°Ñ¼Æ¡G
-n  ¡G«á­±±µ¼Æ¦r¡A¥NªíÅã¥Ü´X¦æªº·N«ä

[root@www ~]# head /etc/man.config
# ¹w³]ªº±¡ªp¤¤¡AÅã¥Ü«e­±¤Q¦æ¡I­Y­nÅã¥Ü«e 20 ¦æ¡A´N±o­n³o¼Ë¡G
[root@www ~]# head -n 20 /etc/man.config

½d¨Ò¡G¦pªG«á­±100¦æªº¸ê®Æ³£¤£¦C¦L¡A¥u¦C¦L/etc/man.configªº«e­±´X¦æ¡A¸Ó¦p¦ó¬O¦n¡H
[root@www ~]# head -n -100 /etc/man.config

head ªº­^¤å·N«ä´N¬O¡yÀY¡z°Õ¡A¨º»ò³o­ÓªF¦èªº¥Îªk¦ÛµM´N¬OÅã¥Ü¥X¤@­ÓÀɮתº«e´X¦æÅo¡I ¨S¿ù¡I´N¬O³o¼Ë¡I­Y¨S¦³¥[¤W -n ³o­Ó¿ï¶µ®É¡A¹w³]¥uÅã¥Ü¤Q¦æ¡A­Y¥u­n¤@¦æ©O¡H¨º´N¥[¤J¡y head -n 1 filename ¡z§Y¥i¡I

¥t¥~¨º­Ó -n ¿ï¶µ«á­±ªº°Ñ¼Æ¸û¦³½ì¡A¦pªG±µªº¬O­t¼Æ¡A¨Ò¦p¤W­±½d¨Òªº-n -100®É¡A¥Nªí¦C«eªº©Ò¦³¦æ¼Æ¡A ¦ý¤£¥]¬A«á­±100¦æ¡CÁ|¨Ò¨Ó»¡¡A/etc/man.config¦@¦³141¦æ¡A«h¤W­zªº«ü¥O¡yhead -n -100 /etc/man.config¡z ´N·|¦C¥X«e­±41¦æ¡A«á­±100¦æ¤£·|¦C¦L¥X¨Ó¤F¡C³o¼Ë»¡¡A¤ñ¸û®e©öÀ´¤F§a¡H ^_^


  • tail (¨ú¥X«á­±´X¦æ)
[root@www ~]# tail [-n number] ÀÉ®× 
¿ï¶µ»P°Ñ¼Æ¡G
-n  ¡G«á­±±µ¼Æ¦r¡A¥NªíÅã¥Ü´X¦æªº·N«ä
-f  ¡Gªí¥Ü«ùÄò°»´ú«á­±©Ò±µªºÀɦW¡A­nµ¥¨ì«ö¤U[ctrl]-c¤~·|µ²§ôtailªº°»´ú

[root@www ~]# tail /etc/man.config
# ¹w³]ªº±¡ªp¤¤¡AÅã¥Ü³Ì«áªº¤Q¦æ¡I­Y­nÅã¥Ü³Ì«áªº 20 ¦æ¡A´N±o­n³o¼Ë¡G
[root@www ~]# tail -n 20 /etc/man.config

½d¨Ò¤@¡G¦pªG¤£ª¾¹D/etc/man.config¦³´X¦æ¡A«o¥u·Q¦C¥X100¦æ¥H«áªº¸ê®Æ®É¡H
[root@www ~]# tail -n +100 /etc/man.config

½d¨Ò¤G¡G«ùÄò°»´ú/var/log/messagesªº¤º®e
[root@www ~]# tail -f /var/log/messages
  <==­nµ¥¨ì¿é¤J[crtl]-c¤§«á¤~·|Â÷¶}tail³o­Ó«ü¥Oªº°»´ú¡I

¦³ head ¦ÛµM´N¦³ tail ( §À¤Ú ) Åo¡I¨S¿ù¡I³o­Ó tail ªº¥Îªk¸ò head ªº¥Îªk®t¤£¦hÃþ¦ü¡A¥u¬OÅã¥Üªº¬O«á­±´X¦æ´N¬O¤F¡I¹w³]¤]¬OÅã¥Ü¤Q¦æ¡A­Y­nÅã¥Ü«D¤Q¦æ¡A´N¥[ -n number ªº¿ï¶µ§Y¥i¡C

½d¨Ò¤@ªº¤º®e´N¦³½ì°Õ¡I¨ä¹ê»Phead -n -xx¦³²§¦±¦P¤u¤§§®¡C·í¤U¹F¡ytail -n +100 /etc/man.config¡z ¥Nªí¸ÓÀÉ®×±q100¦æ¥H«á³£·|³Q¦C¥X¨Ó¡A¦P¼Ëªº¡A¦bman.config¦@¦³141¦æ¡A¦]¦¹²Ä100~141¦æ´N·|³Q¦C¥X¨Ó°Õ¡I «e­±ªº99¦æ³£¤£·|³QÅã¥Ü¥X¨Ó³á¡I

¦Ü©ó½d¨Ò¤G¤¤¡A¥Ñ©ó/var/log/messagesÀH®É·|¦³¸ê®Æ¼g¤J¡A§A·Q­nÅý¸ÓÀɮצ³¸ê®Æ¼g¤J®É´N¥ß¨èÅã¥Ü¨ì¿Ã¹õ¤W¡A ´N§Q¥Î -f ³o­Ó¿ï¶µ¡A¥L¥i¥H¤@ª½°»´ú/var/log/messages³o­ÓÀɮסA·s¥[¤Jªº¸ê®Æ³£·|³QÅã¥Ü¨ì¿Ã¹õ¤W¡C ª½¨ì§A«ö¤U[crtl]-c¤~·|Â÷¶}tailªº°»´ú³á¡I

¨ÒÃD¡G
°²¦p§Ú·Q­nÅã¥Ü /etc/man.config ªº²Ä 11 ¨ì²Ä 20 ¦æ©O¡H
榭G
³o­ÓÀ³¸Ó¤£ºâÃø¡A·Q¤@·Q¡A¦b²Ä 11 ¨ì²Ä 20 ¦æ¡A¨º»ò§Ú¨ú«e 20 ¦æ¡A¦A¨ú«á¤Q¦æ¡A©Ò¥Hµ²ªG´N¬O¡G¡y head -n 20 /etc/man.config | tail -n 10 ¡z¡A³o¼Ë´N¥i¥H±o¨ì²Ä 11 ¨ì²Ä 20 ¦æ¤§¶¡ªº¤º®e¤F¡I ¦ý¬O¸Ì­±¯A¤Î¨ìºÞ½u©R¥O¡A»Ý­n¦b²Ä¤T½gªº®É­Ô¤~Á¿ªº¨ì¡I


¤p¼ÐÃDªº¹Ï¥Ü«D¯Â¤å¦rÀÉ¡G od

§Ú­Ì¤W­±´£¨ìªº¡A³£¬O¦b¬d¾\¯Â¤å¦rÀɪº¤º®e¡C ¨º»ò¸U¤@§Ú­Ì·Q­n¬d¾\«D¤å¦rÀÉ¡AÁ|¨Ò¨Ó»¡¡A¨Ò¦p /usr/bin/passwd ³o­Ó°õ¦æÀɪº¤º®e®É¡A ¤S¸Ó¦p¦ó¥hŪ¥X¸ê°T©O¡H¨Æ¹ê¤W¡A¥Ñ©ó°õ¦æÀɳq±`¬O binary file ¡A¨Ï¥Î¤WÀY´£¨ìªº«ü¥O¨ÓŪ¨ú¥Lªº¤º®e®É¡A ½T¹ê·|²£¥ÍÃþ¦ü¶Ã½Xªº¸ê®Æ°Ú¡I¨º«ç»ò¿ì¡H¨SÃö«Y¡A§Ú­Ì¥i¥H§Q¥Î od ³o­Ó«ü¥O¨ÓŪ¨ú³á¡I

[root@www ~]# od [-t TYPE] ÀÉ®×
¿ï¶µ©Î°Ñ¼Æ¡G
-t  ¡G«á­±¥i¥H±µ¦UºØ¡yÃþ«¬ (TYPE)¡zªº¿é¥X¡A¨Ò¦p¡G
      a       ¡G§Q¥Î¹w³]ªº¦r¤¸¨Ó¿é¥X¡F
      c       ¡G¨Ï¥Î ASCII ¦r¤¸¨Ó¿é¥X
      d[size] ¡G§Q¥Î¤Q¶i¦ì(decimal)¨Ó¿é¥X¸ê®Æ¡A¨C­Ó¾ã¼Æ¦û¥Î size bytes ¡F
      f[size] ¡G§Q¥Î¯BÂI¼Æ­È(floating)¨Ó¿é¥X¸ê®Æ¡A¨C­Ó¼Æ¦û¥Î size bytes ¡F
      o[size] ¡G§Q¥Î¤K¶i¦ì(octal)¨Ó¿é¥X¸ê®Æ¡A¨C­Ó¾ã¼Æ¦û¥Î size bytes ¡F
      x[size] ¡G§Q¥Î¤Q¤»¶i¦ì(hexadecimal)¨Ó¿é¥X¸ê®Æ¡A¨C­Ó¾ã¼Æ¦û¥Î size bytes ¡F

½d¨Ò¤@¡G½Ð±N/usr/bin/passwdªº¤º®e¨Ï¥ÎASCII¤è¦¡¨Ó®i²{¡I
[root@www ~]# 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
.....(«á­±¬Ù²¤)....
# ³Ì¥ªÃä²Ä¤@Äæ¬O¥H 8 ¶i¦ì¨Óªí¥Übytes¼Æ¡C¥H¤W­±½d¨Ò¨Ó»¡¡A²Ä¤GÄæ0000020¥Nªí¶}ÀY¬O
# ²Ä 16 ­Ó byes (2x8) ªº¤º®e¤§·N¡C

½d¨Ò¤G¡G½Ð±N/etc/issue³o­ÓÀɮתº¤º®e¥H8¶i¦ì¦C¥XÀx¦s­È»PASCIIªº¹ï·Óªí
[root@www ~]# od -t oCc /etc/issue
0000000 103 145 156 164 117 123 040 162 145 154 145 141 163 145 040 065
          C   e   n   t   O   S       r   e   l   e   a   s   e       5
0000020 056 062 040 050 106 151 156 141 154 051 012 113 145 162 156 145
          .   2       (   F   i   n   a   l   )  \n   K   e   r   n   e
0000040 154 040 134 162 040 157 156 040 141 156 040 134 155 012 012
          l       \   r       o   n       a   n       \   m  \n  \n
0000057
# ¦p¤W©Ò¥Ü¡A¥i¥Hµo²{¨C­Ó¦r¤¸¥i¥H¹ïÀ³¨ìªº¼Æ­È¬°¦ó¡I
# ¨Ò¦pe¹ïÀ³ªº°O¿ý¼Æ­È¬°145¡AÂন¤Q¶i¦ì¡G1x8^2+4x8+5=101¡C

§Q¥Î³o­Ó«ü¥O¡A¥i¥H±N data file ©ÎªÌ¬O binary file ªº¤º®e¸ê®Æµ¹¥LŪ¥X¨Ó³á¡I ÁöµMŪ¥Xªº¨Ó¼Æ­È¹w³]¬O¨Ï¥Î«D¤å¦rÀÉ¡A¥ç§Y¬O 16 ¶i¦ìªº¼Æ­È¨ÓÅã¥Üªº¡A ¤£¹L¡A§Ú­ÌÁÙ¬O¥i¥H³z¹L -t c ªº¿ï¶µ»P°Ñ¼Æ¨Ó±N¸ê®Æ¤ºªº¦r¤¸¥H ASCII Ãþ«¬ªº¦r¤¸¨ÓÅã¥Ü¡A ÁöµM¹ï©ó¤@¯ë¨Ï¥ÎªÌ¨Ó»¡¡A³o­Ó«ü¥Oªº¥Î³B¥i¯à¤£¤j¡A¦ý¬O¹ï©ó¤uµ{®v¨Ó»¡¡A ³o­Ó«ü¥O¥i¥H±N binary file ªº¤º®e§@¤@­Ó¤j­Pªº¿é¥X¡A¥L­Ì¥i¥H¬Ý±o¥XªF¦èªº°Õ¡ã ^_^

¦pªG¹ï¯Â¤å¦rÀɨϥγo­Ó«ü¥O¡A§A¬Æ¦Ü¥i¥Hµo²{¨ì ASCII »P¦r¤¸ªº¹ï·Óªí¡I«D±`¦³½ì¡I ¨Ò¦p¤W­zªº½d¨Ò¤G¡A§A¥i¥Hµo²{¨ì¨C­Ó­^¤å¦r e ¹ï·Ó¨ìªº¼Æ¦r³£¬O 145¡AÂন¤Q¶i¦ì§A´N¯à°÷µo²{¨º¬O 101 Åo¡I ¦pªG§A¦³¥ô¦óµ{¦¡»y¨¥ªº®Ñ¡A®³¥X¨Ó¹ï·Ó¤@¤U ASCII ªº¹ï·Óªí¡A´N¯à°÷µo²{¯u¬O¥¿½T°Ú¡I¨þ¨þ¡I


¤p¼ÐÃDªº¹Ï¥Ü­×§ïÀɮ׮ɶ¡©Î«Ø¸m·sÀÉ¡G touch

§Ú­Ì¦b ls ³o­Ó«ü¥Oªº¤¶²Ð®É¡A¦³µy·L´£¨ì¨C­ÓÀɮצblinux©³¤U³£·|°O¿ý³\¦hªº®É¶¡°Ñ¼Æ¡A ¨ä¹ê¬O¦³¤T­Ó¥D­nªºÅܰʮɶ¡¡A¨º»ò¤T­Ó®É¶¡ªº·N¸q¬O¤°»ò©O¡H

  • modification time (mtime)¡G
    ·í¸ÓÀɮתº¡y¤º®e¸ê®Æ¡zÅܧó®É¡A´N·|§ó·s³o­Ó®É¶¡¡I¤º®e¸ê®Æ«üªº¬OÀɮתº¤º®e¡A¦Ó¤£¬OÀɮתºÄݩʩÎÅv­­³á¡I

  • status time (ctime)¡G
    ·í¸ÓÀɮתº¡yª¬ºA (status)¡z§ïÅܮɡA´N·|§ó·s³o­Ó®É¶¡¡AÁ|¨Ò¨Ó»¡¡A¹³¬OÅv­­»PÄݩʳQ§ó§ï¤F¡A³£·|§ó·s³o­Ó®É¶¡°Ú¡C

  • access time (atime)¡G
    ·í¡y¸ÓÀɮתº¤º®e³Q¨ú¥Î¡z®É¡A´N·|§ó·s³o­ÓŪ¨ú®É¶¡ (access)¡CÁ|¨Ò¨Ó»¡¡A§Ú­Ì¨Ï¥Î cat ¥hŪ¨ú /etc/man.config ¡A ´N·|§ó·s¸ÓÀɮתº atime ¤F¡C

³o¬O­Ó®¼¦³½ìªº²{¶H¡AÁ|¨Ò¨Ó»¡¡A§Ú­Ì¨Ó¬Ý¤@¬Ý§A¦Û¤vªº /etc/man.config ³o­ÓÀɮתº®É¶¡§a¡I

[root@www ~]# ls -l /etc/man.config
-rw-r--r-- 1 root root 4617 Jan  6  2007 /etc/man.config
[root@www ~]# ls -l --time=atime /etc/man.config
-rw-r--r-- 1 root root 4617 Sep 25 17:54 /etc/man.config
[root@www ~]# ls -l --time=ctime /etc/man.config
-rw-r--r-- 1 root root 4617 Sep  4 18:03 /etc/man.config

¬Ý¨ì¤F¶Ü¡H¦b¹w³]ªº±¡ªp¤U¡Als Åã¥Ü¥X¨Óªº¬O¸ÓÀɮתº mtime ¡A¤]´N¬O³o­ÓÀɮתº¤º®e¤W¦¸³Q§ó°Êªº®É¶¡¡C ¦Ü©ó³¾­ôªº¨t²Î¬O¦b 9 ¤ë 4 ¸¹ªº®É­Ô¦w¸Ëªº¡A¦]¦¹¡A³o­ÓÀɮ׳Q²£¥Í¾É­Pª¬ºA³Q§ó°Êªº®É¶¡´N¦^·¹¨ì¨º­Ó®É¶¡ÂI¤F(ctime)¡I ¦ÓÁÙ°O±o­è­è§Ú­Ì¨Ï¥Îªº½d¨Ò·í¤¤¡A¦³¨Ï¥Î¨ìman.config³o­ÓÀÉ®×°Ú¡A©Ò¥H°Ú¡A¥Lªº atime ´N·|Åܦ¨­è­è¨Ï¥Îªº®É¶¡¤F¡I

Àɮתº®É¶¡¬O«Ü­«­nªº¡A¦]¬°¡A¦pªGÀɮתº®É¶¡»~§Pªº¸Ü¡A¥i¯à·|³y¦¨¬Y¨Çµ{¦¡µLªk¶¶§Qªº¹B§@¡C OK¡I¨º»ò¸U¤@§Úµo²{¤F¤@­ÓÀɮרӦۥ¼¨Ó¡A¸Ó¦p¦óÅý¸ÓÀɮתº®É¶¡Åܦ¨¡y²{¦b¡zªº®É¨è©O¡H «Ü²³æ°Ú¡I´N¥Î¡ytouch¡z³o­Ó«ü¥O§Y¥i¡I

Tips:
¼K¼K¡I¤£­nÃhºÃ¨t²Î®É¶¡·|¡y¨Ó¦Û¥¼¨Ó¡z³á¡I«Ü¦h®É­Ô·|¦³³o­Ó°ÝÃDªº¡IÁ|¨Ò¨Ó»¡¦b¦w¸Ë¹L«á¨t²Î®É¶¡¥i¯à·|³Q§ïÅÜ¡I ¦]¬°¥xÆW®É°Ï¦b°ê»Ú¼Ð·Ç®É¶¡¡y®æªL«Âªv®É¶¡, GMT¡zªº¥kÃä¡A©Ò¥H·|¤ñ¸û¦­¬Ý¨ì¶§¥ú¡A¤]´N¬O»¡¡A¥xÆW®É¶¡¤ñGMT®É¶¡§Ö¤F¤K¤p®É¡I ¦pªG¦w¸Ë¦æ¬°¤£·í¡A§Ú­Ìªº¨t²Î¥i¯à·|¦³¤K¤p®É§ÖÂà¡A§AªºÀÉ®×´N¦³¥i¯à¨Ó¦Û¤K¤p®É­Ô¤F¡C

¦Ü©ó¬Y¨Ç±¡ªp¤U¡A¥Ñ©óBIOSªº³]©w¿ù»~¡A¾É­P¨t²Î®É¶¡¶]¨ì¥¼¨Ó®É¶¡¡A¨Ã¥B§A¤S«Ø¥ß¤F¬Y¨ÇÀɮסC µ¥§A±N®É¶¡§ï¦^¥¿½Tªº®É¶¡®É¡A¸ÓÀɮפ£´NÅܦ¨¨Ó¦Û¥¼¨Ó¤F¡H^_^
³¾­ôªº¹Ï¥Ü
[root@www ~]# touch [-acdmt] ÀÉ®×
¿ï¶µ»P°Ñ¼Æ¡G
-a  ¡G¶È­×­q access time¡F
-c  ¡G¶È­×§ïÀɮתº®É¶¡¡A­Y¸ÓÀɮפ£¦s¦b«h¤£«Ø¥ß·sÀɮסF
-d  ¡G«á­±¥i¥H±µ±ý­×­qªº¤é´Á¦Ó¤£¥Î¥Ø«eªº¤é´Á¡A¤]¥i¥H¨Ï¥Î --date="¤é´Á©Î®É¶¡"
-m  ¡G¶È­×§ï mtime ¡F
-t  ¡G«á­±¥i¥H±µ±ý­×­qªº®É¶¡¦Ó¤£¥Î¥Ø«eªº®É¶¡¡A®æ¦¡¬°[YYMMDDhhmm]

½d¨Ò¤@¡G·s«Ø¤@­ÓªÅªºÀÉ®×¨ÃÆ[¹î®É¶¡
[root@www ~]# cd /tmp
[root@www tmp]# touch testtouch
[root@www tmp]# ls -l testtouch
-rw-r--r-- 1 root root 0 Sep 25 21:09 testtouch
# ª`·N¨ì¡A³o­ÓÀɮתº¤j¤p¬O 0 ©O¡I¦b¹w³]ªºª¬ºA¤U¡A¦pªG touch «á­±¦³±µÀɮסA
# «h¸ÓÀɮתº¤T­Ó®É¶¡ (atime/ctime/mtime) ³£·|§ó·s¬°¥Ø«eªº®É¶¡¡C­Y¸ÓÀɮפ£¦s¦b¡A
# «h·|¥D°Êªº«Ø¥ß¤@­Ó·sªºªÅªºÀɮ׳á¡I¨Ò¦p¤W­±³o­Ó¨Ò¤l¡I

½d¨Ò¤G¡G±N ~/.bashrc ½Æ»s¦¨¬° bashrc¡A°²³]½Æ»s§¹¥þªºÄݩʡAÀˬd¨ä¤é´Á
[root@www tmp]# cp -a ~/.bashrc bashrc
[root@www tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rw-r--r-- 1 root root 176 Jan  6  2007 bashrc  <==³o¬O mtime
-rw-r--r-- 1 root root 176 Sep 25 21:11 bashrc  <==³o¬O atime
-rw-r--r-- 1 root root 176 Sep 25 21:12 bashrc  <==³o¬O ctime

¦b¤W­±³o­Ó®×¨Ò·í¤¤§Ú­Ì¨Ï¥Î¤F¡yll¡z³o­Ó«ü¥O(¨â­Ó­^¤åLªº¤p¼g)¡A³o­Ó«ü¥O¨ä¹ê´N¬O¡yls -l¡zªº·N«ä¡A ll¥»¨­¤£¦s¦b¡A¬O³Q¡y°µ¥X¨Ó¡zªº¤@­Ó©R¥O§O¦W¡C¬ÛÃöªº©R¥O§O¦W§Ú­Ì·|¦bbash³¹¸`·í¤¤¸Ô½Íªº¡A³o¸Ì¥ýª¾¹Dll="ls -l"§Y¥i¡C ¦Ü©ó¤À¸¹¡y ; ¡z«h¥Nªí³sÄò«ü¥Oªº¤U¹F°Õ¡I§A¥i¥H¦b¤@¦æ«ü¥O·í¤¤¼g¤J¦h­««ü¥O¡A ³o¨Ç«ü¥O¥i¥H¡y¨Ì§Ç¡z°õ¦æ¡C¥Ñ¤W­±ªº«ü¥O§Ú­Ì·|ª¾¹Dll¨º¤@¦æ¦³¤T­Ó«ü¥O³Q¤U¹F¦b¦P¤@¦æ¤¤¡C

¦Ü©ó°õ¦æªºµ²ªG·í¤¤¡A§Ú­Ì¥i¥Hµo²{¸ê®Æªº¤º®e»PÄݩʬO³Q½Æ»s¹L¨Óªº¡A¦]¦¹Àɮפº®e®É¶¡(mtime)»P­ì¥»Àɮ׬ۦP¡C ¦ý¬O¥Ñ©ó³o­ÓÀɮ׬O­è­è³Q«Ø¥ßªº¡A¦]¦¹ª¬ºA(ctime)»PŪ¨ú®É¶¡´N«K§e²{¦bªº®É¶¡°Õ¡I ¨º¦pªG§A·Q­nÅܧó³o­ÓÀɮתº®É¶¡©O¡H¥i¥H³o¼Ë°µ¡G

½d¨Ò¤T¡G­×§ï®×¨Ò¤Gªº bashrc ÀɮסA±N¤é´Á½Õ¾ã¬°¨â¤Ñ«e
[root@www tmp]# touch -d "2 days ago" bashrc
[root@www tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rw-r--r-- 1 root root 176 Sep 23 21:23 bashrc
-rw-r--r-- 1 root root 176 Sep 23 21:23 bashrc
-rw-r--r-- 1 root root 176 Sep 25 21:23 bashrc
# ¸ò¤W­Ó½d¨Ò¤ñ¸û¬Ý¬Ý¡A¥»¨Ó¬O 25 ¤éªºÅܦ¨¤F 23 ¤é¤F (atime/mtime)¡ã
# ¤£¹L¡A ctime ¨Ã¨S¦³¸òµÛ§ïÅܳá¡I

½d¨Ò¥|¡G±N¤W­Ó½d¨Òªº bashrc ¤é´Á§ï¬° 2007/09/15 2:02
[root@www tmp]# touch -t 0709150202 bashrc
[root@www tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rw-r--r-- 1 root root 176 Sep 15  2007 bashrc
-rw-r--r-- 1 root root 176 Sep 15  2007 bashrc
-rw-r--r-- 1 root root 176 Sep 25 21:25 bashrc
# ª`·N¬Ý¬Ý¡A¤é´Á¦b atime »P mtime ³£§ïÅܤF¡A¦ý¬O ctime «h¬O°O¿ý¥Ø«eªº®É¶¡¡I

³z¹L touch ³o­Ó«ü¥O¡A§Ú­Ì¥i¥H»´©öªº­×­qÀɮתº¤é´Á»P®É¶¡¡C¨Ã¥B¤]¥i¥H«Ø¥ß¤@­ÓªÅªºÀɮ׳á¡I ¤£¹L¡A­nª`·Nªº¬O¡A§Y¨Ï§Ú­Ì½Æ»s¤@­ÓÀɮ׮ɡA½Æ»s©Ò¦³ªºÄݩʡA¦ý¤]¨S¦³¿ìªk½Æ»s ctime ³o­ÓÄݩʪº¡C ctime ¥i¥H°O¿ý³o­ÓÀɮ׳̪ñªºª¬ºA (status) ³Q§ïÅܪº®É¶¡¡CµL½×¦p¦ó¡AÁÙ¬O­n§iª¾¤j®a¡A §Ú­Ì¥­®É¬ÝªºÀÉ®×Äݩʤ¤¡A¤ñ¸û­«­nªºÁÙ¬OÄÝ©ó¨º­Ó mtime °Ú¡I§Ú­ÌÃö¤ßªº±`±`¬O³o­ÓÀɮתº¡y¤º®e¡z ¬O¤°»ò®É­Ô³Q§ó°Êªº»¡¡ãÁA¥G¡H

µL½×¦p¦ó¡A touch ³o­Ó«ü¥O³Ì±`³Q¨Ï¥Îªº±¡ªp¬O¡G

  • «Ø¥ß¤@­ÓªÅªºÀɮסF
  • ±N¬Y­ÓÀɮפé´Á­×­q¬°¥Ø«e (mtime »P atime)

¤j¼ÐÃDªº¹Ï¥ÜÀÉ®×»P¥Ø¿ýªº¹w³]Åv­­»PÁôÂÃÅv­­

¥Ñ²Ä¤»³¹¡BLinuxÀÉ®×Åv­­ªº¤º®e§Ú­Ì¥i¥Hª¾¹D¤@­ÓÀɮצ³­Y¤z­ÓÄݩʡA ¥]¬AŪ¼g°õ¦æ(r, w, x)µ¥°ò¥»Åv­­¡A¤Î¬O§_¬°¥Ø¿ý (d) »PÀÉ®× (-) ©ÎªÌ¬O³sµ²ÀÉ (l) µ¥µ¥ªºÄݩʡI ­n­×§ïÄݩʪº¤èªk¦b«e­±¤]¬ù²¤´£¹L¤F(chgrp, chown, chmod) ¡A¥»¤p¸`·|¦A¥[±j¸É¥R¤@¤U¡I

°£¤F°ò¥»r, w, xÅv­­¥~¡A¦bLinuxªºExt2/Ext3Àɮרt²Î¤U¡A§Ú­ÌÁÙ¥i¥H³]©w¨ä¥Lªº¨t²ÎÁôÂÃÄݩʡA ³o³¡¥÷¥i¨Ï¥Î chattr ¨Ó³]©w¡A¦Ó¥H lsattr ¨Ó¬d¬Ý¡A³Ì­«­nªºÄݩʴN¬O¥i¥H³]©w¨ä¤£¥i­×§ïªº¯S©Ê¡IÅý³sÀɮתº¾Ö¦³ªÌ³£¤£¯à¶i¦æ­×§ï¡I ³o­ÓÄݩʥi¬O¬Û·í­«­nªº¡A¤×¨ä¬O¦b¦w¥þ¾÷¨î¤W­± (security)¡I

­º¥ý¡A¥ý¨Ó½Æ²ß¤@¤U¤W¤@³¹½Í¨ìªºÅv­­·§©À¡A±N©³¤Uªº¨ÒÃD¬Ý¤@¬Ý¥ý¡G

¨ÒÃD¡G
§Aªº¨t²Î¦³­Ó¤@¯ë¨­¥÷¨Ï¥ÎªÌ dmtsai¡A¥Lªº¸s²ÕÄÝ©ó users¡A¥Lªº®a¥Ø¿ý¦b /home/dmtsai¡A §A¬Oroot¡A§A·Q±N§Aªº ~/.bashrc ½Æ»sµ¹¥L¡A¥i¥H«ç»ò§@¡H
榭G
¥Ñ¤W¤@³¹ªºÅv­­·§©À§Ú­Ì¥i¥Hª¾¹D root ÁöµM¥i¥H±N³o­ÓÀɮ׽ƻsµ¹ dmtsai¡A¤£¹L³o­ÓÀɮצb dmtsai ªº®a¥Ø¿ý¤¤«o¥i¯àÅý dmtsai ¨S¦³¿ìªkŪ¼g(¦]¬°¸ÓÀÉ®×ÄÝ©ó root ªº¹À¡I¦Ó dmtsai ¤S¤£¯à¨Ï¥Î chown ¤§¬G)¡C ¦¹¥~¡A§Ú­Ì¤S¾á¤ßÂл\±¼ dmtsai ¦Û¤vªº .bashrc ³]©wÀÉ¡A¦]¦¹¡A§Ú­Ì¥i¥H¶i¦æ¦p¤Uªº°Ê§@³á¡G
½Æ»sÀɮסG cp ~/.bashrc ~dmtsai/bashrc
­×§ïÄݩʡG chown dmtsai:users ~dmtsai/bashrc

¨ÒÃD¡G
§Ú·Q¦b /tmp ©³¤U«Ø¥ß¤@­Ó¥Ø¿ý¡A³o­Ó¥Ø¿ý¦WºÙ¬° chapter7_1 ¡A¨Ã¥B³o­Ó¥Ø¿ý¾Ö¦³ªÌ¬° dmtsai¡A ¸s²Õ¬° users ¡A¦¹¥~¡A¥ô¦ó¤H³£¥i¥H¶i¤J¸Ó¥Ø¿ýÂsÄýÀɮסA¤£¹L°£¤F dmtsai ¤§¥~¡A¨ä¥L¤H³£¤£¯à­×§ï¸Ó¥Ø¿ý¤UªºÀɮסC
榭G
¦]¬°°£¤F dmtsai ¤§¥~¡A¨ä¥L¤H¤£¯à­×§ï¸Ó¥Ø¿ý¤UªºÀɮסA©Ò¥H¾ã­Ó¥Ø¿ýªºÅv­­À³¸Ó¬O drwxr-xr-x ¤~¹ï¡I ¦]¦¹§AÀ³¸Ó³o¼Ë°µ¡G
«Ø¥ß¥Ø¿ý¡G mkdir /tmp/chapter7_1
­×§ïÄݩʡG chown -R dmtsai:users /tmp/chapter7_1
­×§ïÅv­­¡G chmod -R 755 /tmp/chapter7_1

¦b¤W­±³o­Ó¨ÒÃD·í¤¤¡A¦pªG§Aª¾¹D 755 ¨º­Ó¤À¼Æ¬O«ç»ò­pºâ¥X¨Óªº¡A¨º»ò§AÀ³¸Ó¹ï©óÅv­­¦³¤@©wµ{«×ªº·§©À¤F¡C ¦pªG§A¤£ª¾¹D 755 «ç»ò¨Óªº¡H¨º»ò...»°§Ö¦^¥h«e¤@³¹¬Ý¬Ý chmod ¨º­Ó«ü¥Oªº¤¶²Ð³¡¤À°Ú¡I³o³¡¤À«Ü­«­n³á¡I§A±o­n¥ý²M·¡ªºÁA¸Ñ¨ì¤~¦æ¡ã§_«h´N¶i¦æ¤£¤U¥hÅo¡ã °²³]§A¹ï©óÅv­­³£»{ÃѪº®t¤£¦h¤F¡A¨º»ò©³¤U§Ú­Ì´N­n¨Ó½Í¤@½Í¡A¡y·s¼W¤@­ÓÀɮשΥؿý®É¡A¹w³]ªºÅv­­¬O¤°»ò¡H¡z³o­ÓijÃD¡I


¤p¼ÐÃDªº¹Ï¥ÜÀÉ®×¹w³]Åv­­¡Gumask

OK¡I¨º»ò²{¦b§Ú­Ìª¾¹D¦p¦ó«Ø¥ß©ÎªÌ¬O§ïÅܤ@­Ó¥Ø¿ý©ÎÀɮתºÄݩʤF¡A¤£¹L¡A §Aª¾¹D·í§A«Ø¥ß¤@­Ó·sªºÀɮשΥؿý®É¡A¥Lªº¹w³]Åv­­·|¬O¤°»ò¶Ü¡H¨þ¨þ¡I¨º´N»P umask ³o­Óª±·N¨à¦³Ãö¤F¡I¨º»ò umask ¬O¦b·d¤°»ò©O¡H°ò¥»¤W¡A umask ´N¬O«ü©w ¡y¥Ø«e¨Ï¥ÎªÌ¦b«Ø¥ßÀɮשΥؿý®É­ÔªºÅv­­¹w³]­È¡z¡A ¨º»ò¦p¦ó±oª¾©Î³]©w umask ©O¡H¥Lªº«ü©w±ø¥ó¥H©³¤Uªº¤è¦¡¨Ó«ü©w¡G

[root@www ~]# umask
0022             <==»P¤@¯ëÅv­­¦³Ãöªº¬O«á­±¤T­Ó¼Æ¦r¡I
[root@www ~]# umask -S
u=rwx,g=rx,o=rx

¬d¾\ªº¤è¦¡¦³¨âºØ¡A¤@ºØ¥i¥Hª½±µ¿é¤J umask ¡A´N¥i¥H¬Ý¨ì¼Æ¦r«¬ºAªºÅv­­³]©w¤À¼Æ¡A ¤@ºØ«h¬O¥[¤J -S (Symbolic) ³o­Ó¿ï¶µ¡A´N·|¥H²Å¸¹Ãþ«¬ªº¤è¦¡¨ÓÅã¥Ü¥XÅv­­¤F¡I ©_©Çªº¬O¡A«ç»ò umask ·|¦³¥|²Õ¼Æ¦r°Ú¡H¤£¬O¥u¦³¤T²Õ¶Ü¡H¬O¨S¿ù°Õ¡C ²Ä¤@²Õ¬O¯S®íÅv­­¥Îªº¡A§Ú­Ì¥ý¤£­n²z¥L¡A©Ò¥H¥ý¬Ý«á­±¤T²Õ§Y¥i¡C

¦b¹w³]Åv­­ªºÄݩʤW¡A¥Ø¿ý»PÀɮ׬O¤£¤@¼Ëªº¡C±q²Ä¤»³¹§Ú­Ìª¾¹D x Åv­­¹ï©ó¥Ø¿ý¬O«D±`­«­nªº¡I ¦ý¬O¤@¯ëÀɮתº«Ø¥ß«h¤£À³¸Ó¦³°õ¦æªºÅv­­¡A¦]¬°¤@¯ëÀɮ׳q±`¬O¥Î¦b©ó¸ê®Æªº°O¿ý¹À¡I·íµM¤£»Ý­n°õ¦æªºÅv­­¤F¡C ¦]¦¹¡A¹w³]ªº±¡ªp¦p¤U¡G

  • ­Y¨Ï¥ÎªÌ«Ø¥ß¬°¡yÀɮסz«h¹w³]¡y¨S¦³¥i°õ¦æ( x )Åv­­¡z¡A¥ç§Y¥u¦³ rw ³o¨â­Ó¶µ¥Ø¡A¤]´N¬O³Ì¤j¬° 666 ¤À¡A¹w³]Åv­­¦p¤U¡G
    -rw-rw-rw-

  • ­Y¨Ï¥ÎªÌ«Ø¥ß¬°¡y¥Ø¿ý¡z¡A«h¥Ñ©ó x »P¬O§_¥i¥H¶i¤J¦¹¥Ø¿ý¦³Ãö¡A¦]¦¹¹w³]¬°©Ò¦³Åv­­§¡¶}©ñ¡A¥ç§Y¬° 777 ¤À¡A¹w³]Åv­­¦p¤U¡G
    drwxrwxrwx

­nª`·Nªº¬O¡Aumask ªº¤À¼Æ«üªº¬O¡y¸Ó¹w³]­È»Ý­n´î±¼ªºÅv­­¡I¡z¦]¬° r¡Bw¡Bx ¤À§O¬O 4¡B2¡B1 ¤À¡A©Ò¥HÅo¡I¤]´N¬O»¡¡A·í­n®³±¼¯à¼gªºÅv­­¡A´N¬O¿é¤J 2 ¤À¡A¦Ó¦pªG­n®³±¼¯àŪªºÅv­­¡A¤]´N¬O 4 ¤À¡A¨º»ò­n®³±¼Åª»P¼gªºÅv­­¡A¤]´N¬O 6 ¤À¡A¦Ó­n®³±¼°õ¦æ»P¼g¤JªºÅv­­¡A¤]´N¬O 3 ¤À¡A³o¼ËÁA¸Ñ¶Ü¡H½Ð°Ý§A¡A 5 ¤À¬O¤°»ò¡H¨þ¨þ¡I ´N¬OŪ»P°õ¦æªºÅv­­°Õ¡I

¦pªG¥H¤W­±ªº¨Ò¤l¨Ó»¡©úªº¸Ü¡A¦]¬° umask ¬° 022 ¡A©Ò¥H user ¨Ã¨S¦³³Q®³±¼¥ô¦óÅv­­¡A¤£¹L group »P others ªºÅv­­³Q®³±¼¤F 2 (¤]´N¬O w ³o­ÓÅv­­)¡A¨º»ò·í¨Ï¥ÎªÌ¡G

  • «Ø¥ßÀɮ׮ɡG(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
  • «Ø¥ß¥Ø¿ý®É¡G(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
¤£¬Û«H¶Ü¡H§Ú­Ì´N¨Ó´ú¸Õ¬Ý¬Ý§a¡I
[root@www ~]# umask
0022
[root@www ~]# touch test1
[root@www ~]# mkdir test2
[root@www ~]# ll 
-rw-r--r-- 1 root root     0 Sep 27 00:25 test1
drwxr-xr-x 2 root root  4096 Sep 27 00:25 test2

¨þ¨þ¡IÁ@¨£¤F§a¡I½T©w·s«ØÀɮתºÅv­­¬O¨S¦³¿ùªº¡C

  • umaskªº§Q¥Î»P­«­n©Ê¡G±MÃD»s§@

·Q¹³¤@­Óª¬ªp¡A¦pªG§A¸ò§Aªº¦P¾Ç¦b¦P¤@³¡¥D¾÷¸Ì­±¤u§@®É¡A¦]¬°§A­Ì¨â­Ó¥¿¦b¶i¦æ¦P¤@­Ó±MÃD¡A ¦Ñ®v¤]À°§A­Ì¨â­Óªº±b¸¹«Ø¥ß¦n¤F¬Û¦P¸s²Õªºª¬ºA¡A¨Ã¥B±N /home/class/ ¥Ø¿ý°µ¬°§A­Ì¨â­Ó¤Hªº±MÃD¥Ø¿ý¡C ·Q¹³¤@¤U¡A¦³¨S¦³¥i¯à§A©Ò»s§@ªºÀÉ®×§Aªº¦P¾ÇµLªk½s¿è¡HªG¯u¦p¦¹ªº¸Ü¡A¨º´N¶Ë¸£µ¬¤F¡I

³o­Ó°ÝÃD«Ü±`µo¥Í°Ú¡IÁ|¤W­±ªº®×¨Ò¨Ó¬Ý´N¦n¤F¡A§A¬Ý¤@¤U test1 ªºÅv­­¬O´X¤À¡H 644 ©O¡I·N«ä¬O¡y¦pªG umask ­q©w¬° 022 ¡A¨º·s«Øªº¸ê®Æ¥u¦³¨Ï¥ÎªÌ¦Û¤v¨ã¦³ w ªºÅv­­¡A ¦P¸s²Õªº¤H¥u¦³ r ³o­Ó¥iŪªºÅv­­¦Ó¤w¡A¨ÃµLªk­×§ï³á¡I¡z³o¼Ë­n«ç»ò¦@¦P»s§@±MÃD°Ú¡I±z»¡¬O§a¡I

©Ò¥H¡A·í§Ú­Ì»Ý­n·s«ØÀÉ®×µ¹¦P¸s²Õªº¨Ï¥ÎªÌ¦@¦P½s¿è®É¡A¨º»ò umask ªº¸s²Õ´N¤£¯à®³±¼ 2 ³o­Ó w ªºÅv­­¡I ©Ò¥HÅo¡A umask ´N±o­n¬O 002 ¤§Ãþªº¤~¥i¥H¡I³o¼Ë·s«ØªºÀɮפ~¯à°÷¬O -rw-rw-r-- ªºÅv­­¼Ò¼Ë³á¡I ¨º»ò¦p¦ó³]©w umask ©O¡H²³æªº«Ü¡Aª½±µ¦b umask «á­±¿é¤J 002 ´N¦n¤F¡I

[root@www ~]# umask 002
[root@www ~]# touch test3
[root@www ~]# mkdir test4
[root@www ~]# ll 
-rw-rw-r-- 1 root root     0 Sep 27 00:36 test3
drwxrwxr-x 2 root root  4096 Sep 27 00:36 test4

©Ò¥H»¡¡A³o­Ó umask ¹ï©ó·s«ØÀÉ®×»P¥Ø¿ýªº¹w³]Åv­­¬O«Ü¦³Ãö«Yªº¡I³o­Ó·§©À¥i¥H¥Î¦b¥ô¦ó¦øªA¾¹¤W­±¡A ¤×¨ä¬O¥¼¨Ó¦b§A¬[³]ÀɮצøªA¾¹ (file server) ¡AÁ|¨Ò¨Ó»¡¡A SAMBA Server ©ÎªÌ¬O FTP server ®É¡A ³£¬O«Ü­«­nªºÆ[©À¡I³o²o¯A¨ì§Aªº¨Ï¥ÎªÌ¬O§_¯à°÷±NÀÉ®×¶i¤@¨B§Q¥Îªº°ÝÃD³á¡I¤£­nµ¥¶¢µø¤§¡I

¨ÒÃD¡G
°²³]§Aªº umask ¬° 003 ¡A½Ð°Ý¸Ó umask ±¡ªp¤U¡A«Ø¥ßªºÀÉ®×»P¥Ø¿ýÅv­­¬°¡H
榭G
umask ¬° 003 ¡A©Ò¥H®³±¼ªºÅv­­¬° --------wx¡A¦]¦¹¡G
ÀɮסG (-rw-rw-rw-) - (--------wx) = -rw-rw-r--
¥Ø¿ý¡G (drwxrwxrwx) - (--------wx) = drwxrwxr--

Tips:
Ãö©ó umask »PÅv­­ªº­pºâ¤è¦¡¤¤¡A±Ð¬ì®Ñ³ßÅw¨Ï¥Î¤G¶i¦ìªº¤è¦¡¨Ó¶i¦æ AND »P NOT ªº­pºâ¡A ¤£¹L¡A³¾­ôÁÙ¬O¤ñ¸û³ßÅw¨Ï¥Î²Å¸¹¤è¦¡¨Ó­pºâ¡ãÁp·Q¤W­±¤ñ¸û®e©ö¤@ÂI¡ã

¦ý¬O¡A¦³ªº®ÑÄy©ÎªÌ¬O BBS ¤W­±ªºªB¤Í¡A³ßÅw¨Ï¥ÎÀÉ®×¹w³]ÄÝ©Ê 666 »P¥Ø¿ý¹w³]ÄÝ©Ê 777 ¨Ó»P umask ¶i¦æ¬Û´îªº­pºâ¡ã³o¬O¤£¦nªº³á¡I¥H¤W­±¨ÒÃD¨Ó¬Ý¡A ¦pªG¨Ï¥Î¹w³]Äݩʬۥ[´î¡A«hÀÉ®×Åܦ¨¡G666-003=663¡A¥ç§Y¬O -rw-rw--wx ¡A³o¥i¬O§¹¥þ¤£¹ïªº³á¡I ·Q·Q¬Ý¡A­ì¥»ÀÉ®×´N¤w¸g¥h°£ x ªº¹w³]ÄݩʤF¡A«ç»ò¥i¯à¬ðµM¶¡«_¥X¨Ó¤F¡H ©Ò¥H¡A³o­Ó¦a¤è±o­n¯S§O¤p¤ß³á¡I
³¾­ôªº¹Ï¥Ü

¦b¹w³]ªº±¡ªp¤¤¡A root ªº umask ·|®³±¼¤ñ¸û¦hªºÄݩʡAroot ªº umask ¹w³]¬O 022 ¡A ³o¬O°ò©ó¦w¥þªº¦Ò¶q°Õ¡ã¦Ü©ó¤@¯ë¨­¥÷¨Ï¥ÎªÌ¡A³q±`¥L­Ìªº umask ¬° 002 ¡A¥ç§Y«O¯d¦P¸s²Õªº¼g¤JÅv¤O¡I ¨ä¹ê¡AÃö©ó¹w³] umask ªº³]©w¥i¥H°Ñ¦Ò /etc/bashrc ³o­ÓÀɮתº¤º®e¡A¤£¹L¡A¤£«ØÄ³­×§ï¸ÓÀɮסA §A¥i¥H°Ñ¦Ò bash shell ´£¨ìªºÀô¹Ò°Ñ¼Æ³]©wÀÉ (~/.bashrc) ªº»¡©ú¡ã³o³¡¤À§Ú­Ì¦b²Ä¤T³¹ªº®É­Ô·|´£¨ì¡I


¤p¼ÐÃDªº¹Ï¥ÜÀÉ®×ÁôÂÃÄݩʡG

¤°»ò¡HÀÉ®×ÁÙ¦³ÁôÂÃÄݩʡH¥ú¬O¨º¤E­ÓÅv­­´N§Ö­nºÆ±¼¤F¡A³ºµMÁÙ¦³ÁôÂÃÄݩʡA¯u¬O­n©R¡ã ¦ý¬O¨S¿ìªk¡A´N¬O¦³ÀɮתºÁôÂÃÄݩʦs¦b°Ú¡I¤£¹L¡A³o¨ÇÁôÂêºÄݩʽT¹ê¹ï©ó¨t²Î¦³«Ü¤jªºÀ°§Uªº¡ã ¤×¨ä¬O¦b¨t²Î¦w¥þ (Security) ¤W­±¡A­«­nªººò©O¡I¤£¹L­n¥ý±j½Õªº¬O¡A©³¤Uªºchattr«ü¥O¥u¯à¦bExt2/Ext3ªºÀɮרt²Î¤W­±¥Í®Ä¡A ¨ä¥LªºÀɮרt²Î¥i¯à´NµLªk¤ä´©³o­Ó«ü¥O¤F¡C©³¤U§Ú­Ì´N¨Ó½Í¤@½Í¦p¦ó³]©w»PÀˬd³o¨ÇÁôÂêºÄݩʧa¡I


  • chattr (³]©wÀÉ®×ÁôÂÃÄÝ©Ê)
[root@www ~]# chattr [+-=][ASacdistu] ÀɮשΥؿý¦WºÙ
¿ï¶µ»P°Ñ¼Æ¡G
+   ¡G¼W¥[¬Y¤@­Ó¯S®í°Ñ¼Æ¡A¨ä¥L­ì¥»¦s¦b°Ñ¼Æ«h¤£°Ê¡C
-   ¡G²¾°£¬Y¤@­Ó¯S®í°Ñ¼Æ¡A¨ä¥L­ì¥»¦s¦b°Ñ¼Æ«h¤£°Ê¡C
=   ¡G³]©w¤@©w¡A¥B¶È¦³«á­±±µªº°Ñ¼Æ

A  ¡G·í³]©w¤F A ³o­ÓÄݩʮɡA­Y§A¦³¦s¨ú¦¹ÀÉ®×(©Î¥Ø¿ý)®É¡A¥Lªº¦s¨ú®É¶¡ atime
     ±N¤£·|³Q­×§ï¡A¥iÁ×§KI/O¸ûºCªº¾÷¾¹¹L«×ªº¦s¨úºÏºÐ¡C³o¹ï³t«×¸ûºCªº¹q¸£¦³À°§U
S  ¡G¤@¯ëÀɮ׬O«D¦P¨B¼g¤JºÏºÐªº(­ì²z½Ð°Ñ¦Ò²Ä¤­³¹syncªº»¡©ú)¡A¦pªG¥[¤W S ³o­Ó
     ÄݩʮɡA·í§A¶i¦æ¥ô¦óÀɮתº­×§ï¡A¸Ó§ó°Ê·|¡y¦P¨B¡z¼g¤JºÏºÐ¤¤¡C
a  ¡G·í³]©w a ¤§«á¡A³o­ÓÀÉ®×±N¥u¯à¼W¥[¸ê®Æ¡A¦Ó¤£¯à§R°£¤]¤£¯à­×§ï¸ê®Æ¡A¥u¦³root 
     ¤~¯à³]©w³o­ÓÄݩʡC 
c  ¡G³o­ÓÄݩʳ]©w¤§«á¡A±N·|¦Û°Êªº±N¦¹ÀɮסyÀ£ÁY¡z¡A¦bŪ¨úªº®É­Ô±N·|¦Û°Ê¸ÑÀ£ÁY¡A
     ¦ý¬O¦bÀx¦sªº®É­Ô¡A±N·|¥ý¶i¦æÀ£ÁY«á¦AÀx¦s(¬Ý¨Ó¹ï©ó¤jÀɮצü¥GÆZ¦³¥Îªº¡I)
d  ¡G·í dump µ{§Ç³Q°õ¦æªº®É­Ô¡A³]©w d ÄݩʱN¥i¨Ï¸ÓÀÉ®×(©Î¥Ø¿ý)¤£·|³Q dump ³Æ¥÷
i  ¡G³o­Ó i ¥i´N«Ü¼F®`¤F¡I¥L¥i¥HÅý¤@­ÓÀɮסy¤£¯à³Q§R°£¡B§ï¦W¡B³]©w³sµ²¤]µLªk
     ¼g¤J©Î·s¼W¸ê®Æ¡I¡z¹ï©ó¨t²Î¦w¥þ©Ê¦³¬Û·í¤jªº§U¯q¡I¥u¦³ root ¯à³]©w¦¹ÄÝ©Ê
s  ¡G·íÀɮ׳]©w¤F s ÄݩʮɡA¦pªG³o­ÓÀɮ׳Q§R°£¡A¥L±N·|³Q§¹¥þªº²¾°£¥X³o­ÓµwºÐ
     ªÅ¶¡¡A©Ò¥H¦pªG»~§R¤F¡A§¹¥þµLªk±Ï¦^¨Ó¤F³á¡I
u  ¡G»P s ¬Û¤Ïªº¡A·í¨Ï¥Î u ¨Ó³]©wÀɮ׮ɡA¦pªG¸ÓÀɮ׳Q§R°£¤F¡A«h¸ê®Æ¤º®e¨ä¹êÁÙ
     ¦s¦bºÏºÐ¤¤¡A¥i¥H¨Ï¥Î¨Ó±Ï´©¸ÓÀɮ׳á¡I
ª`·N¡GÄݩʳ]©w±`¨£ªº¬O a »P i ªº³]©w­È¡A¦Ó¥B«Ü¦h³]©w­È¥²¶·­n¨­¬° root ¤~¯à³]©w

½d¨Ò¡G½Ð¹Á¸Õ¨ì/tmp©³¤U«Ø¥ßÀɮסA¨Ã¥[¤J i ªº°Ñ¼Æ¡A¹Á¸Õ§R°£¬Ý¬Ý¡C
[root@www ~]# cd /tmp
[root@www tmp]# touch attrtest     <==«Ø¥ß¤@­ÓªÅÀÉ®×
[root@www tmp]# chattr +i attrtest <==µ¹¤© i ªºÄÝ©Ê
[root@www tmp]# rm attrtest        <==¹Á¸Õ§R°£¬Ý¬Ý
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted  <==¾Þ§@¤£³\¥i
# ¬Ý¨ì¤F¶Ü¡H©I©I¡I³s root ¤]¨S¦³¿ìªk±N³o­ÓÀÉ®×§R°£©O¡I»°ºò¸Ñ°£³]©w¡I

½d¨Ò¡G½Ð±N¸ÓÀɮתº i Äݩʨú®ø¡I
[root@www tmp]# chattr -i attrtest

³o­Ó«ü¥O¬O«Ü­«­nªº¡A¤×¨ä¬O¦b¨t²Îªº¸ê®Æ¦w¥þ¤W­±¡I¥Ñ©ó³o¨ÇÄݩʬOÁôÂ꺩ʽè¡A©Ò¥H»Ý­n¥H lsattr ¤~¯à¬Ý¨ì¸ÓÄÝ©ÊËç¡I¨ä¤¤¡A­Ó¤H»{¬°³Ì­«­nªº·íÄÝ +i »P +a ³o­ÓÄݩʤF¡C+i ¥i¥HÅý¤@­ÓÀÉ®×µLªk³Q§ó°Ê¡A¹ï©ó»Ý­n±j¯Pªº¨t²Î¦w¥þªº¤H¨Ó»¡¡A ¯u¬O¬Û·íªº­«­nªº¡I¸ÌÀYÁÙ¦³¬Û·í¦hªºÄݩʬO»Ý­n root ¤~¯à³]©wªº©O¡I

¦¹¥~¡A¦pªG¬O log file ³oºØªºµn¿ýÀÉ¡A´N§ó»Ý­n +a ³o­Ó¥i¥H¼W¥[¡A¦ý¬O¤£¯à­×§ï¦³ªº¸ê®Æ»P§R°£ªº°Ñ¼Æ¤F¡I «ç¼Ë¡H«Ü´Î§a¡I¥¼¨Ó´£¨ìµn¿ýÀɪº»{ª¾®É¡A§Ú­Ì¦A¨Ó²á¤@²á¦p¦ó³]©w¥L§a¡I


  • lsattr (Åã¥ÜÀÉ®×ÁôÂÃÄÝ©Ê)
[root@www ~]# lsattr [-adR] ÀɮשΥؿý
¿ï¶µ»P°Ñ¼Æ¡G
-a ¡G±NÁôÂÃÀɪºÄݩʤ]¨q¥X¨Ó¡F
-d ¡G¦pªG±µªº¬O¥Ø¿ý¡A¶È¦C¥X¥Ø¿ý¥»¨­ªºÄݩʦӫD¥Ø¿ý¤ºªºÀɦW¡F
-R ¡G³s¦P¤l¥Ø¿ýªº¸ê®Æ¤]¤@¨Ö¦C¥X¨Ó¡I 

[root@www tmp]# chattr +aij attrtest
[root@www tmp]# lsattr attrtest
----ia---j--- attrtest

¨Ï¥Î chattr ³]©w«á¡A¥i¥H§Q¥Î lsattr ¨Ó¬d¾\ÁôÂêºÄݩʡC¤£¹L¡A ³o¨â­Ó«ü¥O¦b¨Ï¥Î¤W¥²¶·­n¯S§O¤p¤ß¡A§_«h·|³y¦¨«Ü¤jªº§xÂZ¡C¨Ò¦p¡G¬Y¤Ñ§A¤ß±¡¦n¡A¬ðµM±N /etc/shadow ³o­Ó­«­nªº±K½X°O¿ýÀÉ®×µ¹¥L³]©w¦¨¬°¨ã¦³ i ªºÄݩʡA¨º»ò¹L¤F­Y¤z¤Ñ¤§«á¡A §A¬ðµM­n·s¼W¨Ï¥ÎªÌ¡A«o¤@ª½µLªk·s¼W¡I§OÃhºÃ¡A»°§Ö¥h±N i ªºÄݩʮ³±¼§a¡I


¤p¼ÐÃDªº¹Ï¥ÜÀɮׯS®íÅv­­¡G SUID, SGID, SBIT

§Ú­Ì«e­±¤@ª½´£¨ìÃö©óÀɮתº­«­nÅv­­¡A¨º´N¬O rwx ³o¤T­ÓŪ¡B¼g¡B°õ¦æªºÅv­­¡C ¦ý¬O¡A²´¦yªºªB¤Í­Ì¦b²Ä¤»³¹ªº¥Ø¿ý¾ð³¹¸`¤¤¡A ¤@©wª`·N¨ì¤F¤@¥ó¨Æ¡A¨º´N¬O¡A«ç»ò§Ú­Ìªº /tmp Åv­­©Ç©Çªº¡H ÁÙ¦³¡A¨º­Ó /usr/bin/passwd ¤]©Ç©Çªº¡H«ç»ò¦^¨Æ°Ú¡H¬Ý¬Ý¥ý¡G

[root@www ~]# ls -ld /tmp ; ls -l /usr/bin/passwd
drwxrwxrwt 7 root root 4096 Sep 27 18:23 /tmp
-rwsr-xr-x 1 root root 22984 Jan  7  2007 /usr/bin/passwd

¤£¬OÀ³¸Ó¥u¦³ rwx ¶Ü¡HÁÙ¦³¨ä¥Lªº¯S®íÅv­­( s ¸ò t )°Ú¡H°Ú.....ÀY¤S¶}©l©ü¤F¡ã @_@ ¦]¬° s »P t ³o¨â­ÓÅv­­ªº·N¸q»P¨t²Îªº±b¸¹¤Î¨t²Îªºµ{§Ç(process)¸û¬°¬ÛÃö¡A ©Ò¥Hµ¥¨ì«á­±ªº³¹¸`½Í§¹«á§A¤~·|¤ñ¸û¦³·§©À¡I©³¤Uªº»¡©ú¥ý¬Ý¬Ý´N¦n¡A¦pªG¬Ý¤£À´¤]¨S¦³Ãö«Y¡A ¥ýª¾¹Ds©ñ¦b­þ¸ÌºÙ¬°SUID/SGID¥H¤Î¦p¦ó³]©w§Y¥i¡A¨ì¨t²Îµ{§Ç³¹¸`Ū§¹«á¡A¦A¦^¨Ó¬Ý¬Ý³á¡I


  • Set UID

·í s ³o­Ó¼Ð»x¥X²{¦bÀÉ®×¾Ö¦³ªÌªº x Åv­­¤W®É¡A¨Ò¦p­è­è´£¨ìªº /usr/bin/passwd ³o­ÓÀɮתºÅv­­ª¬ºA¡G¡y-rwsr-xr-x¡z¡A¦¹®É´N³QºÙ¬° Set UID¡A²ºÙ¬° SUID ªº¯S®íÅv­­¡C ¨º»òSUIDªºÅv­­¹ï©ó¤@­ÓÀɮתº¯S®í¥\¯à¬O¤°»ò©O¡H°ò¥»¤WSUID¦³³o¼Ëªº­­¨î»P¥\¯à¡G

  • SUID Åv­­¶È¹ï¤G¶i¦ìµ{¦¡(binary program)¦³®Ä¡F
  • °õ¦æªÌ¹ï©ó¸Óµ{¦¡»Ý­n¨ã¦³ x ªº¥i°õ¦æÅv­­¡F
  • ¥»Åv­­¶È¦b°õ¦æ¸Óµ{¦¡ªº¹Lµ{¤¤¦³®Ä (run-time)¡F
  • °õ¦æªÌ±N¨ã¦³¸Óµ{¦¡¾Ö¦³ªÌ (owner) ªºÅv­­¡C

Á¿³o»òµwªºªF¦è§A¥i¯à¹ï©ó SUID ÁÙ¬O¨S¦³·§©À¡A¨SÃö«Y¡A§Ú­ÌÁ|­Ó¨Ò¤l¨Ó»¡©ú¦n¤F¡C §Ú­Ìªº Linux ¨t²Î¤¤¡A©Ò¦³±b¸¹ªº±K½X³£°O¿ý¦b /etc/shadow ³o­ÓÀɮ׸̭±¡A³o­ÓÀɮתºÅv­­¬°¡G¡y-r-------- 1 root root¡z¡A·N«ä¬O³o­ÓÀɮ׶Ȧ³root¥iŪ¥B¶È¦³root¥i¥H±j¨î¼g¤J¦Ó¤w¡C ¬JµM³o­ÓÀɮ׶Ȧ³ root ¥i¥H­×§ï¡A¨º»ò³¾­ôªº vbird ³o­Ó¤@¯ë±b¸¹¨Ï¥ÎªÌ¯à§_¦Û¦æ­×§ï¦Û¤vªº±K½X©O¡H §A¥i¥H¨Ï¥Î§A¦Û¤vªº±b¸¹¿é¤J¡ypasswd¡z³o­Ó«ü¥O¨Ó¬Ý¬Ý¡A¼K¼K¡I¤@¯ë¨Ï¥ÎªÌ·íµM¥i¥H­×§ï¦Û¤vªº±K½X¤F¡I

­ø¡I¦³¨S¦³½Ä¬ð°Ú¡I©ú©ú /etc/shadow ´N¤£¯àÅý vbird ³o­Ó¤@¯ë±b¤á¥h¦s¨úªº¡A¬°¤°»ò vbird ÁÙ¯à°÷­×§ï³o­ÓÀɮפºªº±K½X©O¡H ³o´N¬O SUID ªº¥\¯à°Õ¡IÂǥѤW­zªº¥\¯à»¡©ú¡A§Ú­Ì¥i¥Hª¾¹D

  1. vbird ¹ï©ó /usr/bin/passwd ³o­Óµ{¦¡¨Ó»¡¬O¨ã¦³ x Åv­­ªº¡Aªí¥Ü vbird ¯à°õ¦æ passwd¡F
  2. passwd ªº¾Ö¦³ªÌ¬O root ³o­Ó±b¸¹¡F
  3. vbird °õ¦æ passwd ªº¹Lµ{¤¤¡A·|¡y¼È®É¡zÀò±o root ªºÅv­­¡F
  4. /etc/shadow ´N¥i¥H³Q vbird ©Ò°õ¦æªº passwd ©Ò­×§ï¡C

¦ý¦pªG vbird ¨Ï¥Î cat ¥hŪ¨ú /etc/shadow ®É¡A¥L¯à°÷Ū¨ú¶Ü¡H¦]¬° cat ¤£¨ã¦³ SUID ªºÅv­­¡A©Ò¥H vbird °õ¦æ ¡ycat /etc/shadow¡z ®É¡A¬O¤£¯àŪ¨ú /etc/shadow ªº¡C§Ú­Ì¥Î¤@±i¥Ü·N¹Ï¨Ó»¡©ú¦p¤U¡G

SUIDµ{¦¡°õ¦æªº¹Lµ{¥Ü·N¹Ï
¹Ï4.4.1¡BSUIDµ{¦¡°õ¦æªº¹Lµ{¥Ü·N¹Ï

¥t¥~¡ASUID ¶È¥i¥Î¦bbinary program ¤W¡A ¤£¯à°÷¥Î¦b shell script ¤W­±¡I³o¬O¦]¬° shell script ¥u¬O±N«Ü¦hªº binary °õ¦æÀÉ¥s¶i¨Ó°õ¦æ¦Ó¤w¡I©Ò¥H SUID ªºÅv­­³¡¤À¡AÁÙ¬O±o­n¬Ý shell script ©I¥s¶i¨Óªºµ{¦¡ªº³]©w¡A ¦Ó¤£¬O shell script ¥»¨­¡C·íµM¡ASUID ¹ï©ó¥Ø¿ý¤]¬OµL®Äªº¡ã³oÂI­n¯S§O¯d·N¡C


  • Set GID

·í s ¼Ð»x¦bÀÉ®×¾Ö¦³ªÌªº x ¶µ¥Ø¬° SUID¡A¨º s ¦b¸s²Õªº x ®É«hºÙ¬° Set GID, SGID Åo¡I¬O³o¼Ë¨S¿ù¡I^_^¡C Á|¨Ò¨Ó»¡¡A§A¥i¥H¥Î©³¤Uªº«ü¥O¨ÓÆ[¹î¨ì¨ã¦³ SGID Åv­­ªºÀɮ׳á¡G

[root@www ~]# /usr/bin/locate
-rwx--s--x 1 root slocate 23856 Mar 15  2007 /usr/bin/locate

»P SUID ¤£¦Pªº¬O¡ASGID ¥i¥H°w¹ïÀɮשΥؿý¨Ó³]©w¡I¦pªG¬O¹ïÀɮרӻ¡¡A SGID ¦³¦p¤Uªº¥\¯à¡G

  • SGID ¹ï¤G¶i¦ìµ{¦¡¦³¥Î¡F
  • µ{¦¡°õ¦æªÌ¹ï©ó¸Óµ{¦¡¨Ó»¡¡A»Ý¨ã³Æ x ªºÅv­­¡F
  • °õ¦æªÌ¦b°õ¦æªº¹Lµ{¤¤±N·|Àò±o¸Óµ{¦¡¸s²Õªº¤ä´©¡I

Á|¨Ò¨Ó»¡¡A¤W­±ªº /usr/bin/locate ³o­Óµ{¦¡¥i¥H¥h·j´M /var/lib/mlocate/mlocate.db ³o­ÓÀɮתº¤º®e (¸Ô²Ó»¡©ú·|¦b¤U¸`Á¿­z)¡A mlocate.db ªºÅv­­¦p¤U¡G

[root@www ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x 1 root slocate   23856 Mar 15  2007 /usr/bin/locate
-rw-r----- 1 root slocate 3175776 Sep 28 04:02 /var/lib/mlocate/mlocate.db

»P SUID «D±`ªºÃþ¦ü¡A­Y§Ú¨Ï¥Î vbird ³o­Ó±b¸¹¥h°õ¦æ locate ®É¡A¨º vbird ±N·|¨ú±o slocate ¸s²Õªº¤ä´©¡A ¦]¦¹´N¯à°÷¥hŪ¨ú mlocate.db °Õ¡I«D±`¦³½ì§a¡I

°£¤F binary program ¤§¥~¡A¨Æ¹ê¤W SGID ¤]¯à°÷¥Î¦b¥Ø¿ý¤W¡A³o¤]¬O«D±`±`¨£ªº¤@ºØ¥Î³~¡I ·í¤@­Ó¥Ø¿ý³]©w¤F SGID ªºÅv­­«á¡A¥L±N¨ã¦³¦p¤Uªº¥\¯à¡G

  • ¨Ï¥ÎªÌ­Y¹ï©ó¦¹¥Ø¿ý¨ã¦³ r »P x ªºÅv­­®É¡A¸Ó¨Ï¥ÎªÌ¯à°÷¶i¤J¦¹¥Ø¿ý¡F
  • ¨Ï¥ÎªÌ¦b¦¹¥Ø¿ý¤Uªº¦³®Ä¸s²Õ(effective group)±N·|Åܦ¨¸Ó¥Ø¿ýªº¸s²Õ¡F
  • ¥Î³~¡G­Y¨Ï¥ÎªÌ¦b¦¹¥Ø¿ý¤U¨ã¦³ w ªºÅv­­(¥i¥H·s«ØÀÉ®×)¡A«h¨Ï¥ÎªÌ©Ò«Ø¥ßªº·sÀɮסA¸ÓÀɮתº¸s²Õ»P¦¹¥Ø¿ýªº¸s²Õ¬Û¦P¡C

SGID ¹ï©ó±M®×¶}µo¨Ó»¡¬O«D±`­«­nªº¡I¦]¬°³o¯A¤Î¸s²ÕÅv­­ªº°ÝÃD¡A±z¥i¥H°Ñ¦Ò¤@¤U¥»³¹«áÄò±¡¹Ò¼ÒÀÀªº®×¨Ò¡AÀ³¸Ó´N¯à°÷¹ï©ó SGID ¦³¤@¨ÇÁA¸Ñªº¡I^_^


  • Sticky Bit

³o­Ó Sticky Bit, SBIT ¥Ø«e¥u°w¹ï¥Ø¿ý¦³®Ä¡A¹ï©óÀɮפw¸g¨S¦³®ÄªG¤F¡C SBIT ¹ï©ó¥Ø¿ýªº§@¥Î¬O¡G

  • ·í¨Ï¥ÎªÌ¹ï©ó¦¹¥Ø¿ý¨ã¦³ w, x Åv­­¡A¥ç§Y¨ã¦³¼g¤JªºÅv­­®É¡F
  • ·í¨Ï¥ÎªÌ¦b¸Ó¥Ø¿ý¤U«Ø¥ßÀɮשΥؿý®É¡A¶È¦³¦Û¤v»P root ¤~¦³Åv¤O§R°£¸ÓÀÉ®×

´«¥y¸Ü»¡¡G·í¥Ò³o­Ó¨Ï¥ÎªÌ©ó A ¥Ø¿ý¬O¨ã¦³¸s²Õ©Î¨ä¥L¤Hªº¨­¥÷¡A¨Ã¥B¾Ö¦³¸Ó¥Ø¿ý w ªºÅv­­¡A ³oªí¥Ü¡y¥Ò¨Ï¥ÎªÌ¹ï¸Ó¥Ø¿ý¤º¥ô¦ó¤H«Ø¥ßªº¥Ø¿ý©ÎÀÉ®×§¡¥i¶i¦æ "§R°£/§ó¦W/·h²¾" µ¥°Ê§@¡C¡z ¤£¹L¡A¦pªG±N A ¥Ø¿ý¥[¤W¤F SBIT ªºÅv­­¶µ¥Ø®É¡A «h¥Ò¥u¯à°÷°w¹ï¦Û¤v«Ø¥ßªºÀɮשΥؿý¶i¦æ§R°£/§ó¦W/²¾°Êµ¥°Ê§@¡A¦ÓµLªk§R°£¥L¤HªºÀɮסC

Á|¨Ò¨Ó»¡¡A§Ú­Ìªº /tmp ¥»¨­ªºÅv­­¬O¡ydrwxrwxrwt¡z¡A ¦b³o¼ËªºÅv­­¤º®e¤U¡A¥ô¦ó¤H³£¥i¥H¦b /tmp ¤º·s¼W¡B­×§ïÀɮסA¦ý¶È¦³¸ÓÀÉ®×/¥Ø¿ý«Ø¥ßªÌ»P root ¯à°÷§R°£¦Û¤vªº¥Ø¿ý©ÎÀɮסC³o­Ó¯S©Ê¤]¬O®¼­«­nªº°Ú¡I§A¥i¥H³o¼Ë°µ­Ó²³æªº´ú¸Õ¡G

  1. ¥H root µn¤J¨t²Î¡A¨Ã¥B¶i¤J /tmp ·í¤¤¡F
  2. touch test¡A¨Ã¥B§ó§ï test Åv­­¦¨¬° 777 ¡F
  3. ¥H¤@¯ë¨Ï¥ÎªÌµn¤J¡A¨Ã¶i¤J /tmp¡F
  4. ¹Á¸Õ§R°£ test ³o­ÓÀɮסI

§ó¦hÃö©ó SUID/SGID/SBIT ªº¤¶²Ð¡A§Ú­Ì·|¦b µ{§Ç»P¸ê·½ºÞ²z ¤¤¦A¦¸´£¤Îªº¡A¥Ø«e¡A§A¥ý¦³­Ó²³æªº°ò¦·§©À´N¦n¤F¡I¤å¥½ªº°Ñ¦Ò¸ê®Æ¤]«ØÄ³¾\Ū¤@µf³á¡I


  • SUID/SGID/SBIT Åv­­³]©w

«e­±¤¶²Ð¹L SUID »P SGID ªº¥\¯à¡A¨º»ò¦p¦ó³]©wÀɮרϦ¨¬°¨ã¦³ SUID »P SGID ªºÅv­­©O¡H ³o´N»Ý­n²Ä¤»³¹ªº¼Æ¦r§ó§ïÅv­­ªº¤èªk¤F¡I ²{¦b§AÀ³¸Ó¤w¸gª¾¹D¼Æ¦r«¬ºA§ó§ïÅv­­ªº¤è¦¡¬°¡y¤T­Ó¼Æ¦r¡zªº²Õ¦X¡A ¨º»ò¦pªG¦b³o¤T­Ó¼Æ¦r¤§«e¦A¥[¤W¤@­Ó¼Æ¦rªº¸Ü¡A³Ì«e­±ªº¨º­Ó¼Æ¦r´N¥Nªí³o´X­ÓÅv­­¤F¡I

  • 4 ¬° SUID
  • 2 ¬° SGID
  • 1 ¬° SBIT

°²³]­n±N¤@­ÓÀÉ®×Åv­­§ï¬°¡y-rwsr-xr-x¡z®É¡A¥Ñ©ó s ¦b¨Ï¥ÎªÌÅv­­¤¤¡A©Ò¥H¬O SUID ¡A¦]¦¹¡A ¦b­ì¥ýªº 755 ¤§«eÁÙ­n¥[¤W 4 ¡A¤]´N¬O¡G¡y chmod 4755 filename ¡z¨Ó³]©w¡I¦¹¥~¡AÁÙ¦³¤j S »P¤j T ªº²£¥Í³á¡I°Ñ¦Ò©³¤Uªº½d¨Ò°Õ¡I

Tips:
ª`·N¡G©³¤Uªº½d¨Ò¥u¬O½m²ß¦Ó¤w¡A©Ò¥H³¾­ô¨Ï¥Î¦P¤@­ÓÀɮרӳ]©w¡A§A¥²¶·ÁA¸Ñ SUID ¤£¬O¥Î¦b¥Ø¿ý¤W¡A¦Ó SBIT ¤£¬O¥Î¦bÀɮפWªº³á¡I
³¾­ôªº¹Ï¥Ü
[root@www ~]# cd /tmp
[root@www tmp]# touch test                  <==«Ø¥ß¤@­Ó´ú¸Õ¥ÎªÅÀÉ
[root@www tmp]# chmod 4755 test; ls -l test <==¥[¤J¨ã¦³ SUID ªºÅv­­
-rwsr-xr-x 1 root root 0 Sep 29 03:06 test
[root@www tmp]# chmod 6755 test; ls -l test <==¥[¤J¨ã¦³ SUID/SGID ªºÅv­­
-rwsr-sr-x 1 root root 0 Sep 29 03:06 test
[root@www tmp]# chmod 1755 test; ls -l test <==¥[¤J SBIT ªº¥\¯à¡I
-rwxr-xr-t 1 root root 0 Sep 29 03:06 test
[root@www tmp]# chmod 7666 test; ls -l test <==¨ã¦³ªÅªº SUID/SGID Åv­­
-rwSrwSrwT 1 root root 0 Sep 29 03:06 test

³Ì«á¤@­Ó¨Ò¤l´N­n¯S§O¤p¤ß°Õ¡I«ç»ò·|¥X²{¤j¼gªº S »P T ©O¡H¤£³£¬O¤p¼gªº¶Ü¡H ¦]¬° s »P t ³£¬O¨ú¥N x ³o­ÓÅv­­ªº¡A¦ý¬O§A¦³¨S¦³µo²{ªü¡A§Ú­Ì¬O¤U¹F 7666 ³á¡I¤]´N¬O»¡¡A user, group ¥H¤Î others ³£¨S¦³ x ³o­Ó¥i°õ¦æªº¼Ð»x( ¦]¬° 666 ¹À )¡A©Ò¥H¡A³o­Ó S, T ¥Nªíªº´N¬O¡yªÅªº¡z°Õ¡I«ç»ò»¡¡H SUID ¬Oªí¥Ü¡y¸ÓÀɮצb°õ¦æªº®É­Ô¡A¨ã¦³ÀÉ®×¾Ö¦³ªÌªºÅv­­¡z¡A¦ý¬OÀÉ®× ¾Ö¦³ªÌ³£µLªk°õ¦æ¤F¡A­þ¸Ì¨ÓªºÅv­­µ¹¨ä¥L¤H¨Ï¥Î¡H·íµM´N¬OªÅªº°Õ¡I ^_^


¤p¼ÐÃDªº¹Ï¥ÜÆ[¹îÀÉ®×Ãþ«¬¡Gfile

¦pªG§A·Q­nª¾¹D¬Y­ÓÀɮתº°ò¥»¸ê®Æ¡A¨Ò¦p¬OÄÝ©ó ASCII ©ÎªÌ¬O data ÀɮסA©ÎªÌ¬O binary ¡A ¥B¨ä¤¤¦³¨S¦³¨Ï¥Î¨ì°ÊºA¨ç¦¡®w (share library) µ¥µ¥ªº¸ê°T¡A´N¥i¥H§Q¥Î file ³o­Ó«ü¥O¨ÓÀ˾\³á¡I Á|¨Ò¨Ó»¡¡G

[root@www ~]# file ~/.bashrc
/root/.bashrc: ASCII text  <==§i¶D§Ú­Ì¬O ASCII ªº¯Â¤å¦rÀɰڡI
[root@www ~]# file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 32-bit LSB executable, Intel 80386, version 1 
(SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for 
GNU/Linux 2.6.9, stripped
# °õ¦æÀɪº¸ê®Æ¥i´N¦hªº¤£±o¤F¡I¥]¬A³o­ÓÀɮתº suid Åv­­¡B¬Û®e©ó Intel 386
# µ¥¯ÅªºµwÅ饭¥x¡B¨Ï¥Îªº¬O Linux ®Ö¤ß 2.6.9 ªº°ÊºA¨ç¦¡®w³sµ²µ¥µ¥¡C
[root@www ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data  <== ³o¬O data ÀɮסI

³z¹L³o­Ó«ü¥O¡A§Ú­Ì¥i¥H²³æªº¥ý§PÂ_³o­ÓÀɮתº®æ¦¡¬°¦ó³á¡I


¤j¼ÐÃDªº¹Ï¥Ü«ü¥O»PÀɮתº·j´M¡G

Àɮתº·j´M¥i´N¼F®`¤F¡I¦]¬°§Ú­Ì±`±`»Ý­nª¾¹D¨º­ÓÀɮשñ¦b­þ¸Ì¡A¤~¯à°÷¹ï¸ÓÀÉ®×¶i¦æ¤@¨Ç­×§ï©ÎºûÅ@µ¥°Ê§@¡C ¦³¨Ç®É­Ô¬Y¨Ç³nÅé³]©wÀɪºÀɦW¬O¤£Åܪº¡A¦ý¬O¦U distribution ©ñ¸mªº¥Ø¿ý«h¤£¦P¡C ¦¹®É´N±o­n§Q¥Î¤@¨Ç·j´M«ü¥O±N¸Ó³]©wÀɪº§¹¾ãÀɦW®»¥X¨Ó¡A³o¼Ë¤~¯à­×§ï¹À¡I±z»¡¬O§a¡I^_^


¤p¼ÐÃDªº¹Ï¥Ü«ü¥OÀɦWªº·j´M¡G

§Ú­Ìª¾¹D¦b²×ºÝ¾÷¼Ò¦¡·í¤¤¡A³sÄò¿é¤J¨â¦¸[tab]«öÁä´N¯à°÷ª¾¹D¨Ï¥ÎªÌ¦³¦h¤Ö«ü¥O¥i¥H¤U¹F¡C ¨º§Aª¾¤£ª¾¹D³o¨Ç«ü¥Oªº§¹¾ãÀɦW©ñ¦b­þ¸Ì¡HÁ|¨Ò¨Ó»¡¡Als ³o­Ó±`¥Îªº«ü¥O©ñ¦b­þ¸Ì©O¡H ´N³z¹L which ©Î type ¨Ó§ä´M§a¡I


  • which (´M§ä¡y°õ¦æÀÉ¡z)
[root@www ~]# which [-a] command
¿ï¶µ©Î°Ñ¼Æ¡G
-a ¡G±N©Ò¦³¥Ñ PATH ¥Ø¿ý¤¤¥i¥H§ä¨ìªº«ü¥O§¡¦C¥X¡A¦Ó¤£¤î²Ä¤@­Ó³Q§ä¨ìªº«ü¥O¦WºÙ

½d¨Ò¤@¡G¤À§O¥Îroot»P¤@¯ë±b¸¹·j´M ifconfig ³o­Ó«ü¥Oªº§¹¾ãÀɦW
[root@www ~]# which ifconfig
/sbin/ifconfig            <==¥Î root ¥i¥H§ä¨ì¥¿½Tªº°õ¦æÀɦW³á¡I
[root@www ~]# su - vbird <==¤Á´«¨­¥÷¦¨¬° vbird ¥h¡I
[vbird@www ~]$ which ifconfig
/usr/bin/which: no ifconfig in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
:/home/vbird/bin)         <==¨£°­¤F¡I³ºµM¤@¯ë¨­¥÷±b¸¹§ä¤£¨ì¡I
# ¦]¬° which ¬O®Ú¾Ú¨Ï¥ÎªÌ©Ò³]©wªº PATH ÅܼƤºªº¥Ø¿ý¥h·j´M¥i°õ¦æÀɪº¡I©Ò¥H¡A
# ¤£¦Pªº PATH ³]©w¤º®e©Ò§ä¨ìªº«ü¥O·íµM¤£¤@¼Ë°Õ¡I¦]¬° /sbin ¤£¦b vbird ªº 
# PATH ¤¤¡A§ä¤£¨ì¤]¬O²z©Ò·íµMªº°Ú¡IÁA¥G¡H
[vbird@www ~]$ exit      <==°O±o±N¨­¥÷¤Á´«¦^­ì¥»ªº root

½d¨Ò¤G¡G¥Î which ¥h§ä¥X which ªºÀɦW¬°¦ó¡H
[root@www ~]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot '
        /usr/bin/which
# ³ºµM·|¦³¨â­Ó which ¡A¨ä¤¤¤@­Ó¬O alias ³oª±·N¨à©O¡I¨º¬OÔ£¡H
# ¨º´N¬O©Ò¿×ªº¡y©R¥O§O¦W¡z¡A·N«ä¬O¿é¤J which ·|µ¥©ó«á­±±µªº¨º¦ê«ü¥O°Õ¡I
# §ó¦hªº¸ê®Æ§Ú­Ì·|¦b bash ³¹¸`¤¤¦A¨Ó½Íªº¡I

½d¨Ò¤T¡G½Ð§ä¥X cd ³o­Ó«ü¥Oªº§¹¾ãÀɦW
[root@www ~]# which cd
/usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin
:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
# ½M±K¡H«ç»ò¥i¯à¨S¦³ cd ¡A§Ú©ú©ú´N¯à°÷¥Î root °õ¦æ cd ªº°Ú¡I

³o­Ó«ü¥O¬O®Ú¾Ú¡yPATH¡z³o­ÓÀô¹ÒÅܼƩҳW½dªº¸ô®|¡A¥h·j´M¡y°õ¦æÀÉ¡zªºÀɦW¡ã ©Ò¥H¡A­«ÂI¬O§ä¥X¡y°õ¦æÀÉ¡z¦Ó¤w¡I¥B which «á­±±µªº¬O¡y§¹¾ãÀɦW¡z³á¡I­Y¥[¤W -a ¿ï¶µ¡A«h¥i¥H¦C¥X©Ò¦³ªº¥i¥H§ä¨ìªº¦P¦W°õ¦æÀÉ¡A¦Ó«D¶ÈÅã¥Ü²Ä¤@­Ó¦Ó¤w¡I

³Ì«á¤@­Ó½d¨Ò³Ì¦³½ì¡A«ç»ò cd ³o­Ó±`¥Îªº«ü¥O³ºµM§ä¤£¨ì°Ú¡I¬°¤°»ò©O¡H³o¬O¦]¬° cd ¬O¡ybash ¤º«Øªº«ü¥O¡z°Õ¡I ¦ý¬O which ¹w³]¬O§ä PATH ¤º©Ò³W½dªº¥Ø¿ý¡A©Ò¥H·íµM¤@©w§ä¤£¨ìªº°Ú¡I¨º«ç¿ì¡H¨SÃö«Y¡I§Ú­Ì¥i¥H³z¹L type ³o­Ó«ü¥O³á¡I Ãö©ó type ªº¥Îªk§Ú­Ì±N¦b bash ³¹¸`¤¤¦A¨Ó½Í¡I


¤p¼ÐÃDªº¹Ï¥ÜÀÉ®×ÀɦWªº·j´M¡G

¦A¨Ó½Í¤@½Í«ç»ò·j´MÀÉ®×§a¡I¦b Linux ©³¤U¤]¦³¬Û·íÀu²§ªº·j´M«ü¥OËç¡I³q±` find ¤£«Ü±`¥Îªº¡I¦]¬°³t«×ºC¤§¥~¡A ¤]«Ü¾ÞµwºÐ¡I³q±`§Ú­Ì³£¬O¥ý¨Ï¥Î whereis ©ÎªÌ¬O locate ¨ÓÀˬd¡A¦pªG¯uªº§ä¤£¨ì¤F¡A¤~¥H find ¨Ó·j´MËç¡I ¬°¤°»ò©O¡H¦]¬° whereis »P locate ¬O§Q¥Î¸ê®Æ®w¨Ó·j´M¸ê®Æ¡A©Ò¥H¬Û·íªº§Ö³t¡A¦Ó¥B¨Ã¨S¦³¹ê»Úªº·j´MµwºÐ¡A ¤ñ¸û¬Ù®É¶¡°Õ¡I


  • whereis (´M§ä¯S©wÀÉ®×)
[root@www ~]# whereis [-bmsu] ÀɮשΥؿý¦W
¿ï¶µ»P°Ñ¼Æ¡G
-b    :¥u§ä binary ®æ¦¡ªºÀÉ®×
-m    :¥u§ä¦b»¡©úÀÉ manual ¸ô®|¤UªºÀÉ®×
-s    :¥u§ä source ¨Ó·½ÀÉ®×
-u    :·j´M¤£¦b¤W­z¤T­Ó¶µ¥Ø·í¤¤ªº¨ä¥L¯S®íÀÉ®×

½d¨Ò¤@¡G½Ð¥Î¤£¦Pªº¨­¥÷§ä¥X ifconfig ³o­ÓÀɦW
[root@www ~]# whereis ifconfig 
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[root@www ~]# su - vbird        <==¤Á´«¨­¥÷¦¨¬° vbird
[vbird@www ~]$ whereis ifconfig <==§ä¨ì¦P¼Ëªºµ²ªG³á¡I
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[vbird@www ~]$ exit              <==¦^Âk¨­¥÷¦¨¬° root ¥h¡I
# ª`·N¬Ý¡A©ú©ú which ¤@¯ë¨Ï¥ÎªÌ§ä¤£¨ìªº ifconfig «o¥i¥HÅý whereis §ä¨ì¡I
# ³o¬O¦]¬°¨t²Î¯uªº¦³ ifconfig ³o­Ó¡yÀɮסz¡A¦ý¬O¨Ï¥ÎªÌªº PATH ¨Ã¨S¦³¥[¤J /sbin
# ©Ò¥H¡A¥¼¨Ó§A§ä¤£¨ì¬Y¨Ç«ü¥O®É¡A¥ý¥ÎÀÉ®×·j´M«ü¥O§ä§ä¬Ý¦A»¡¡I

½d¨Ò¤G¡G¥u§ä¥X¸ò passwd ¦³Ãöªº¡y»¡©ú¤å¥ó¡zÀɦW(man page)
[root@www ~]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

µ¥¤@¤U§Ú­Ì·|´£¨ì find ³o­Ó·j´M«ü¥O¡A find ¬O«Ü±j¤jªº·j´M«ü¥O¡A¦ý®É¶¡ªá¥Îªº«Ü¤j¡I (¦]¬° find ¬Oª½±µ·j´MµwºÐ¡A¬°¦pªG§AªºµwºÐ¤ñ¸û¦Ñªº¸Ü¡A¼K¼K¡I¦³ªºµ¥¡I) ³o­Ó®É­Ô whereis ´N¬Û·íªº¦n¥Î¤F¡I¥t¥~¡A whereis ¥i¥H¥[¤J¿ï¶µ¨Ó§ä´M¬ÛÃöªº¸ê®Æ¡A ¨Ò¦p¦pªG§A¬O­n§ä¥i°õ¦æÀÉ( binary )¨º»ò¥[¤W -b ´N¥i¥H°Õ¡I ¦pªG¤£¥[¥ô¦ó¿ï¶µªº¸Ü¡A¨º»ò´N±N©Ò¦³ªº¸ê®Æ¦C¥X¨ÓÅo¡I

¨º»ò whereis ¨ì©³¬O¨Ï¥Î¤°»ò©N©N©O¡H¬°¦ó·j´Mªº³t«×·|¤ñ find §Ö³o»ò¦h¡H ¨ä¹ê¨º¤]¨S¦³¤°»ò¡I³o¬O¦]¬° Linux ¨t²Î·|±N¨t²Î¤ºªº©Ò¦³Àɮ׳£°O¿ý¦b¤@­Ó¸ê®Æ®wÀɮ׸̭±¡A ¦Ó·í¨Ï¥Î whereis ©ÎªÌ¬O©³¤U­n»¡ªº locate ®É¡A³£·|¥H¦¹¸ê®Æ®wÀɮתº¤º®e¬°·Ç¡A ¦]¦¹¡A¦³ªº®É«á§AÁÙ·|µo²{¨Ï¥Î³o¨â­Ó°õ¦æÀɮɡA·|§ä¨ì¤w¸g³Q±þ±¼ªºÀɮסI ¦Ó¥B¤]§ä¤£¨ì³Ì·sªº­è­è«Ø¥ßªºÀɮשO¡I³o´N¬O¦]¬°³o¨â­Ó«ü¥O¬O¥Ñ¸ê®Æ®w·í¤¤ªºµ²ªG¥h·j´MÀɮתº©Ò¦b°Ú¡I §ó¦h»P³o­Ó¸ê®Æ®w¦³Ãöªº»¡©ú¡A½Ð°Ñ¦Ò¤U¦Cªº locate «ü¥O¡C


  • locate
[root@www ~]# locate [-ir] keyword
¿ï¶µ»P°Ñ¼Æ¡G
-i  ¡G©¿²¤¤j¤p¼gªº®t²§¡F
-r  ¡G«á­±¥i±µ¥¿³Wªí¥ÜªkªºÅã¥Ü¤è¦¡

½d¨Ò¤@¡G§ä¥X¨t²Î¤¤©Ò¦³»P passwd ¬ÛÃöªºÀɦW
[root@www ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/news/passwd.nntp
/etc/pam.d/passwd
....(©³¤U¬Ù²¤)....

³o­Ó locate ªº¨Ï¥Î§ó²³æ¡Aª½±µ¦b«á­±¿é¤J¡yÀɮתº³¡¤À¦WºÙ¡z«á¡A´N¯à°÷±o¨ìµ²ªG¡C Á|¤W­±ªº¨Ò¤l¨Ó»¡¡A§Ú¿é¤J locate passwd ¡A¨º»ò¦b§¹¾ãÀɦW (¥]§t¸ô®|¦WºÙ) ·í¤¤¡A¥u­n¦³ passwd ¦b¨ä¤¤¡A ´N·|³QÅã¥Ü¥X¨Óªº¡I³o¤]¬O­Ó«Ü¤è«K¦n¥Îªº«ü¥O¡A¦pªG§A§Ñ°O¬Y­ÓÀɮתº§¹¾ãÀɦW®É¡ã¡ã

¦ý¬O¡A³o­ÓªF¦èÁÙ¬O¦³¨Ï¥Î¤Wªº­­¨îËç¡I¬°¤°»ò©O¡H§A·|µo²{¨Ï¥Î locate ¨Ó´M§ä¸ê®Æªº®É­Ô¯S§Oªº§Ö¡A ³o¬O¦]¬° locate ´M§äªº¸ê®Æ¬O¥Ñ¡y¤w«Ø¥ßªº¸ê®Æ®w /var/lib/mlocate/¡z ¸Ì­±ªº¸ê®Æ©Ò·j´M¨ìªº¡A©Ò¥H¤£¥Îª½±µ¦b¥hµwºÐ·í¤¤¦s¨ú¸ê®Æ¡A¨þ¨þ¡I·íµM¬O«Ü§Ö³tÅo¡I

¨º»ò¦³¤°»ò­­¨î©O¡H´N¬O¦]¬°¥L¬O¸g¥Ñ¸ê®Æ®w¨Ó·j´Mªº¡A¦Ó¸ê®Æ®wªº«Ø¥ß¹w³]¬O¦b¨C¤Ñ°õ¦æ¤@¦¸ (¨C­Ó distribution ³£¤£¦P¡ACentOS 5.x ¬O¨C¤Ñ§ó·s¸ê®Æ®w¤@¦¸¡I)¡A©Ò¥H·í§A·s«Ø¥ß°_¨ÓªºÀɮסA «oÁÙ¦b¸ê®Æ®w§ó·s¤§«e·j´M¸ÓÀɮסA¨º»ò locate ·|§i¶D§A¡y§ä¤£¨ì¡I¡z¨þ¨þ¡I¦]¬°¥²¶·­n§ó·s¸ê®Æ®w§r¡I

¨º¯à§_¤â°Ê§ó·s¸ê®Æ®w­þ¡H·íµM¥i¥H°Ú¡I§ó·s locate ¸ê®Æ®wªº¤èªk«D±`²³æ¡Aª½±µ¿é¤J¡y updatedb ¡z´N¥i¥H¤F¡I updatedb «ü¥O·|¥hŪ¨ú /etc/updatedb.conf ³o­Ó³]©wÀɪº³]©w¡AµM«á¦A¥hµwºÐ¸Ì­±¶i¦æ·j´MÀɦWªº°Ê§@¡A ³Ì«á´N§ó·s¾ã­Ó¸ê®Æ®wÀÉ®×Åo¡I¦]¬° updatedb ·|¥h·j´MµwºÐ¡A©Ò¥H·í§A°õ¦æ updatedb ®É¡A¥i¯à·|µ¥«Ý¼Æ¤ÀÄÁªº®É¶¡³á¡I

  • updatedb¡G®Ú¾Ú /etc/updatedb.conf ªº³]©w¥h·j´M¨t²ÎµwºÐ¤ºªºÀɦW¡A¨Ã§ó·s /var/lib/mlocate ¤ºªº¸ê®Æ®wÀɮסF
  • locate¡G¨Ì¾Ú /var/lib/mlocate ¤ºªº¸ê®Æ®w°O¸ü¡A§ä¥X¨Ï¥ÎªÌ¿é¤JªºÃöÁä¦rÀɦW¡C

  • find
[root@www ~]# find [PATH] [option] [action]
¿ï¶µ»P°Ñ¼Æ¡G
1. »P®É¶¡¦³Ãöªº¿ï¶µ¡G¦@¦³ -atime, -ctime »P -mtime ¡A¥H -mtime »¡©ú
   -mtime  n ¡Gn ¬°¼Æ¦r¡A·N¸q¬°¦b n ¤Ñ¤§«eªº¡y¤@¤Ñ¤§¤º¡z³Q§ó°Ê¹L¤º®eªºÀɮסF
   -mtime +n ¡G¦C¥X¦b n ¤Ñ¤§«e(¤£§t n ¤Ñ¥»¨­)³Q§ó°Ê¹L¤º®eªºÀÉ®×ÀɦW¡F
   -mtime -n ¡G¦C¥X¦b n ¤Ñ¤§¤º(§t n ¤Ñ¥»¨­)³Q§ó°Ê¹L¤º®eªºÀÉ®×ÀɦW¡C
   -newer file ¡Gfile ¬°¤@­Ó¦s¦bªºÀɮסA¦C¥X¤ñ file ÁÙ­n·sªºÀÉ®×ÀɦW

½d¨Ò¤@¡G±N¹L¥h¨t²Î¤W­± 24 ¤p®É¤º¦³§ó°Ê¹L¤º®e (mtime) ªºÀɮצC¥X
[root@www ~]# find / -mtime 0
# ¨º­Ó 0 ¬O­«ÂI¡I0 ¥Nªí¥Ø«eªº®É¶¡¡A©Ò¥H¡A±q²{¦b¶}©l¨ì 24 ¤p®É«e¡A
# ¦³ÅܰʹL¤º®eªºÀɮ׳£·|³Q¦C¥X¨Ó¡I¨º¦pªG¬O¤T¤Ñ«eªº 24 ¤p®É¤º¡H
# find / -mtime 3 ¦³ÅܰʹLªºÀɮ׳£³Q¦C¥Xªº·N«ä¡I

½d¨Ò¤G¡G´M§ä /etc ©³¤UªºÀɮסA¦pªGÀɮפé´Á¤ñ /etc/passwd ·s´N¦C¥X
[root@www ~]# find /etc -newer /etc/passwd
# -newer ¥Î¦b¤À¿ë¨â­ÓÀɮפ§¶¡ªº·sÂÂÃö«Y¬O«Ü¦³¥Îªº¡I

®É¶¡°Ñ¼Æ¯u¬O®¼¦³·N«äªº¡I§Ú­Ì²{¦bª¾¹D atime, ctime »P mtime ªº·N¸q¡A¦pªG§A·Q­n§ä¥X¤@¤Ñ¤º³Q§ó°Ê¹LªºÀɮצWºÙ¡A ¥i¥H¨Ï¥Î¤W­z½d¨Ò¤@ªº§@ªk¡C¦ý¦pªG§Ú·Q­n§ä¥X¡y4¤Ñ¤º³Q§ó°Ê¹LªºÀÉ®×ÀɦW¡z©O¡H¨º¥i¥H¨Ï¥Î¡y find /var -mtime -4 ¡z¡C¨º¦pªG¬O¡y4¤Ñ«eªº¨º¤@¤Ñ¡z´N¥Î¡y find /var -mtime 4 ¡z¡C¦³¨S¦³¥[¤W¡y+, -¡z®t§O«Ü¤j³á¡I§Ú­Ì¥i¥H¥Î²³æªº¹Ï¥Ü¨Ó»¡©ú¤@¤U¡G

find ¬ÛÃöªº®É¶¡°Ñ¼Æ·N¸q
¹Ï5.2.1¡Bfind ¬ÛÃöªº®É¶¡°Ñ¼Æ·N¸q

¹Ï¤¤³Ì¥kÃ䬰¥Ø«eªº®É¶¡¡A¶V©¹¥ªÃä«h¥Nªí¶V¦­¤§«eªº®É¶¡¶b°Õ¡C¥Ñ¹Ï5.2.1§Ú­Ì¥i¥H²M·¡ªºª¾¹D¡G

  • +4¥Nªí¤j©óµ¥©ó5¤Ñ«eªºÀɦW¡Gex> find /var -mtime +4
  • -4¥Nªí¤p©óµ¥©ó4¤Ñ¤ºªºÀÉ®×ÀɦW¡Gex> find /var -mtime -4
  • 4«h¬O¥Nªí4-5¨º¤@¤ÑªºÀÉ®×ÀɦW¡Gex> find /var -mtime 4

«D±`¦³½ì§a¡I§A¥i¥H¦b /var/ ¥Ø¿ý¤U·j´M¤@¤U¡A·P¨ü¤@¤U¿é¥XÀɮתº®t²§³á¡I¦A¨Ó¬Ý¬Ý¨ä¥L find ªº¥Îªk§a¡I

¿ï¶µ»P°Ñ¼Æ¡G
2. »P¨Ï¥ÎªÌ©Î¸s²Õ¦WºÙ¦³Ãöªº°Ñ¼Æ¡G
   -uid n ¡Gn ¬°¼Æ¦r¡A³o­Ó¼Æ¦r¬O¨Ï¥ÎªÌªº±b¸¹ ID¡A¥ç§Y UID ¡A³o­Ó UID ¬O°O¿ý¦b
            /etc/passwd ¸Ì­±»P±b¸¹¦WºÙ¹ïÀ³ªº¼Æ¦r¡C³o¤è­±§Ú­Ì·|¦b²Ä¥|½g¤¶²Ð¡C
   -gid n ¡Gn ¬°¼Æ¦r¡A³o­Ó¼Æ¦r¬O¸s²Õ¦WºÙªº ID¡A¥ç§Y GID¡A³o­Ó GID °O¿ý¦b
            /etc/group¡A¬ÛÃöªº¤¶²Ð§Ú­Ì·|²Ä¥|½g»¡©ú¡ã
   -user name ¡Gname ¬°¨Ï¥ÎªÌ±b¸¹¦WºÙ³á¡I¨Ò¦p dmtsai 
   -group name¡Gname ¬°¸s²Õ¦WºÙ³á¡A¨Ò¦p users ¡F
   -nouser    ¡G´M§äÀɮתº¾Ö¦³ªÌ¤£¦s¦b /etc/passwd ªº¤H¡I
   -nogroup   ¡G´M§äÀɮתº¾Ö¦³¸s²Õ¤£¦s¦b©ó /etc/group ªºÀɮסI
                ·í§A¦Û¦æ¦w¸Ë³nÅé®É¡A«Ü¥i¯à¸Ó³nÅ骺ÄÝ©Ê·í¤¤¨Ã¨S¦³ÀÉ®×¾Ö¦³ªÌ¡A
                ³o¬O¥i¯àªº¡I¦b³o­Ó®É­Ô¡A´N¥i¥H¨Ï¥Î -nouser »P -nogroup ·j´M¡C

½d¨Ò¤T¡G·j´M /home ©³¤UÄÝ©ó vbird ªºÀÉ®×
[root@www ~]# find /home -user vbird
# ³o­ÓªF¦è¤]«Ü¦³¥Îªº¡ã·í§Ú­Ì­n§ä¥X¥ô¦ó¤@­Ó¨Ï¥ÎªÌ¦b¨t²Î·í¤¤ªº©Ò¦³Àɮ׮ɡA
# ´N¥i¥H§Q¥Î³o­Ó«ü¥O±NÄÝ©ó¬Y­Ó¨Ï¥ÎªÌªº©Ò¦³Àɮ׳£§ä¥X¨Ó³á¡I

½d¨Ò¥|¡G·j´M¨t²Î¤¤¤£ÄÝ©ó¥ô¦ó¤HªºÀÉ®×
[root@www ~]# find / -nouser
# ³z¹L³o­Ó«ü¥O¡A¥i¥H»´©öªº´N§ä¥X¨º¨Ç¤£¤Ó¥¿±`ªºÀɮסC
# ¦pªG¦³§ä¨ì¤£ÄÝ©ó¨t²Î¥ô¦ó¤HªºÀɮ׮ɡA¤£­n¤Óºò±i¡A
# ¨º¦³®É­Ô¬O¥¿±`ªº¡ã¤×¨ä¬O§A´¿¸g¥H­ì©l½X¦Û¦æ½sͳnÅé®É¡C

¦pªG§A·Q­n§ä¥X¬Y­Ó¨Ï¥ÎªÌ¦b¨t²Î©³¤U«Ø¥ß¤FÔ£©N©N¡A¨Ï¥Î¤W­zªº¿ï¶µ»P°Ñ¼Æ¡A´N¯à°÷§ä¥X¨Ó°Õ¡I ¦Ü©ó¨º­Ó -nouser ©Î -nogroup ªº¿ï¶µ¥\¯à¤¤¡A°£¤F§A¦Û¦æ¥Ñºô¸ô¤W­±¤U¸üÀɮ׮ɷ|µo¥Í¤§¥~¡A ¦pªG§A±N¨t²Î¸Ì­±¬Y­Ó±b¸¹§R°£¤F¡A¦ý¬O¸Ó±b¸¹¤w¸g¦b¨t²Î¤º«Ø¥ß«Ü¦hÀɮ׮ɡA´N¥i¯à·|µo¥ÍµL¥D©t»îªºÀɮצs¦b¡I ¦¹®É§A´N±o¨Ï¥Î³o­Ó -nouser ¨Ó§ä¥X¸ÓÃþ«¬ªºÀÉ®×Åo¡I

¿ï¶µ»P°Ñ¼Æ¡G
3. »PÀÉ®×Åv­­¤Î¦WºÙ¦³Ãöªº°Ñ¼Æ¡G
   -name filename¡G·j´MÀɮצWºÙ¬° filename ªºÀɮסF
   -size [+-]SIZE¡G·j´M¤ñ SIZE ÁÙ­n¤j(+)©Î¤p(-)ªºÀɮסC³o­Ó SIZE ªº³W®æ¦³¡G
                   c: ¥Nªí byte¡A k: ¥Nªí 1024bytes¡C©Ò¥H¡A­n§ä¤ñ 50KB
                   ÁÙ­n¤jªºÀɮסA´N¬O¡y -size +50k ¡z
   -type TYPE    ¡G·j´MÀɮתºÃþ«¬¬° TYPE ªº¡AÃþ«¬¥D­n¦³¡G¤@¯ë¥¿³WÀÉ®× (f),
                   ¸Ë¸mÀÉ®× (b, c), ¥Ø¿ý (d), ³sµ²ÀÉ (l), socket (s), 
                   ¤Î FIFO (p) µ¥ÄݩʡC
   -perm mode  ¡G·j´MÀÉ®×Åv­­¡y­è¦nµ¥©ó¡z mode ªºÀɮסA³o­Ó mode ¬°Ãþ¦ü chmod
                 ªºÄݩʭȡAÁ|¨Ò¨Ó»¡¡A -rwsr-xr-x ªºÄݩʬ° 4755 ¡I
   -perm -mode ¡G·j´MÀÉ®×Åv­­¡y¥²¶·­n¥þ³¡Ån¬A mode ªºÅv­­¡zªºÀɮסAÁ|¨Ò¨Ó»¡¡A
                 §Ú­Ì­n·j´M -rwxr--r-- ¡A¥ç§Y 0744 ªºÀɮסA¨Ï¥Î -perm -0744¡A
                 ·í¤@­ÓÀɮתºÅv­­¬° -rwsr-xr-x ¡A¥ç§Y 4755 ®É¡A¤]·|³Q¦C¥X¨Ó¡A
                 ¦]¬° -rwsr-xr-x ªºÄݩʤw¸gÅn¬A¤F -rwxr--r-- ªºÄݩʤF¡C
   -perm +mode ¡G·j´MÀÉ®×Åv­­¡y¥]§t¥ô¤@ mode ªºÅv­­¡zªºÀɮסAÁ|¨Ò¨Ó»¡¡A§Ú­Ì·j´M
                 -rwxr-xr-x ¡A¥ç§Y -perm +755 ®É¡A¦ý¤@­ÓÀÉ®×Äݩʬ° -rw-------
                 ¤]·|³Q¦C¥X¨Ó¡A¦]¬°¥L¦³ -rw.... ªºÄݩʦs¦b¡I

½d¨Ò¤­¡G§ä¥XÀɦW¬° passwd ³o­ÓÀÉ®×
[root@www ~]# find / -name passwd
# §Q¥Î³o­Ó -name ¥i¥H·j´MÀɦW°Ú¡I

½d¨Ò¤»¡G§ä¥X /var ¥Ø¿ý¤U¡AÀÉ®×Ãþ«¬¬° Socket ªºÀɦW¦³­þ¨Ç¡H
[root@www ~]# find /var -type s
# ³o­Ó -type ªºÄݩʤ]«Ü¦³À°§U³á¡I¤×¨ä¬O­n§ä¥X¨º¨Ç©Ç²§ªºÀɮסA
# ¨Ò¦p socket »P FIFO ÀɮסA¥i¥H¥Î find /var -type p ©Î -type s ¨Ó§ä¡I

½d¨Ò¤C¡G·j´MÀÉ®×·í¤¤§t¦³ SGID ©Î SUID ©Î SBIT ªºÄÝ©Ê
[root@www ~]# find / -perm +7000 
# ©Ò¿×ªº 7000 ´N¬O ---s--s--t ¡A¨º»ò¥u­n§t¦³ s ©Î t ªº´N¦C¥X¡A
# ©Ò¥H·íµM­n¨Ï¥Î +7000 ¡A¨Ï¥Î -7000 ªí¥Ü­n§t¦³ ---s--s--t ªº©Ò¦³¤T­ÓÅv­­¡A
# ¦]¦¹¡A´N¬O +7000 ¡ãÁA¥G¡H

¤W­z½d¨Ò¤¤¤ñ¸û¦³½ìªº´NÄÝ -perm ³o­Ó¿ï¶µ°Õ¡I¥Lªº­«ÂI¦b§ä¥X¯S®íÅv­­ªºÀÉ®×Åo¡I §Ú­Ìª¾¹D SUID »P SGID ³£¥i¥H³]©w¦b¤G¶i¦ìµ{¦¡¤W¡A°²³]§Ú·Q­n§ä¥X¨Ó /bin, /sbin ³o¨â­Ó¥Ø¿ý¤U¡A ¥u­n¨ã¦³ SUID ©Î SGID ´N¦C¥X¨Ó¸ÓÀɮסA§A¥i¥H³o¼Ë°µ¡G

[root@www ~]# find /bin /sbin -perm +6000

¦]¬° SUID ¬O 4 ¤À¡ASGID 2 ¤À¡AÁ`¦@¬° 6 ¤À¡A¦]¦¹¥i¥Î +6000 ¨Ó³B²z³o­ÓÅv­­¡I ¦Ü©ó find «á­±¥i¥H±µ¦h­Ó¥Ø¿ý¨Ó¶i¦æ·j´M¡I¥t¥~¡A find ¥»¨Ó´N·|·j´M¦¸¥Ø¿ý¡A³o­Ó¯S¦â¤]­n¯S§Oª`·N³á¡I ³Ì«á¡A§Ú­Ì¦A¨Ó¬Ý¤@¤U find ÁÙ¦³¤°»ò¯S®í¥\¯à§a¡I

¿ï¶µ»P°Ñ¼Æ¡G
4. ÃB¥~¥i¶i¦æªº°Ê§@¡G
   -exec command ¡Gcommand ¬°¨ä¥L«ü¥O¡A-exec «á­±¥i¦A±µÃB¥~ªº«ü¥O¨Ó³B²z·j´M¨ì
                   ªºµ²ªG¡C
   -print        ¡G±Nµ²ªG¦C¦L¨ì¿Ã¹õ¤W¡A³o­Ó°Ê§@¬O¹w³]°Ê§@¡I

½d¨Ò¤K¡G±N¤W­Ó½d¨Ò§ä¨ìªºÀɮרϥΠls -l ¦C¥X¨Ó¡ã
[root@www ~]# find / -perm +7000 -exec ls -l {} \;
# ª`·N¨ì¡A¨º­Ó -exec «á­±ªº ls -l ´N¬OÃB¥~ªº«ü¥O¡A«ü¥O¤£¤ä´©©R¥O§O¦W¡A
# ©Ò¥H¶È¯à¨Ï¥Î ls -l ¤£¥i¥H¨Ï¥Î ll ³á¡Iª`·Nª`·N¡I

½d¨Ò¤E¡G§ä¥X¨t²Î¤¤¡A¤j©ó 1MB ªºÀÉ®×
[root@www ~]# find / -size +1000k
# ÁöµM¦b man page ´£¨ì¥i¥H¨Ï¥Î M »P G ¤À§O¥Nªí MB »P GB¡A
# ¤£¹L¡A­Í«o¸Õ¤£¥X¨Ó³o­Ó¥\¯à¡ã©Ò¥H¡A¥Ø«eÀ³¸Ó¬O¶È¤ä´©¨ì c »P k §a¡I

find ªº¯S®í¥\¯à´N¬O¯à°÷¶i¦æÃB¥~ªº°Ê§@(action)¡C§Ú­Ì±N½d¨Ò¤Kªº¨Ò¤l¥H¹Ï¸Ñ¨Ó»¡©ú¦p¤U¡G

find ¬ÛÃöªºÃB¥~°Ê§@
¹Ï5.2.2¡Bfind ¬ÛÃöªºÃB¥~°Ê§@

¸Ó½d¨Ò¤¤¯S®íªº¦a¤è¦³ {} ¥H¤Î \; ÁÙ¦³ -exec ³o­ÓÃöÁä¦r¡A³o¨ÇªF¦èªº·N¸q¬°¡G

  • {} ¥Nªíªº¬O¡y¥Ñ find §ä¨ìªº¤º®e¡z¡A¦p¤W¹Ï©Ò¥Ü¡Afind ªºµ²ªG·|³Q©ñ¸m¨ì {} ¦ì¸m¤¤¡F
  • -exec ¤@ª½¨ì \; ¬OÃöÁä¦r¡A¥Nªí find ÃB¥~°Ê§@ªº¶}©l (-exec) ¨ìµ²§ô (\;) ¡A¦b³o¤¤¶¡ªº´N¬O find «ü¥O¤ºªºÃB¥~°Ê§@¡C ¦b¥»¨Ò¤¤´N¬O¡y ls -l {} ¡zÅo¡I
  • ¦]¬°¡y ; ¡z¦b bash Àô¹Ò¤U¬O¦³¯S®í·N¸qªº¡A¦]¦¹§Q¥Î¤Ï±×½u¨Ó¸õ²æ¡C

³z¹L¹Ï 5.2.2 §AÀ³¸Ó´N¤ñ¸û®e©öÁA¸Ñ -exec ¨ì \; ¤§¶¡ªº·N¸q¤F§a¡I

¦pªG§A­n§äªºÀɮ׬O¨ã¦³¯S®íÄݩʪº¡A¨Ò¦p SUID ¡BÀÉ®×¾Ö¦³ªÌ¡BÀɮפj¤pµ¥µ¥¡A ¨º»ò§Q¥Î locate ¬O¨S¦³¿ìªk¹F¦¨§Aªº·j´Mªº¡I¦¹®É find ´NÅ㪺«Ü­«­n°Õ¡I ¥t¥~¡Afind ÁÙ¥i¥H§Q¥Î¸U¥Î¦r¤¸¨Ó§ä´MÀɦW©O¡IÁ|¨Ò¨Ó»¡¡A§A·Q­n§ä¥X /etc ©³¤UÀɦW¥]§t httpd ªºÀɮסA ¨º»ò§A´N¥i¥H³o¼Ë°µ¡G

[root@www ~]# find /etc -name '*httpd*'

¤£¦ý¥i¥H«ü©w·j´Mªº¥Ø¿ý(³s¦P¦¸¥Ø¿ý)¡A¨Ã¥B¥i¥H§Q¥ÎÃB¥~ªº¿ï¶µ»P°Ñ¼Æ¨Ó§ä¨ì³Ì¥¿½TªºÀɦW¡I¯u¬O¦n¦n¥Î¡I ¤£¹L¥Ñ©ó find ¦b´M§ä¸ê®Æªº®É«á¬Û·íªº¾ÞµwºÐ¡I©Ò¥H¨S¨Æ±¡¤£­n¨Ï¥Î find °Õ¡I¦³§ó´Îªº«ü¥O¥i¥H¨ú¥NËç¡I¨º´N¬O¤W­±´£¨ìªº whereis »P locate Åo¡I¡I


¤j¼ÐÃDªº¹Ï¥Ü·¥­«­n¡IÅv­­»P«ü¥O¶¡ªºÃö«Y¡G

§Ú­Ìª¾¹DÅv­­¹ï©ó¨Ï¥ÎªÌ±b¸¹¨Ó»¡¬O«D±`­«­nªº¡A¦]¬°¥L¥i¥H­­¨î¨Ï¥ÎªÌ¯à¤£¯àŪ¨ú/«Ø¥ß/§R°£/­×§ïÀɮשΥؿý¡I ¦b³o¤@³¹§Ú­Ì¤¶²Ð¤F«Ü¦hÀɮרt²ÎªººÞ²z«ü¥O¡A²Ä¤»³¹«h¤¶²Ð¤F«Ü¦hÀÉ®×Åv­­ªº·N¸q¡C¦b³o­Ó¤p¸`·í¤¤¡A §Ú­Ì´N±N³o¨âªÌµ²¦X°_¨Ó¡A»¡©ú¤@¤U¤°»ò«ü¥O¦b¤°»ò¼ËªºÅv­­¤U¤~¯à°÷¹B§@§a¡I^_^

¤@¡BÅý¨Ï¥ÎªÌ¯à¶i¤J¬Y¥Ø¿ý¦¨¬°¡y¥i¤u§@¥Ø¿ý¡zªº°ò¥»Åv­­¬°¦ó¡G

  • ¥i¨Ï¥Îªº«ü¥O¡G¨Ò¦p cd µ¥ÅÜ´«¤u§@¥Ø¿ýªº«ü¥O¡F
  • ¥Ø¿ý©Ò»ÝÅv­­¡G¨Ï¥ÎªÌ¹ï³o­Ó¥Ø¿ý¦Ü¤Ö»Ý­n¨ã¦³ x ªºÅv­­
  • ÃB¥~»Ý¨D¡G¦pªG¨Ï¥ÎªÌ·Q­n¦b³o­Ó¥Ø¿ý¤º§Q¥Î ls ¬d¾\ÀɦW¡A«h¨Ï¥ÎªÌ¹ï¦¹¥Ø¿ýÁٻݭn r ªºÅv­­¡C

¤G¡B¨Ï¥ÎªÌ¦b¬Y­Ó¥Ø¿ý¤ºÅª¨ú¤@­ÓÀɮתº°ò¥»Åv­­¬°¦ó¡H

  • ¥i¨Ï¥Îªº«ü¥O¡G¨Ò¦p¥»³¹½Í¨ìªº cat, more, lessµ¥µ¥
  • ¥Ø¿ý©Ò»ÝÅv­­¡G¨Ï¥ÎªÌ¹ï³o­Ó¥Ø¿ý¦Ü¤Ö»Ý­n¨ã¦³ x Åv­­¡F
  • ÀɮשһÝÅv­­¡G¨Ï¥ÎªÌ¹ïÀɮצܤֻݭn¨ã¦³ r ªºÅv­­¤~¦æ¡I

¤T¡BÅý¨Ï¥ÎªÌ¥i¥H­×§ï¤@­ÓÀɮתº°ò¥»Åv­­¬°¦ó¡H

  • ¥i¨Ï¥Îªº«ü¥O¡G¨Ò¦p nano ©Î¥¼¨Ó­n¤¶²Ðªº vi ½s¿è¾¹µ¥¡F
  • ¥Ø¿ý©Ò»ÝÅv­­¡G¨Ï¥ÎªÌ¦b¸ÓÀɮשҦbªº¥Ø¿ý¦Ü¤Ö­n¦³ x Åv­­¡F
  • ÀɮשһÝÅv­­¡G¨Ï¥ÎªÌ¹ï¸ÓÀɮצܤ֭n¦³ r, w Åv­­

¥|¡BÅý¤@­Ó¨Ï¥ÎªÌ¥i¥H«Ø¥ß¤@­ÓÀɮתº°ò¥»Åv­­¬°¦ó¡H

  • ¥Ø¿ý©Ò»ÝÅv­­¡G¨Ï¥ÎªÌ¦b¸Ó¥Ø¿ý­n¨ã¦³ w,x ªºÅv­­¡A­«ÂI¦b w °Õ¡I

¤­¡BÅý¨Ï¥ÎªÌ¶i¤J¬Y¥Ø¿ý¨Ã°õ¦æ¸Ó¥Ø¿ý¤Uªº¬Y­Ó«ü¥O¤§°ò¥»Åv­­¬°¦ó¡H

  • ¥Ø¿ý©Ò»ÝÅv­­¡G¨Ï¥ÎªÌ¦b¸Ó¥Ø¿ý¦Ü¤Ö­n¦³ x ªºÅv­­¡F
  • ÀɮשһÝÅv­­¡G¨Ï¥ÎªÌ¦b¸ÓÀɮצܤֻݭn¦³ x ªºÅv­­
¨ÒÃD¡G
Åý¤@­Ó¨Ï¥ÎªÌ vbird ¯à°÷¶i¦æ¡ycp /dir1/file1 /dir2¡zªº«ü¥O®É¡A½Ð»¡©ú dir1, file1, dir2 ªº³Ì¤p©Ò»ÝÅv­­¬°¦ó¡H
榭G
°õ¦æ cp ®É¡A vbird ­n¡y¯à°÷Ū¨ú¨Ó·½ÀÉ¡A¨Ã¥B¼g¤J¥Ø¼ÐÀÉ¡I¡z©Ò¥HÀ³°Ñ¦Ò¤W­z²Ä¤GÂI»P²Ä¥|ÂIªº»¡©ú¡I ¦]¦¹¦UÀÉ®×/¥Ø¿ýªº³Ì¤pÅv­­À³¸Ó¬O¡G
  • dir1 ¡G¦Ü¤Ö»Ý­n¦³ x Åv­­¡F
  • file1¡G¦Ü¤Ö»Ý­n¦³ r Åv­­¡F
  • dir2 ¡G¦Ü¤Ö»Ý­n¦³ w, x Åv­­¡C

¨ÒÃD¡G
¦³¤@­ÓÀÉ®×¥þ¦W¬° /home/student/www/index.html ¡A¦U¬ÛÃöÀÉ®×/¥Ø¿ýªºÅv­­¦p¤U¡G
drwxr-xr-x 23 root    root    4096 Sep 22 12:09 /
drwxr-xr-x  6 root    root    4096 Sep 29 02:21 /home
drwx------  6 student student 4096 Sep 29 02:23 /home/student
drwxr-xr-x  6 student student 4096 Sep 29 02:24 /home/student/www
-rwxr--r--  6 student student  369 Sep 29 02:27 /home/student/www/index.html
½Ð°Ý vbird ³o­Ó±b¸¹(¤£ÄÝ©óstudent¸s²Õ)¯à§_Ū¨ú index.html ³o­ÓÀɮשO¡H
榭G
ÁöµM www »P index.html ¬O¥i¥HÅý vbird Ū¨úªºÅv­­¡A¦ý¬O¦]¬°¥Ø¿ýµ²ºc¬O¥Ñ®Ú¥Ø¿ý¤@¼h¤@¼hŪ¨úªº¡A ¦]¦¹ vbird ¥i¶i¤J /home ¦ý¬O«o¤£¥i¶i¤J /home/student/ ¡A¬JµM³s¶i¤J /home/student ³£¤£³\¤F¡A ·íµM´NŪ¤£¨ì index.html ¤F¡I©Ò¥Hµª®×¬O¡yvbird¤£·|Ū¨ú¨ì index.html ªº¤º®e¡z³á¡I

¨º­n¦p¦ó­×§ïÅv­­©O¡H¨ä¹ê¥u­n±N /home/student ªºÅv­­­×§ï¬°³Ì¤p 711 ¡A©ÎªÌª½±µµ¹¤© 755 ´N¥i¥HÅo¡I ³o¥i¬O«Ü­«­nªº·§©À³á¡I

¤j¼ÐÃDªº¹Ï¥Ü­«ÂI¦^ÅU
  • µ´¹ï¸ô®|¡G¡y¤@©w¥Ñ®Ú¥Ø¿ý / ¼g°_¡z¡F¬Û¹ï¸ô®|¡G¡y¤£¬O¥Ñ / ¼g°_¡z
  • ¯S®í¥Ø¿ý¦³¡G., .., -, ~, ~account»Ý­nª`·N¡F
  • »P¥Ø¿ý¬ÛÃöªº«ü¥O¦³¡Gcd, mkdir, rmdir, pwd µ¥­«­n«ü¥O¡F
  • rmdir ¶È¯à§R°£ªÅ¥Ø¿ý¡A­n§R°£«DªÅ¥Ø¿ý»Ý¨Ï¥Î¡y rm -r ¡z«ü¥O¡F
  • ¨Ï¥ÎªÌ¯à¨Ï¥Îªº«ü¥O¬O¨Ì¾Ú PATH ÅܼƩҳW©wªº¥Ø¿ý¥h·j´Mªº¡F
  • ¤£¦Pªº¨­¥÷(root »P¤@¯ë¥Î¤á)¨t²Î¹w³]ªº PATH ¨Ã¤£¬Û¦P¡C®t²§¸û¤jªº¦a¤è¦b©ó /sbin, /usr/sbin ¡F
  • ls ¥i¥HÀ˵øÀɮתºÄݩʡA¤×¨ä -d, -a, -l µ¥¿ï¶µ¯S§O­«­n¡I
  • Àɮתº½Æ»s¡B§R°£¡B²¾°Ê¥i¥H¤À§O¨Ï¥Î¡Gcp, rm , mvµ¥«ü¥O¨Ó¾Þ§@¡F
  • ÀˬdÀɮתº¤º®e(ŪÀÉ)¥i¨Ï¥Îªº«ü¥O¥]¬A¦³¡Gcat, tac, nl, more, less, head, tail, od µ¥
  • cat -n »P nl §¡¥iÅã¥Ü¦æ¸¹¡A¦ý¹w³]ªº±¡ªp¤U¡AªÅ¥Õ¦æ·|¤£·|½s¸¹¨Ã¤£¬Û¦P¡F
  • touch ªº¥Øªº¦b­×§ïÀɮתº®É¶¡°Ñ¼Æ¡A¦ý¥ç¥i¥Î¨Ó«Ø¥ßªÅÀɮסF
  • ¤@­ÓÀÉ®×°O¿ýªº®É¶¡°Ñ¼Æ¦³¤TºØ¡A¤À§O¬O access time(atime), status time (ctime), modification time(mtime)¡Als ¹w³]Åã¥Üªº¬O mtime¡C
  • °£¤F¶Ç²ÎªºrwxÅv­­¤§¥~¡A¦bExt2/Ext3Àɮרt²Î¤¤¡AÁÙ¥i¥H¨Ï¥Îchattr»Plsattr³]©w¤ÎÆ[¹îÁôÂÃÄݩʡC ±`¨£ªº¥]¬A¥u¯à·s¼W¸ê®Æªº +a »P§¹¥þ¤£¯à§ó°ÊÀɮתº +i ÄݩʡC
  • ·s«ØÀÉ®×/¥Ø¿ý®É¡A·sÀɮתº¹w³]Åv­­¨Ï¥Î umask ¨Ó³W½d¡C¹w³]¥Ø¿ý§¹¥þÅv­­¬°drwxrwxrwx¡A Àɮ׫h¬°-rw-rw-rw-¡C
  • Àɮר㦳SUIDªº¯S®íÅv­­®É¡A¥Nªí·í¨Ï¥ÎªÌ°õ¦æ¦¹¤@binaryµ{¦¡®É¡A¦b°õ¦æ¹Lµ{¤¤¨Ï¥ÎªÌ·|¼È®É¨ã¦³µ{¦¡¾Ö¦³ªÌªºÅv­­
  • ¥Ø¿ý¨ã¦³SGIDªº¯S®íÅv­­®É¡A¥Nªí¨Ï¥ÎªÌ¦b³o­Ó¥Ø¿ý©³¤U·s«