¥Ñ²Ä¤»³¹LinuxªºÀÉ®×Åv»P¥Ø¿ý°t¸m¤¤³z¹LFHSÁA¸Ñ¤FLinuxªº¡y¾ðª¬¥Ø¿ý¡z·§©À¤§«á¡A
±µ¤U¨Ó´N±on¹ê»Úªº¨Ó·d©w¤@¨Ç°ò¥»ªº¸ô®|°ÝÃD¤F¡I³o¨Ç¥Ø¿ýªº°ÝÃD·í¤¤¡A³Ì«nªº²ö¹L©ó²Ä¤»³¹¤]½Í¹Lªº¡yµ´¹ï¸ô®|¡z»P¡y¬Û¹ï¸ô®|¡zªº·N¸q°Õ¡I
µ´¹ï/¬Û¹ï¸ô®|ªº¼gªk¨Ã¤£¬Û¦P¡An¯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µ´¹ï¸ô®|¡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 ^_^
¥Ø¿ýªº¬ÛÃö¾Þ§@¡G
§Ṳ́§«eµy·L´£¨ìÅÜ´«¥Ø¿ýªº«ü¥O¬Ocd¡AÁÙ¦³þ¨Ç¥i¥H¶i¦æ¥Ø¿ý¾Þ§@ªº«ü¥O©O¡H
¨Ò¦p«Ø¥ß¥Ø¿ý°Ú¡B§R°£¥Ø¿ý¤§Ãþªº¡ãÁÙ¦³¡A±on¥ýª¾¹Dªº¡A´N¬O¦³þ¨Ç¤ñ¸û¯S®íªº¥Ø¿ý©O¡H
Á|¨Ò¨Ó»¡¡A©³¤U³o¨Ç´N¬O¤ñ¸û¯S®íªº¥Ø¿ý¡A±on¥Î¤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°£¤@ӪŪº¥Ø¿ý
§Ú̪¾¹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ª½±µ«ü©wn¥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¨ì·Qn¥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´Nnª½±µ¿é¤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: ÁÙ¬On¤@¦A¦a´£¿ô¡A§Ú̪º Linux ªº¹w³]«ü¥O¦C¼Ò¦¡ (bash shell) ¨ã¦³Àɮ׸ɻô¥\¯à¡A
§An±`±`§Q¥Î [tab] «öÁä¨Ó¹F¦¨§Aªº¥Ø¿ý§¹¾ã©Ê°Ú¡I³o¥i¬OÓ¦n²ßºD°Ú¡ã
¥i¥HÁ×§K§A«ö¿ùÁä½L¿é¤J¿ù¦r»¡¡ã ^_^
|  |
[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·Qnª¾¹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¡ã ^_^
[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³on³z¹L©³¤U¤¶²Ðªº umask ¤~¯àÁA¸Ñ³á¡I ^_^
|
¦pªG·Qn«Ø¥ß·sªº¥Ø¿ýªº¸Ü¡A¨º»ò´N¨Ï¥Îmkdir (make directory)§a¡I ¤£¹L¡A¦b¹w³]ªº±¡ªp¤U¡A
§A©Ò»Ýnªº¥Ø¿ý±o¤@¼h¤@¼hªº«Ø¥ß¤~¦æ¡I¨Ò¦p¡G°²¦p§An«Ø¥ß¤@ӥؿý¬°
/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
[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°£¡ã
# ¤£¹Lnª`·Nªº¬O¡A³oÓ rmdir ¶È¯à¡y§R°£ªÅªº¥Ø¿ý¡z³á¡I
|
¦pªG·Qn§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ªGn±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
Ãö©ó°õ¦æÀɸô®|ªºÅܼơ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)Ynª½±µ¿é¤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·QnÅý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
½Í¤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¥Ø¿ýªºÀ˵ø¡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§ÚÁÙ·Qn¥[¤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¡ã
½Æ»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¨ÓÁ@¤@Á@¥ý¡ã
[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 ¡GY¨Ó·½Àɬ°³sµ²ÀɪºÄÝ©Ê(link file)¡A«h½Æ»s³sµ²ÀÉÄݩʦӫDÀÉ®×¥»¨¡F
-f ¡G¬°±j¨î(force)ªº·N«ä¡AY¥Ø¼ÐÀɮפw¸g¦s¦b¥BµLªk¶}±Ò¡A«h²¾°£«á¦A¹Á¸Õ¤@¦¸¡F
-i ¡GY¥Ø¼ÐÀÉ(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 ¡GY destination ¤ñ source ¤~§ó·s destination ¡I
³Ì«á»Ýnª`·Nªº¡A¦pªG¨Ó·½Àɦ³¨âÓ¥H¤W¡A«h³Ì«á¤@ӥتºÀɤ@©wn¬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 . <==·Qn½Æ»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©Ê¡Inª`·N³á¡IÁÙ¦³¡A³sÀɮ׫إߪº®É¶¡¤]¤£¤@¼Ë¤F¡I
# ¨º¦pªG§A·Qn±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·Qn½Æ»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¡An¥[¤W -r ªº¿ï¶µ
[root@www tmp]# cp -r /etc/ /tmp
# ÁÙ¬On¦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¨Ò¤¡GY ~/.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
# Yn½Æ»s³sµ²ÀɪºÄݩʡA´N±on¨Ï¥Î -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
[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§An¤@ª½«ö y ¤~·|§R°£¡I
# ¦pªG¤£·QnÄ~Äò«ö y ¡A¥i¥H«ö¤U¡y [ctrl]-c ¡z¨Óµ²§ô rm ªº¤u§@¡C
# ³o¬O¤@ºØ«OÅ@ªº°Ê§@¡A¦pªG½T©wn§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)¡Anª`·Nªº¬O¡A³q±`¦bLinux¨t²Î¤U¡A¬°¤F©ÈÀɮ׳Q»~±þ¡A©Ò¥H«Ü¦h
distributions ³£¤w¸g¹w³]¥[¤J -i ³oÓ¿ï¶µ¤F¡I¦Ó¦pªGn³s¥Ø¿ý¤UªºªF¦è³£¤@°_±þ±¼ªº¸Ü¡A
¨Ò¦p¤l¥Ø¿ý¸Ì±ÁÙ¦³¤l¥Ø¿ý®É¡A¨º´Nn¨Ï¥Î -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 ¡GY¥Ø¼ÐÀÉ®× (destination) ¤w¸g¦s¦b®É¡A´N·|¸ß°Ý¬O§_Âл\¡I
-u ¡GY¥Ø¼ÐÀɮפ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·í§An²¾°ÊÀɮשΥؿýªº®É«á¡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
¨ú±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
|
¦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
ª½±µÀ˵øÀɮפº®e
ª½±µ¬d¾\¤@ÓÀɮתº¤º®e¥i¥H¨Ï¥Î cat/tac/nl ³o´XÓ«ü¥O°Ú¡I
[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¤£·Qn½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Åé¬OnÅý±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
¥Dnªº¥\¯à¬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µ¥¤@¤Un¤¶²Ðªº more
©ÎªÌ¬O less ¨Ó°õ¦æ¤ñ¸û¦n¡I¦¹¥~¡A¦pªG¬O¤@¯ëªº DOS Àɮ׮ɡA´N»Ýn¯S§O¯d·N¤@¨Ç©_©_©Ç©Çªº²Å¸¹¤F¡A
¨Ò¦pÂ_¦æ»P [tab] µ¥¡AnÅã¥Ü¥X¨Ó¡A´N±o¥[¤J -A ¤§Ãþªº¿ï¶µ¤F¡I
[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
[root@www ~]# nl [-bnw] ÀÉ®×
¿ï¶µ»P°Ñ¼Æ¡G
-b ¡G«ü©w¦æ¸¹«ü©wªº¤è¦¡¡A¥Dn¦³¨âºØ¡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¥Dn¦³¤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©wn¥[¤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ªGnÅý¦æ¸¹«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·Qn§ï¦¨ 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
¥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¡ã
[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·Qn¦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¤£·Qn¬Ý¤F¡A´N«ö¤U q §Y¥iÂ÷¶} more °Õ¡I
[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 ^_^
¸ê®ÆÂ^¨ú
§ÚÌ¥i¥H±N¿é¥Xªº¸ê®Æ§@¤@ӳ̲³æªºÂ^¨ú¡A¨º´N¬O¨ú¥X«e± (head) »P¨ú¥X«á± (tail) ¤å¦rªº¥\¯à¡C
¤£¹L¡Anª`·Nªº¬O¡A head »P tail ³£¬O¥H¡y¦æ¡z¬°³æ¦ì¨Ó¶i¦æ¸ê®ÆÂ^¨úªº³á¡I
[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¦æ¡IYnÅã¥Ü«e 20 ¦æ¡A´N±on³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¼Ë¡IY¨S¦³¥[¤W -n ³oÓ¿ï¶µ®É¡A¹w³]¥uÅã¥Ü¤Q¦æ¡AY¥un¤@¦æ©O¡H¨º´N¥[¤J¡y
head -n 1 filename ¡z§Y¥i¡I
¥t¥~¨ºÓ -n ¿ï¶µ«á±ªº°Ñ¼Æ¸û¦³½ì¡A¦pªG±µªº¬Ot¼Æ¡A¨Ò¦p¤W±½d¨Òªº-n -100®É¡A¥Nªí¦C«eªº©Ò¦³¦æ¼Æ¡A
¦ý¤£¥]¬A«á±100¦æ¡CÁ|¨Ò¨Ó»¡¡A/etc/man.config¦@¦³141¦æ¡A«h¤Wzªº«ü¥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 ^_^
[root@www ~]# tail [-n number] ÀÉ®×
¿ï¶µ»P°Ñ¼Æ¡G
-n ¡G«á±±µ¼Æ¦r¡A¥NªíÅã¥Ü´X¦æªº·N«ä
-f ¡Gªí¥Ü«ùÄò°»´ú«á±©Ò±µªºÀɦW¡Anµ¥¨ì«ö¤U[ctrl]-c¤~·|µ²§ôtailªº°»´ú
[root@www ~]# tail /etc/man.config
# ¹w³]ªº±¡ªp¤¤¡AÅã¥Ü³Ì«áªº¤Q¦æ¡IYnÅã¥Ü³Ì«áªº 20 ¦æ¡A´N±on³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¦æ¡AYnÅã¥Ü«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·QnÅý¸ÓÀɮצ³¸ê®Æ¼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§Ú·QnÅã¥Ü /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
|
«D¯Â¤å¦rÀÉ¡G od
§Ṳ́W±´£¨ìªº¡A³£¬O¦b¬d¾\¯Â¤å¦rÀɪº¤º®e¡C
¨º»ò¸U¤@§ÚÌ·Qn¬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§@¤@Ó¤jPªº¿é¥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¤Wzªº½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
×§ïÀɮ׮ɶ¡©Î«Ø¸m·sÀÉ¡G touch
§Ú̦b ls ³oÓ«ü¥Oªº¤¶²Ð®É¡A¦³µy·L´£¨ì¨CÓÀɮצblinux©³¤U³£·|°O¿ý³\¦hªº®É¶¡°Ñ¼Æ¡A
¨ä¹ê¬O¦³¤TÓ¥DnªºÅܰʮɶ¡¡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¶È×§ïÀɮתº®É¶¡¡AY¸ÓÀɮפ£¦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ªº®É¶¡¡CY¸ÓÀɮפ£¦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·QnÅܧó³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¡Anª`·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ÁÙ¬On§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)
¥Ñ²Ä¤»³¹¡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±on¥ý²M·¡ªºÁA¸Ñ¨ì¤~¦æ¡ã§_«h´N¶i¦æ¤£¤U¥hÅo¡ã
°²³]§A¹ï©óÅv³£»{ÃѪº®t¤£¦h¤F¡A¨º»ò©³¤U§ÚÌ´Nn¨Ó½Í¤@½Í¡A¡y·s¼W¤@ÓÀɮשΥؿý®É¡A¹w³]ªºÅv¬O¤°»ò¡H¡z³oÓijÃD¡I
ÀÉ®×¹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ªGn®³±¼¯àŪªºÅ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¦]¬°§ĄâÓ¥¿¦b¶i¦æ¦P¤@Ó±MÃD¡A
¦Ñ®v¤]À°§ĄâÓªº±b¸¹«Ø¥ß¦n¤F¬Û¦P¸s²Õªºª¬ºA¡A¨Ã¥B±N /home/class/ ¥Ø¿ý°µ¬°§ĄâÓ¤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±on¬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¤è±on¯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
ÀÉ®×ÁôÂÃÄݩʡG
¤°»ò¡HÀÉ®×ÁÙ¦³ÁôÂÃÄݩʡH¥ú¬O¨º¤EÓÅv´N§ÖnºÆ±¼¤F¡A³ºµMÁÙ¦³ÁôÂÃÄݩʡA¯u¬On©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¤£¹Ln¥ý±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ÓÄݩʮɡAY§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¤FY¤z¤Ñ¤§«á¡A
§A¬ðµMn·s¼W¨Ï¥ÎªÌ¡A«o¤@ª½µLªk·s¼W¡I§OÃhºÃ¡A»°§Ö¥h±N i ªºÄݩʮ³±¼§a¡I
Àɮׯ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
·í 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ÂǥѤWzªº¥\¯à»¡©ú¡A§ÚÌ¥i¥Hª¾¹D
- vbird ¹ï©ó /usr/bin/passwd ³oÓµ{¦¡¨Ó»¡¬O¨ã¦³ x Åvªº¡Aªí¥Ü vbird ¯à°õ¦æ passwd¡F
- passwd ªº¾Ö¦³ªÌ¬O root ³oÓ±b¸¹¡F
- vbird °õ¦æ passwd ªº¹Lµ{¤¤¡A·|¡y¼È®É¡zÀò±o root ªºÅv¡F
- /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

¹Ï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±on¬Ý shell script ©I¥s¶i¨Óªºµ{¦¡ªº³]©w¡A
¦Ó¤£¬O shell script ¥»¨¡C·íµM¡ASUID ¹ï©ó¥Ø¿ý¤]¬OµL®Äªº¡ã³oÂIn¯S§O¯d·N¡C
·í 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±`ªºÃþ¦ü¡AY§Ú¨Ï¥Î 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
- ¥Î³~¡GY¨Ï¥ÎªÌ¦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^_^
³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
- ¥H root µn¤J¨t²Î¡A¨Ã¥B¶i¤J /tmp ·í¤¤¡F
- touch test¡A¨Ã¥B§ó§ï test Åv¦¨¬° 777 ¡F
- ¥H¤@¯ë¨Ï¥ÎªÌµn¤J¡A¨Ã¶i¤J /tmp¡F
- ¹Á¸Õ§R°£ test ³oÓÀɮסI
§ó¦hÃö©ó SUID/SGID/SBIT ªº¤¶²Ð¡A§ÚÌ·|¦b µ{§Ç»P¸ê·½ºÞ²z
¤¤¦A¦¸´£¤Îªº¡A¥Ø«e¡A§A¥ý¦³Ó²³æªº°ò¦·§©À´N¦n¤F¡I¤å¥½ªº°Ñ¦Ò¸ê®Æ¤]«ØÄ³¾\Ū¤@µf³á¡I
«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´Nn¯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 ^_^
Æ[¹îÀÉ®×Ãþ«¬¡Gfile
¦pªG§A·Qnª¾¹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´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±on§Q¥Î¤@¨Ç·j´M«ü¥O±N¸Ó³]©wÀɪº§¹¾ãÀɦW®»¥X¨Ó¡A³o¼Ë¤~¯à×§ï¹À¡I±z»¡¬O§a¡I^_^
«ü¥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
[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³á¡IY¥[¤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
ÀÉ®×Àɦ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
[root@www ~]# whereis [-bmsu] ÀɮשΥؿý¦W
¿ï¶µ»P°Ñ¼Æ¡G
-b :¥u§ä binary ®æ¦¡ªºÀÉ®×
-m :¥u§ä¦b»¡©úÀÉ manual ¸ô®|¤UªºÀÉ®×
-s :¥u§ä source ¨Ó·½ÀÉ®×
-u :·j´M¤£¦b¤Wz¤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¬On§ä¥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©³¤Un»¡ªº 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
[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¥un¦³ 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
[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·Qn§ä¥X¤@¤Ñ¤º³Q§ó°Ê¹LªºÀɮצWºÙ¡A
¥i¥H¨Ï¥Î¤Wz½d¨Ò¤@ªº§@ªk¡C¦ý¦pªG§Ú·Qn§ä¥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

¹Ï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·Qn§ä¥X¬YӨϥΪ̦b¨t²Î©³¤U«Ø¥ß¤FÔ£©N©N¡A¨Ï¥Î¤Wzªº¿ï¶µ»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¡An§ä¤ñ 50KB
ÁÙn¤jªºÀɮסA´N¬O¡y -size +50k ¡z
-type TYPE ¡G·j´MÀɮתºÃþ«¬¬° TYPE ªº¡AÃþ«¬¥Dn¦³¡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¤×¨ä¬On§ä¥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¨º»ò¥un§t¦³ s ©Î t ªº´N¦C¥X¡A
# ©Ò¥H·íµMn¨Ï¥Î +7000 ¡A¨Ï¥Î -7000 ªí¥Ün§t¦³ ---s--s--t ªº©Ò¦³¤TÓÅv¡A
# ¦]¦¹¡A´N¬O +7000 ¡ãÁA¥G¡H
|
¤Wz½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°²³]§Ú·Qn§ä¥X¨Ó /bin, /sbin ³o¨âӥؿý¤U¡A
¥un¨ã¦³ 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

¹Ï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§An§äªºÀɮ׬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·Qn§ä¥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
§Ú̪¾¹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¨Ï¥ÎªÌ·Qn¦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À³°Ñ¦Ò¤Wz²Ä¤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¨ä¹ê¥un±N /home/student ªºÅvקאּ³Ì¤p 711 ¡A©ÎªÌª½±µµ¹¤© 755 ´N¥i¥HÅo¡I
³o¥i¬O«Ü«nªº·§©À³á¡I
|