BBSˮľÇ廪վ¡Ã¾«»ªÇø

·¢ÐÅÈË: forest (ÇẮС¥~~С¼ªÆª), ÐÅÇø: Unix        
±ê  Ìâ: [×ªÔØ]unix»·¾³¸ß¼¶±à³Ì--µÚ4Õ ÎļþºÍĿ¼  (×ªÔØ) 
·¢ÐÅÕ¾: BBS Ë®Ä¾Ç廪վ (Fri Mar 17 17:50:09 2000) 
 
¡¾ ÒÔÏÂÎÄ×Ö×ªÔØ×Ô Linux ÌÖÂÛÇø ¡¿ 
¡¾ Ô­ÎÄÓÉ kxn Ëù·¢±í ¡¿ 
·¢ÐÅÈË: taosm (128+64-->cool), ÐÅÇø: unix  
 
±ê  Ìâ: unix»·¾³¸ß¼¶±à³Ì--µÚ4Õ ÎļþºÍĿ¼  
 
·¢ÐÅÕ¾: Î÷Ê®°ËBBS (Fri Mar 10 11:41:44 2000), ×ªÐÅ  
 
   
 
¡¼BFQ¡½µÚËÄÕ¡þÎļþºÍĿ¼ª¤  
 
4ª±1¡þÒýÑÔª¥  
 
ÔÚÉÏÒ»ÕÂÎÒÃÇ˵Ã÷ÁËÖ´ÐÐI/O²Ù×÷µÄ»ù±¾º¯Êý¡£ÆäÌÖÂÛÊÇÎ§ÈÆÆÕͨÎļþµÄI/O½øÐеĠ 
 
-´ò¿ª-  
 
Îļþ£¬¶Á»òдһ¸öÎļþ¡£±¾Õ½«¹Û²ìÎļþϵͳµÄÆäËüÌØÕ÷ºÍÎļþµÄÐÔÖÊ¡£ÎÒÃÇ´Ós  
 
tatº¯Êý¿ª  
 
ʼ£¬²¢Öð¸ö˵Ã÷stat½á¹¹µÄÿһ¸ö³ÉÔ±ÒÔÁ˽âÎļþµÄËùÓÐÊôÐÔ¡£Ôڴ˹ý³ÌÖУ¬ÎÒÃÇ  
 
µÄ˵Ã÷ÐÞ  
 
¸ÄÕâЩÊôÐԵĸ÷¸öº¯Êý(¸ü¸ÄÊôÖ÷£¬¸ü¸ÄÐí¿ÉÊýµÈ)¡£ÎÒÃÇÒ²½«¸üÏêϸµØ²ì¿´UnixÎÄ  
 
¼þϵͳµÄ  
 
½á¹¹ÒÔ¼°·ûºÅÁ¬½Ó¡£±¾Õ½áÊø²¿·Ö½éÉܶÔĿ¼½øÐвÙ×÷µÄ¸÷¸öº¯Êý£¬²¢ÇÒ¿ª·¢ÁËÒ»  
 
¸öÒÔ½µÐò  
 
±éÀúĿ¼²ã´Î½á¹¹µÄº¯Êý¡£ª¤  
 
4ª±2¡þstat,fstatÒÔ¼°lstatº¯Êýª¥  
 
±¾ÕµÄÌÖÂÛµÄÖÐÐÄÊÇÈý¸östatº¯ÊýÒÔ¼°ËüÃÇËù·µ»ØµÄÐÅÏ¢¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<sys/statª±h>ª¥  
 
int stat(const char *ª«pathnameª«,struct stat *ª«bufª«);ª¥  
 
int fstat(int ª«filedes,ª«struct stat *ª«bufª«);ª¥  
 
int lstat(const char *ª«pathname,ª«struct stat *ª«bufª«);ª¥  
 
Èý¸öº¯ÊýµÄ·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¥  
 
¸øÓèÒ»¸öpathname,statº¯Êý·µ»ØÒ»¸öÓë´ËÃüÃûÎļþÓйصÄÐÅÏ¢½á¹¹£¬fstatº¯Êý»ñ  
 
µÃÒÑÔڲ堠
 
Êö·ûfiledesÉÏ´ò¿ªµÄÎļþµÄÓйØÐÅÏ¢¡£lstatº¯ÊýÀàËÆÓÚstat,µ«Êǵ±ÃüÃûµÄÎļþ  
 
ÊÇÒ»¸ö·û  
 
ºÅÁ¬½Óʱ£¬lstat·µ»Ø¸Ã·ûºÅÁ¬½ÓµÄÓйØÐÅÏ¢£¬¶ø²»ÊÇÓɸ÷ûºÅÁ¬½ÓÒýÓõÄÎļþµÄ  
 
ÐÅÏ¢¡£(ÔÚ  
 
4ª±2)½ÚÖе±½µÐòÖÜÓÎĿ¼²ã´Î½á¹¹Ê±£¬ÎÒÃÇÐèÒªlstat¡£ÔÚ4ª±16½ÚÖеĽÏÏêϸµØ  
 
˵Ã÷·ûºÅ  
 
Á¬½Ó¡£)ª¥  
 
lstatº¯Êý²»ÊôÓÚPOSIX 1003ª±1-1990±ê×¼£¬µ«ºÜ¿ÉÄܼӵ½1003ª±1aÖС£SVR4ºÍ4ª±  
 
3+BSDÖ§  
 
³Ölstat¡£ª¥  
 
µÚ¶þ¸ö²ÎÊýÊǸöÖ¸Õ룬ËüÖ¸ÏòÒ»¸öÎÒÃÇÓ¦ÌṩµÄ½á¹¹¡£ÕâЩº¯ÊýÌîдÓÉbufÖ¸ÏòµÄ  
 
½á¹¹¡£¸Ã  
 
½á¹¹µÄʵ¼Ê¶¨Òå¿ÉÄÜËùʵʩ¶øÓÐËù²»Í¬£¬µ«Æä»ù±¾ÐÎʽÊÇ£ºª¤  
 
struct stat{ª¥  
 
mode ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½mode; /*ÎļþÀàÐͺͷ½Ê½(Ðí¿ÉÊý)*/ª¥  
 
ino ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½ino;/* i-½ÚµãºÅ(ÐòÁкÅ)*/ª¥  
 
dev ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½dev;/*É豸ºÅ(Îļþϵͳ)*/ª¥  
 
dev ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½rdev;/*ÌØÊâÎļþµÄÉ豸ºÅ*/ª¥  
 
nlink ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½nlink;/*Á¬½ÓÊý*/ª¥  
 
uid ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½uid;/*ÊôÖ÷µÄÓû§ID*/ª¥  
 
gid ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½gid;/*ÊôÖ÷µÄ×éID*/ª¥  
 
off ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½size;/*ÆÕͨÎļþµÄ×Ö½Ú³¤¶È*/ª¥  
 
time ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½atime;/*×îºó´æÈ¡Ê±¼ä*/ª¥  
 
time ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½mtime;/*×îºóÐ޸ĴæÈ¡Ê±¼ä*/ª¥  
 
time ¼£Ã£Ä££ª³£²¡½t st ¼£Ã£Ä££ª³£²¡½ctime;/*×îºóÎļþ״̬¸ü¸Äʱ¼ä*/ª¥  
 
long st ¼£Ã£Ä££ª³£²¡½blksize;/*×î¼ÑI/O¿é³¤*/ª¥  
 
long st ¼£Ã£Ä££ª³£²¡½blocks;/*·ÖÅäµÄ512×Ö½Ú¿é¿éÊýª¤  
 
};ª¥  
 
POSIXª±1䶨Òåst ¼£Ã£Ä££ª³£²¡½rdevª±st ¼£Ã£Ä££ª³£²¡½blksigeºÍst ¼£Ã£Ä££  
 
ª³£²¡½blo  
 
cks×ֶΡ£SVR4ºÍ4ª±3+BSDÔò¶¨ÒåÁËÕâЩ×ֶΡ£ª¥  
 
×¢Ò⣬³ý×îºóÁ½¸öÒÔÍ⣬ÆäËü¸÷³ÉÔ±¶¼ËµÃ÷Ϊ»ù±¾ÏµÍ³Êý¾ÝÀàÐÍ(¼û2ª±7½Ú)¡£ÎÒÃÇ  
 
½«ËµÃ÷´Ë  
 
½á¹¹µÄÿ¸ö³ÉÔ±ÒÔÁ˽âÎļþÊôÐÔ¡£ª¥  
 
statº¯ÊýµÄ×î´óÓû§ºÜ¿ÉÄÜÊÇls-lÃüÁÓÃÆä¿ÉÒÔ»ñµÃÓйØÒ»¸öÎļþµÄËùÓÐÐÅÏ¢¡£  
 
ª¤  
 
4ª±3¡þÎļþÀàÐͪ¥  
 
ÖÁ½ñÎÒÃÇÒѽéÉÜÁËÁ½ÖÖ²»Í¬µÄÎļþÀàÐÍ-ÆÕͨÎļþºÍĿ¼¡£UnixϵͳµÄ´ó¶àÊýÎļþ  
 
ÊÇÆÕͨÎÄ  
 
¼þ»òĿ¼£¬µ«ÊÇÒ²ÓÐÁíÍâһЩÎļþÀàÐÍ£ºª¥  
 
1ª±ÆÕͨÎļþ(Regular file)¡£ÕâÊÇ×î³£¼ûµÄÎļþÀàÐÍ£¬ÕâÖÖÎļþ°üº¬ÁËijÖÖÐÎʽ  
 
µÄÊý¾Ý¡£  
 
ÖÁÓÚÕâÖÖÊý¾ÝÊÇÎı¾»¹ÊǶþ½øÖÆÊý¾Ý¶ÔÓÚϵͳºË¶øÑÔ²¢ÎÞÇø±ð¡£¶ÔÆÕͨÎļþÄÚÈݵĠ 
 
½âÊÍÓÉ´¦  
 
Àí¸ÃÎļþµÄÓ¦ÓóÌÐò½øÐС£ª¥  
 
2ª±Ä¿Â¼Îļþ(Directory file)¡£ÕâÖÖÎļþ°üº¬ÁËÆäËüÎļþµÄÃû×ÖÒÔ¼°Ö¸ÏòÓëÕâЩ  
 
ÎļþÓйؠ 
 
ÐÅÏ¢µÄÖ¸Õë¡£¶ÔÒ»¸öĿ¼Îļþ¾ßÓжÁÐí¿ÉÊýµÄÈÎÒ»½ø³Ì¶¼¿ÉÒÔ¶Á¸ÃĿ¼µÄÄÚÈÝ£¬µ«  
 
Ö»ÓÐϵͳ  
 
ºË¿ÉÒÔдĿ¼Îļþ¡£ª¥  
 
3ª±×Ö·ûÌØÊâÎļþ(Charocter special file)¡£ÕâÖÖÎļþÓÃÓÚϵͳÖеÄijЩÀàÐ͵Ġ 
 
É豸¡£ª¥  
 
4ª±¿éÌØÊâÎļþ(Block special file)¡£ÕâÖÖÎļþµäÐ͵ØÓÃÓÚ´ÅÅÌÉ豸¡£ÏµÍ³ÖеĠ 
 
ËùÓÐÉ豸  
 
»òÕßÊÇ×Ö·ûÌØÊâÎļþ£¬»òÕßÊÇ¿éÌØÊâÎļþ¡£ª¥  
 
5ª± FIFO¡£ÕâÖÖÎļþÓÃÓÚ½ø³Ì¼äµÄͨÐÅ£¬ÓÐʱҲ½«Æä³ÆÎªÃüÃû¹ÜµÀ¡£ÔÚ14ª±5¶ÔÆä  
 
½øÐÐ˵Ã÷  
 
¡£ª¥  
 
6ª±Ì×½Ó¿Ú(socket)¡£ÕâÖÖÎļþÓÃÓÚ½ø³Ì¼äµÄÍøÂçͨÐÅ¡£Ì×½Ó¿ÚÒ²¿ÉÓÃÓÚÔÚһ̨ËÞ  
 
Ö÷»úÉϵĠ 
 
½ø³ÌÖ®¼äµÄ·ÇÍøÂçͨÐÅ¡£ÔÚµÚÊ®ÎåÕ£¬ÎÒÃǽ«ÓÃÌ×½Ó¿Ú½øÐнø³Ì¼äµÄͨÐÅ¡£ª¥  
 
Ö»ÓÐ4ª±3+BSD²Å·µ»ØÌ×½Ó¿ÚÎļþÀàÐÍ£¬ËäÈ»SVR4Ö§³ÖÓÃÌ×½Ó¿Ú½øÐнø³Ì¼äͨÐÅ£¬µ«  
 
ÏÖÔÚÊǾ­  
 
ÓÉÌ×½Ó¿Úº¯Êý¿âʵÏֵ쬶ø²»ÊÇͨ¹ýϵͳºËÄÚµÄÌ×½Ó¿ÚÎļþÀàÐÍ£¬½«À´µÄSVR4°æ±¾  
 
¿ÉÄÜ»áÖ§  
 
³ÖÌ×½Ó¿ÚÎļþÀàÐÍ¡£ª¥  
 
7ª±·ûºÅÁ¬½Ó(Symbolic link)¡£ÕâÖÖÎļþÖ¸ÏòÁíÒ»¸öÎļþ¡£ÎÒÃÇÔÚ4ª±16Öн«¸ü¶à  
 
µØÊö¼°·û  
 
ºÅÁ¬½Ó¡£ª¥  
 
ÎļþÀàÐÍÐÅÏ¢£¬°üº¬ÔÚstat½á¹¹µÄst ¼£Ã£Ä££ª³£²¡½mode³ÉÔ±ÖС£ÎÒÃÇ¿ÉÒÔÓÃͼ4  
 
ª±1Öеĺꠠ
 
È·ÊÒÎļþÀàÐÍ¡£ÕâЩºêµÄ²ÎÊý¶¼ÊÇstat½á¹¹ÖеÄst ¼£Ã£Ä££ª³£²¡½mode³ÉÔ±¡£ª¤ª¤  
 
ª¤  
 
ͼ4ª±1¡þÔÚ<sys/statª±h>ÖеÄÎļþÀàÐͺꪤ  
 
ʵÀýª¥  
 
³ÌÐò4ª±1È¡ÆäÃüÁîÐвÎÊý£¬È»ºóÕë¶Ôÿһ¸öÃüÁîÐвÎÊý´òÓ¡ÆäÎļþÀàÐÍ¡£ª¤ª¤ª¤  
 
³ÌÐò4ª±1¡þ¶Ôÿ¸öÃüÁîÐвÎÊý´òÓ¡ÎļþÀàÐͪ¤  
 
³ÌÐò4ª±1µÄÑù±¾Êä³öÊÇ£ºª¥  
 
$ aª±out/vmunix/etc/dev/ttya/dev/sd0a/var/spool/cron/FIFO\ª¥  
 
£¾/bin/dev/printerª¥  
 
/vmunix:ÆÕͨª¥  
 
/etc:Ŀ¼ª¥  
 
/dev/ttya:×Ö·ûÌØÊ⪥  
 
/dev/sd0a:¿éª¥  
 
/var/spool/cron/FIFO:fifoª¥  
 
/bin:symbolic·ûºÅÁ¬½Óª¥  
 
/dev/printer:Ì×½Ó¿Úª¤  
 
(ÆäÖУ¬ÔÚµÚÒ»ÃüÁîÐÐÄ©¶ËÎÒÃǼüÈëÁËÒ»¸ö·´Ð±Ïߣ¬Í¨ÖªshellÎÒÃÇÒªÔÚÏÂÒ»ÐмÌÐø  
 
¼üÈëÃüÁî  
 
£¬È»ºóshellÔÚÏÂÒ»ÐÐÉÏÓÃÆäµÚ¶þÌáʾ·û£¬>,ÌáʾÎÒÃÇÌØµØÊ¹ÓÃÁËlstatº¯Êý¶ø²»ÊÇ  
 
statº¯Êý  
 
ÒÔ±ã¼ì²â·ûºÅÁ¬½Ó¡£ÈçÈôʹÓÃÁËstatº¯Êý£¬Ôò¾ö²»»á¹Û²ìµ½·ûºÅÁ¬½Ó¡£ª¥  
 
½ÏÔçµÄUnix°æ±¾²¢²»ÌṩS ¼£Ã£Ä££ª³£²¡½ISXXXºê£¬ÓÚÊǾÍÐèÒª½«st ¼£Ã£Ä££ª³£²  
 
¡½modeÓë  
 
ÆÁ±Î×ÖS ¼£Ã£Ä££ª³£²¡½IFMTÂß¼­Ó룬ȻºóÓë  
 
ÃûΪs ¼£Ã£Ä££ª³£²¡½IFXXXµÄ³£ÊýÏà±È½Ï¡£SVR4ºÍ4ª±3+BSDÔÚÎļþ<sys/statª±h>  
 
Öж¨ÒåÁË  
 
´ËÆÁ±Î×ÖºÍÏà¹ØµÄ³£Êý¡£ÈçÈôÎÒÃDz鿴´ËÎļþ£¬Ôò¿ÉÕÒµ½S ¼£Ã£Ä££ª³£²¡½ISDIRºê  
 
¶¨ÒåΪ£º  
 
ª¥  
 
ÎÒÃÇ˵¹ý£¬ÆÕͨÎļþÊÇ×îÖ÷ÒªµÄÎļþÀàÐÍ£¬µ«Êǹ۲ìÒ»ÏÂÔÚÒ»¸ö¸ø¶¨µÄϵͳÖи÷ÖÖ  
 
ÎļþµÄ±È  
 
ÀýÊǺÜÓÐÐËȤµÄ¡£Í¼4ª±2ÖÐÏÔʾÁËÔÚÒ»¸öÖеȹæÄ£µÄϵͳÖеÄͳ¼ÆÖµ¡£ÕâÒ»Êý¾ÝÊÇ  
 
ÓÉ4ª±21  
 
½ÚÖеijÌÐòµÃµ½µÄ¡£ª¤ª¤ª¤  
 
ͼ4ª±2¡þ²»Í¬ÀàÐÍÎļþµÄ¼ÆÊýÖµºÍ±ÈÀýª¤  
 
4ª±4¡þÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½IDºÍÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDª¥  
 
ÓëÒ»¸ö½ø³ÌÏà¹ØÁªµÄIDÓÐÁù¸ö»ò¸ü¶à¡£ËüÃÇʾÓÚͼ4ª±3ÖС£ª¤ª¤ª¤  
 
ͼ4ª±3¡þÓëÿ¸ö½ø³ÌÏà¹ØÁªµÄÓû§IDºÍ×éIDª¥  
 
¡¤Êµ¼ÊÓû§IDºÍʵ¼Ê×éID±êʶÎÒÃǾ¿¾¹ÊÇË­¡£ÕâÁ½¸ö×Ö¶ÎÔڵǼʱȡ×ÔÎÒÃÇÔÚ¿ÚÁî  
 
ÎļþÖеĠ 
 
¼Ç¼Ïͨ³££¬ÔÚÒ»¸öµÇ¼»á»°ÆÚÕâЩֵ²¢²»¸Ä±ä£¬µ«Êdz¬¼¶Óû§½ø³ÌÓз½·¨£¬¸Ä  
 
±äËüÃÇ£¬  
 
ÔÚ8ª±10½ÚÖн«ËµÃ÷ÕâЩ·½·¨¡£ª¥  
 
¡¤ÓÐЧÓû§ID£¬ÓÐЧ×éIDÒÔ¼°Ìí¼Ó×éID¾ö¶¨ÁËÎÒÃǵÄÎļþ´æÈ¡Êý£¬ÏÂÒ»½Ú½«¶Ô´Ë½ø  
 
ÐÐ˵Ã÷¡£  
 
(ÎÒÃÇÒÑÔÚ1ª±8½ÚÖÐ˵Ã÷ÁËÌí¼Ó×éID)¡£ª¥  
 
¡¤±£´æµÄÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½IDºÍ±£´æµÄÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDÔÚÖ´ÐР 
 
Ò»¸ö³ÌÐò  
 
ʱ°üº¬ÁËÓÐЧÓû§I  
 
DºÍÓÐЧ×éIDµÄ¸±±¾£¬ÔÚ8ª±10½ÚÖÐ˵Ã÷setuidº¯Êýʱ£¬ÎÒÃǽ«ËµÃ÷ÕâÁ½¸ö±£´æÖµµÄ  
 
×÷Óᣪ¥  
 
ÔÚPOSIXª±1ÖУ¬ÕâЩ±£´æIDÊÇ¿ÉÑ¡ÔñµÄ¡£Ò»¸öÓ¦ÓóÌÐòÔÚ±àÒëʱ¿É²âÊÔ³£Êý  £Ã£Ä  
 
 £ª³£²¡½  
 
POSIX ¼£Ã£Ä££ª³£²¡½SAVED ¼£Ã£Ä££ª³£²¡½I  
 
DS£¬»òÔÚÔËÐÐʱÒÔ²ÎÊý ¼£Ã£Ä££ª³£²¡½SC ¼£Ã£Ä££ª³£²¡½SAVED ¼£Ã£Ä££ª³£²¡½ID  
 
Sµ÷Óú¯Êý  
 
sysconf£¬ÒÔÅжϴËʵÏÖÊÇ·ñÖ§³ÖÕâÖÖÌØÕ÷¡£SVR4Ö§³Ö´ËÌØÕ÷¡£ª¥  
 
FIPS ¡£ £µ£ü£­£±ÒªÇóPOSIXª±1µÄÕâÖÖ¿ÉÑ¡ÔñÌØÕ÷¡£ª¥  
 
ͨ³££¬ÓÐЧÓû§IDµÈÓÚʵ¼ÊÓû§ID£¬ÒÔ¼°ÓÐЧ×éIDµÈÓÚʵ¼ÊÓû§ID¡£ª¥  
 
ÿ¸öÎļþÓÐÒ»¸öÊôÖ÷ºÍ×éÊôÖ÷£¬ÊôÖ÷ÊÇÓÉstat½á¹¹ÖеÄst ¼£Ã£Ä££ª³£²¡½uid±íʾ  
 
µÄ£¬×éÊô  
 
Ö÷ÔòÓÉst ¼£Ã£Ä££ª³£²¡½gid³ÉÔ±±íʾ¡£ª¥  
 
µ±ÎÒÃÇÖ´ÐÐÒ»¸ö³ÌÐòÎļþʱ£¬½ø³ÌµÄÓÐЧÓû§IDͨ³£¾ÍÊÇʵ¼ÊÓû§ID£¬ÓÐЧ×éIDͨ  
 
³£ÊÇʵ¼Ê  
 
×éID¡£µ«ÊÇ¿ÉÒÔÔÚÎļþ·½Ê½×Ö(st ¼£Ã£Ä££ª³£²¡½mode)ÖÐÉèÖÃÒ»¸öÌØÊâ±êÖ¾£¬Æä¶¨  
 
ÒåÊÇ"µ±  
 
Ö´ÐдËÎļþʱ  
 
£¬½«½ø³ÌµÄÓÐЧÓû§IDÉèÖÃΪÎļþµÄÊôÖ÷(st ¼£Ã£Ä££ª³£²¡½uid)"¡£Óë´ËÏàÀàËÆ£¬  
 
ÔÚÎļþ  
 
·½Ê½×ÖÖпÉÒÔÉè  
 
ÖÃÁíһ룬ËüʹµÃÖ´ÐдËÎļþµÄ½ø³ÌµÄÓÐЧ×éIDÉèÖÃΪÎļþµÄ×éÊôÖ÷(st ¼£Ã£Ä££  
 
ª³£²¡½gid  
 
)¡£ÔÚÎļþ·½Ê½×ÖÖеÄÕâÁ½Î»±»³ÆÖ®ÎªÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½IDλºÍÉèÖÃÒ»×é  
 
 ¼£Ã£Ä££  
 
ª³£²¡½IDλ¡£ª¥  
 
ÀýÈ磬ÈôÎļþÊôÖ÷Êdz¬¼¶Óû§£¬¶øÇÒÉèÖÃÁ˸ÃÎļþµÄÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½I  
 
Dλ£¬È»ºó  
 
µ±¸Ã³ÌÐòÓÉÒ»  
 
¸ö½ø³ÌÔËÐÐʱ£¬Ôò¸Ã½ø³Ì¾ßÓг¬¼¶Óû§ÓÅÏÈÊý¡£²»¹ÜÖ´ÐдËÎļþµÄ½ø³ÌµÄʵ¼ÊÓû§  
 
IDÊÇʲô  
 
£¬¶¼×÷ÕâÖÖ´¦Àí¡£×÷Ϊһ¸öÀý×Ó£¬Unix³ÌÐòpasswd(1)ÔÊÐíÈÎÒ»Óû§¸Ä±äÆä¿ÚÁî×Ö  
 
£¬¸Ã³ÌÐò  
 
ÊÇÒ»¸öÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½ID³ÌÐò¡£ÒòΪ¸Ã³ÌÐòÓ¦Äܽ«Óû§µÄпÚÁî×ÖдÈë  
 
¿ÚÁî×ÖÎÄ  
 
¼þÖÐ(µäÐ͵ؠ 
 
ÕâÊÇ/etc/passwd»ò/etc/shadow),¶øÖ»Óг¬¼¶Óû§²Å¾ßÓиÃÎļþµÄдÐí¿ÉÊý£¬ËùÒÔ  
 
ÐèҪʹÓà 
 
ÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½IDÌØÕ÷¡£ÒòΪÔËÐÐÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½ID³ÌÐòµÄ  
 
½ø³Ìͨ³£  
 
µÃµ½¶îÍâµÄÐí  
 
¿ÉÊý£¬ËùÒÔÒªÌØ±ð½÷É÷µØ±àдÕâÖÖ³ÌÐò¡£ÎÒÃǽ«ÔÚµÚ°ËÕ¸üÏêϸµØÌÖÂÛÕâÖÖÀàÐ͵Ġ 
 
³ÌÐò¡£ª¥  
 
ÔÙ·µ»Øµ½statº¯Êý£¬ÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½IDλ¼°ÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½I  
 
Dλ¶¼°üº¬  
 
ÔÚst ¼£Ã£Ä££ª³£²¡½modeÖµÖС£ÕâÁ½Î»¿ÉÓó£ÊýS ¼£Ã£Ä££ª³£²¡½ISUIDºÍS  £Ã£Ä  
 
 £ª³£²¡½I  
 
SGID²âÊÔ¡£ª¤  
 
4ª±5¡þÎļþ´æÈ¡Ðí¿ÉÊýª¥  
 
st ¼£Ã£Ä££ª³£²¡½modeÖµÒ²°üº¬Á˶ÔÎļþµÄ´æÈ¡Êýλ¡£µ±ÎÒÃÇ˵¼°Îļþʱ£¬ÎÒÃÇÖ¸  
 
µÄÊÇÇ°Ãæ  
 
ËùÌáµ½µÄÈκΠ 
 
ÀàÐ͵ÄÎļþ¡£ËùÓÐÎļþÀàÐÍ(Ŀ¼£¬×Ö·ûÌØ±ðÎļþµÈ)¶¼ÓÐÐí¿ÉÊý¡£ºÜ¶àÈËÈÏΪֻÓР 
 
ÆÕͨÎļþ  
 
ÓдæÈ¡Ðí¿ÉÊý£¬ÕâÊÇÒ»ÖÖÎó½â¡£ª¥  
 
ÿ¸öÎļþÓÐ9¸ö´æÈ¡Êý룬¿É½«ËüÃÇ·Ö³ÉÈýÀà¡£ÕâЩ¶¼Ê¾ÓÚͼ4ª±4ÖС£ª¤ª¤ª¤  
 
ͼ4ª±4¡þ9¸ö´æÈ¡Êýλ(ÔÚ<sys/statª±h>Öж¨Òå)ª¤  
 
ÔÚͼ4ª±4¿ªÍ·ÈýÐÐÖУ¬ÊõÓïÓû§Ö¸µÄÊÇÎļþÊôÖ÷¡£chmod(1)ÃüÁîÓÃÓÚÐÞ¸ÄÕâ9¸öÐí  
 
¿ÉÊýλ¡£  
 
¸ÃÃüÁîÔÊÐíÎÒÃÇÓÃu±íʾÓû§(ÊôÖ÷)£¬ÓÃg±íʾ×飬ÓÃo±íʾÆäËû¡£ÓÐЩÊé°ÑÕâÈýÖÖ  
 
Óû§·ò¸¾  
 
±ð³ÆÖ®ÎªÊôÖ÷£¬×éºÍÊÀ½ç¡£Õâ»áÔì³É»ìÂÒ£¬ÒòΪchmodÃüÁîÓÃo±íʾÆäËû£¬¶ø²»ÊÇÊô  
 
Ö÷(owner  
 
)¡£ÎÒÃǽ«Ê¹ÓÃÊõÓïÓû§£¬×éºÍÆäËû£¬ÒÔ±ãÓëchmodÃüÁîÒ»Ö¡£ª¥  
 
ͼÖеÄÈýÀà´æÈ¡Êý-¶Á¡¢Ð´¼°Ö´ÐÐ-ÒÔ¸÷ÖÖ·½Ê½Óɲ»Í¬µÄº¯ÊýʹÓá£ÎÒÃǽ«ÕâЩ²»Í¬  
 
µÄʹÓà 
 
·½·¨ÕªÒªÁÐÔÚÏÂÃæ£¬µ±ËµÃ÷ÕâЩº¯Êýʱ£¬ÔÙ½øÒ»²½×÷ÌÖÂÛ¡£ª¥  
 
µÚÒ»¸ö¹æÔòÊÇ£¬ÎÒÃÇÓÃÃû×ÖÒª´ò¿ªÈÎÒ»ÀàÐ͵ÄÎļþʱ£¬¶Ô¸ÃÃû×ÖÖаüº¬µÄÿһ¸öÄ¿  
 
¼£¬°üÀ¨  
 
Ëü¿ÉÄÜÒþº¬µÄµ±Ç°¹¤×÷Ŀ¼¶¼Ó¦¾ßÓÐÖ´ÐÐÐí¿ÉÊý¡£Õâ¾ÍÊÇΪʲô¶ÔÓÚĿ¼ÆäÖ´ÐÐÐí  
 
¿ÉÊýλ³£  
 
±»³ÆÎªËÑË÷λµÄÔ­Òò¡£ª¥  
 
ÀýÈ磬ΪÁË´ò¿ªÎļþ/usr/dict/words£¬ÎÒÃÇÐèÒª¾ßÓжÔĿ¼/,/usr,/usr/dictµÄ  
 
Ö´ÐÐÐí¿É  
 
Êý¡£È»ºó£¬ÎÒÃÇÐèÒª¶Ô¸ÃÎļþ±¾ÉíµÄÊʵ±Ðí¿ÉÊý£¬ÕâÈ¡¾öÓÚÎÒÃÇÒªÒÔºÎÖÖ·½Ê½´ò¿ª  
 
Ëü(Ö»¶Á£¬¶Á-дµÈ)¡£  
 
Èç¹ûµ±Ç°Ä¿Â¼ÊÇ/usr/dic,ÄÇôΪÁË´ò¿ªÎļþwords,ÎÒÃÇÐèÒªÓжԸÃĿ¼µÄÖ´ÐÐÐí  
 
¿ÉÊý¡£Õâ  
 
¾ÍÊÇÒþº¬Á˵±Ç°Ä¿Â¼µÄÀý×Ó£¬ÎÒÃÇÔÚÖ¸¶¨´ò¿ªÎļþwordsʱ£¬Ã»ÓÐÏÔʽµØÌá¼°/usr  
 
/dicª±wor  
 
dsÓë/wordsÁ½ÖÖ±íʾ·½·¨ÊÇÒ»Öµġ£ª¥  
 
×¢Ò⣬¶ÔÓÚĿ¼µÄ¶ÁÐí¿ÉÊýºÍÖ´ÐÐÐí¿ÉÊýµÄÒâÒåÊDz»ÏàͬµÄ¡£¶ÁÐí¿ÉÊýÔÊÐíÎÒÃǶÁ  
 
Ŀ¼£¬»ñ  
 
µÃÔÚ¸ÃĿ¼ÖÐËùÓÐÎļþÃûµÄÁÐ±í¡£µ±Ò»¸öĿ¼ÊÇÎÒÃÇÒª´æÈ¡ÎļþµÄ·¾¶ÃûµÄÒ»¸ö·Ö  
 
Á¿Ê±£¬¶Ô  
 
¸ÃĿ¼µÄÖ´ÐÐÐí¿ÉÊýʹÎÒÃÇ¿Éͨ¹ý¸ÃĿ¼¡£(Ò²¾ÍÊÇËÑË÷¸ÃĿ¼£¬Ñ°ÕÒÒ»¸öÌØ¶¨µÄ  
 
ÎļþÃû¡£  
 
)ª¥  
 
ÒýÓÃÒþº¬Ä¿Â¼µÄÁíÒ»¸öÀý×ÓÊÇ£¬Èç¹ûPATH»·¾³±äÁ¿(ÔÚ8ª±4½ÚÖÐ˵Ã÷)Ö¸¶¨ÁËÒ»¸öÎÒ  
 
ÃDz»¾ßÓР 
 
´æÈ¡ÊýµÄĿ¼£¬ÄÇôshell¾ö²»»áÔÚ¸ÃĿ¼Ï´òµ½¿ÉÖ´ÐÐÎļþ¡£ª¥  
 
¡¤¶ÔÓÚÒ»¸öÎļþµÄ¶ÁÐí¿ÉÊý¾ö¶¨ÁËÎÒÃÇÊÇ·ñÄܹ»´ò¿ª¸ÃÎļþ½øÐжÁ²Ù×÷¡£Õâ¶ÔÓ¦ÓÚ  
 
openº¯Êý  
 
µÄO ¼£Ã£Ä££ª³£²¡½RDONLYºÍO ¼£Ã£Ä££ª³£²¡½RDWR±êÖ¾¡£ª¥  
 
¡¤¶ÔÓÚÒ»¸öÎļþµÄдÐí¿ÉÊý¾ö¶¨ÁËÎÒÃÇÊÇ·ñ¿ÉÄܹ»´ò¿ª¸ÃÎļþ½øÐÐд²Ù×÷Õâ¶ÔÓ¦ÓÚ  
 
openº¯Êý  
 
µÄO ¼£Ã£Ä££ª³£²¡½WRONLYºÍO ¼£Ã£Ä££ª³£²¡½RDWR±êÖ¾¡£ª¥  
 
¡¤¶ÔÓÚÒ»¸öÎļþµÄдÐí¿ÉÊý¾ö¶¨ÁËÎÒÃÇÊÇ·ñÄܹ»´ò¿ª¸ÃÎļþ½øÐÐд²Ù×÷¡£Õâ¶ÔÓ¦ÓÚ  
 
openº¯Êý  
 
µÄO ¼£Ã£Ä££ª³£²¡½WRONLYºÍO ¼£Ã£Ä££ª³£²¡½RDWR±êÖ¾¡£ª¥  
 
¡¤ÎªÁËÔÚopenº¯ÊýÖжÔÒ»¸öÎļþÖ¸¶¨O ¼£Ã£Ä££ª³£²¡½TRUNC±êÖ¾£¬ÎÒÃDZØÐë¶Ô¸ÃÎÄ  
 
¼þ¾ßÓÐд  
 
²Ù×÷Ðí¿ÉÊý¡£ª¥  
 
¡¤ÎªÁËÔÚÒ»¸öĿ¼Öд´½¨Ò»¸öÐÂÎļþ£¬ÎÒÃǶԸÃĿ¼ÐèÒª¾ßÓÐдÐí¿ÉÊýºÍÖ´ÐÐÐí¿É  
 
Êý¡£ª¥  
 
¡¤ÎªÁËɾ³ýÒ»¸öÎļþ£¬ÎÒÃÇÐèÒª¶Ô°üº¬¸ÃÎļþµÄĿ¼¾ßÓÐдÐí¿ÉÊýºÍÖ´ÐÐÐí¿ÉÊý¡£  
 
¶Ô¸ÃÎļþ  
 
±¾ÉíÔò²»ÐèÒªÓжÁ¡¢Ð´Ðí¿ÉÊý¡£ª¥  
 
¡¤Èç¹ûÎÒÃÇÓÃ6¸öexecº¯Êý(8ª±9½Ú)ÖеÄÈκÎÒ»¸öÖ´ÐÐij¸öÎļþ£¬ÔòÎÒÃÇÐèÒª¶Ô¸Ã  
 
Îļþ¾ßÓР 
 
Ö´ÐÐÐí¿ÉÊý¡£ª¥  
 
½ø³Ìÿ´Î´ò¿ª¡¢´´½¨»òɾ³ýÒ»¸öÎļþʱ£¬ÏµÍ³ºË¾Í½øÐÐÎļþ´æÈ¡Êý²âÊÔ£¬¶øÕâÖֲ⠠
 
ÊÔ¿ÉÄÜÉæ  
 
¼°ÎļþµÄÊôÖ÷(st ¼£Ã£Ä££ª³£²¡½uidºÍst ¼£Ã£Ä££ª³£²¡½gid)¡£½ø³ÌµÄÓÐЧID(ÓР 
 
ЧÓû§ID  
 
ºÍÓÐЧ×éID)¡¢ÒÔ¼°½ø³ÌµÄÌí¼Ó  
 
×éID(ÈôÖ§³ÖµÄ»°)¡£Á½¸öÊôÖ÷IDÊÇÎļþµÄÐÔÖÊ£¬¶øÓÐЧIDºÍÌí¼Ó×éIDÔòÊǽø³ÌµÄÐÔ  
 
ÖÊ¡£ÏµÍ³  
 
ºË½øÐеIJâÊÔÊÇ£ºª¥  
 
1ª±Èô½ø³ÌµÄÓÐЧÓû§IDÊÇO(³¬¼¶Óû§)£¬ÔòÔÊÐí´æÈ¡¡£Õâ¸øÓÚÁ˳¬¼¶Óû§¶ÔÎļþϵ  
 
ͳ½øÐд¦  
 
ÀíµÄ×î³ä·ÖµÄ×ÔÓÉ¡£ª¥  
 
2ª±Èô½ø³ÌµÄÓÐЧÓû§IDµÈÓÚÎļþµÄÊôÖ÷ID(Ò²¾ÍÊǸýø³ÌÓµÓдËÎļþ)£ºª¥  
 
aª±ÈôÊʵ±µÄÊôÖ÷Óû§´æÈ¡ÊýλÊÇÉèÖõģ¬ÔòÔÊÐí´æÐí£¬ª¥  
 
bª±·ñÔò¾Ü¾ø´æÈ¡¡£ª¥  
 
¹ØÓÚÈ·µ±µÄ´æÈ¡Êý룬ÎÒÃÇÖ¸µÄÊÇ£¬ÈçÈô½ø³ÌΪ¶Á¶ø´ò¿ª¸ÃÎļþ£¬ÊÇÊôÖ÷Óû§-¶Á  
 
λӦΪ1  
 
¡£Èô½ø³ÌΪд¶ø´ò¿ª¸ÃÎļþ£¬ÔòÊôÖ÷Óû§-дλ±ØÐëΪ1¡£Èô½ø³Ì½«Ö´ÐиÃÎļþ£¬Ôò  
 
ÊôÖ÷Óà 
 
»§-Ö´ÐÐλ±ØÐëΪ1¡£ª¥  
 
3ª±Èô½ø³ÌµÄÓÐЧ×éID»ò½ø³ÌµÄÌí¼Ó×éIDÖ®Ò»µÈÓÚÎļþµÄ×éID£ºª¥  
 
aª±ÈôÊʵ±µÄ×é´æÈ¡ÊýλÊÇÉèÖõģ¬ÔòÔÊÐí´æÈ¡£¬ª¥  
 
bª±·ñÔò¾Ü¾ø´æÈ¡¡£ª¥  
 
4ª±ÈôÊʵ±µÄÆäËûÓû§´æÈ¡ÊýλÊÇÉèÖõģ¬ÔòÔÊÐí´æÈ¡£¬·ñÔò¾Ü¾ø´æÈ¡¡£ª¥  
 
°´ÐòÊÔÖ´ÐÐÕâËIJ½¡£×¢Ò⣬ÈçÈô½ø³ÌÓµÓдËÎļþ(µÚ2²½)£¬Ôò°´Óû§´æÈ¡ÊýÅú×¼»ò  
 
¾Ü¾ø¸Ã½ø  
 
³Ì¶ÔÎļþµÄ´æÈ¡-²»²é¿´×é´æÈ¡Êý¡£ÏàÀàËÆ£¬Èô½ø³Ì²¢²»ÓµÓиÃÎļþ¡£µ«½ø³ÌÊôÓÚ  
 
ij¸öÊʵ±  
 
µÄ×飬Ôò°´×é´æÈ¡ÊýÅú×¼¾Ü¾ø¸Ã½ø³Ì¶ÔÎļþµÄ´æÈ¡-²»²é¿´ÆäËüÓû§´æÈ¡Êý¡£ª¤  
 
4ª±6¡þÐÂÎļþºÍĿ¼µÄÊôÖ÷¹ØÏµª¥  
 
ÔÚµÚÈýÕÂÖУ¬µ±ËµÃ÷ÓÃopen»òcreat´´½¨ÐÂÎļþʱ£¬ÎÒÃÇûÓÐ˵Ã÷¸³ÓëÐÂÎļþµÄÓà 
 
»§IDºÍ×éI  
 
DµÄÖµÊÇʲô¡£ÔÚ4ª±20ÖУ¬ÎÒÃǽ«ËµÃ÷ÈçºÎ´´½¨Ò»¸öÐÂĿ¼ÒÔ¼°mkdirº¯Êý¡£¹ØÓÚ  
 
ÐÂĿ¼µÄ  
 
ÊôÖ÷¹ØÏµµÄ¹æÔòÓë±¾½Ú½«ËµÃ÷µÄÐÂÎļþµÄÊôÖ÷¹ØÏµµÄ¹æÔòÏàͬ¡£ª¥  
 
ÐÂÎļþµÄÓû§IDÉèÖÃΪ½ø³ÌµÄÓÐЧÓû§ID¡£¹ØÓÚ×éID£¬POSIXª±1ÔÊÐíÑ¡ÔñÏÂÁÐÖ®Ò»  
 
×÷ΪÐÂÎÄ  
 
¼þµÄ×éID¡£ª¥  
 
1ª±ÐÂÎļþµÄ×éID¿ÉÒÔÊǽø³ÌµÄÓÐЧ×éID¡£ª¥  
 
2ª±ÐÂÎļþµÄ×éID¿ÉÒÔÊÇËüËùÔÚĿ¼µÄ×éID¡£ª¥  
 
ÔÚSVR4ÖУ¬ÐÂÎļþµÄ×éID¾öÈ¡ÓÚËüËùÔÚµÄĿ¼µÄÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλÊÇ·ñ  
 
ÉèÖá£Èç  
 
¹û¸ÃĿ¼µÄÕâ  
 
һλÒѾ­ÉèÖã¬ÔòÐÂÎļþµÄ×éIDÉèÖÃΪĿ¼µÄ×éID£»·ñÔòÐÂÎļþ ×éIDÉèÖÃΪ½ø³Ì  
 
µÄÓÐЧ×éI  
 
D¡£ª¥  
 
4ª±3+BSD×ÜÊÇʹÓÃĿ¼µÄ×éID×÷ΪÐÂÎļþµÄ×éID¡£ª¥  
 
ÆäËüϵͳÔÊÐíÒÔÒ»¸öÎļþϵͳ×÷Ϊµ¥Î»ÔÚPOSIXª±1ËùÔÊÐíµÄÁ½ÖÖ·½·¨ÖÐÑ¡ÔñÒ»ÖÖ£¬  
 
Ϊ´ËÔÚmo  
 
unt(1)ÃüÁîÖÐʹÓÃÁËÒ»¸öÌØÊâ±êÖ¾¡£ª¥  
 
FIPS £ü£µ£ü£­£±ÒªÇóÒ»¸öÐÂÎļþµÄ×éIDÊÇËüËùÔÚĿ¼µÄ×éID¡£ª¥  
 
ʹÓÃPOSIXª±1ËùÔÊÐíµÄµÚ¶þÖÖ·½·¨(¼Ì³ÐĿ¼µÄ×éID)ʹµÃÔÚij¸öĿ¼Ï´´½¨µÄÎļþ  
 
ºÍĿ¼¶¼  
 
ÓиÃĿ¼µÄ×éID¡£ÓÚÊÇÎļþºÍĿ¼µÄ×éÊôÖ÷¹ØÏµ´Ó¸Ãµã¾ÍÏòÏ´«µÝ¡£ÀýÈ磬ÔÚ/va  
 
r/spcolÄ¿  
 
¼ÖоÍʹÓÃÕâÖÖ·½·¨¡£ª¥  
 
ÕýÈçÇ°ÃæÌáµ½µÄ£¬ÕâÖÖÉèÖÃ×éÊôÖ÷¹ØÏµµÄ·½·¨¶Ô4ª±3+BSDÊÇϵͳĬÈϵ쬶ÔSVR4Ôò  
 
ÊÇ¿ÉÑ¡Ôñ  
 
µÄ¡£ÔÚSVR4֮ϣ¬ÎÒÃDZØÐëÉèÖÃÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλ¡£¸ü½øÒ»²½£¬Îª¹©Õâ  
 
ÖÖ·½·¨ÄÜ  
 
¹»Õý³£¹¤×÷£¬  
 
SVR4µÄmkdirº¯ÊýÒª×Ô¶¯µØ´«µÝÒ»¸öĿ¼µÄÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλ¡£(ÔÚ4ª±  
 
20½ÚÖÐÎÒ  
 
Ãǽ«ËµÃ÷£¬mkdir¾ÍÊÇÕâÑù×öµÄ)¡£ª¤  
 
4ª±7¡þaccessº¯Êýª¥  
 
ÕýÈçÇ°ÃæËù˵Ã÷µÄ£¬µ±ÓÃopenº¯Êý´ò¿ªÒ»¸öÎļþʱ£¬ÏµÍ³ºËÒÔ½ø³ÌµÄÓÐЧÓû§IDºÍ  
 
ÓÐЧ×éID  
 
Ϊ»ù´¡Ö´ÐÐÆä´æÈ¡ÊýÏÞ²âÊÔ¡£ÓÐʱ£¬½ø³ÌҲϣÍû°´Æäʵ¼ÊÓû§IDºÍʵ¼Ê×éIDÀ´²âÊÔ  
 
Æä´æÈ¡ÄÜ  
 
Á¦¡£ÀýÈçµ±Ò»¸ö½ø³ÌʹÓÃÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½ID£¬»òÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²  
 
¡½IDÌØÕ÷  
 
×÷ΪÁíÒ»¸öÓû§(»ò×é)ÔËÐР 
 
ʱ£¬Õâ¿ÉÄܾÍÊÇÐèÒªµÄ¡£¼´Ê¹Ò»¸ö½ø³Ì¿ÉÄÜÒѾ­ÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½IDΪ¸ù  
 
£¬ËüÈÔ¿É  
 
ÄÜÏëÑé֤ʵ¼Ê  
 
Óû§ÄÜ·ñ´æÈ¡Ò»¸ö¸ø¶¨µÄÎļþ¡£accessº¯ÊýÊǰ´Êµ¼ÊÓû§IDºÍʵ¼Ê×éID½øÐдæÈ¡Êý  
 
²âÊԵġ£  
 
(¾­¹ý4ª±5½Ú½áÊø²¿·ÖÖÐËùÊöµÄ4¸ö²½Ö裬µ«½«ÓÐЧ¸ÄΪʵ¼Ê¡£)ª¥  
 
#include<unistdª±h>ª¥  
 
int access(const char *ª«pathname,ª«int ª«modeª«);ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¥  
 
ÆäÖУ¬modeÊÇͼ4ª±5ÖÐËùÁг£ÊýµÄ°´Î»»ò¡£ª¤ª¤ª¤  
 
ͼ4ª±5ª¤  
 
ʵÀýª¥  
 
³ÌÐò4ª±2ÏÔʾÁËaccessº¯ÊýµÄʹÓá£ÏÂÃæÊǸóÌÐòµÄһЩÔ˶¯½á¹û£ºª¥  
 
$ ls -1 aª±outª¥  
 
-rwxrwxr-x 1 stevens 105216 Jan 18 08:48 aª±outª¥  
 
$ aª±out aª±outª¥  
 
read access OKª¥  
 
open for reading OKª¥  
 
$ ls -1/etc/uucp/Systemsª¥  
 
-rw-r----- 1 uucp 1441 Jul 18 15:05/etc/uucp/Systemsª¥  
 
$ aª±out/etc/uucp/Systemsª¥  
 
access error for/etc/uucp/Systems:Permission deniedª¥  
 
open error for /etc/uucp/Systems:Permission deniedª¥  
 
$ su¡þ³ÉΪ³¬¼¶Óû§ª¥  
 
Password:ÊäÈ볬¼¶Óû§¿ÚÁ  
 
# chown uucp aª±outª¥  
 
# chkmod u+s aª±out½«ÎļþÓû§ID¸ÄΪuucp,´ò¿ªÉèÖÃÓû§ID몤ª¤ª¤  
 
³ÌÐò4ª±2¡þaccessº¯ÊýµÄʵÀý¡£ª¥  
 
ÔÚ±¾ÀýÖУ¬ÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½ID³ÌÐò¿ÉÒÔÈ·¶¨Êµ¼ÊÓû§²»ÄܶÁij¸öÎļþ£¬  
 
¶øopenº¯  
 
ÊýÈ´ÄÜ´ò¿ª¸ÃÎļþ¡£ª¥  
 
ÔÚÉÏÃæÀý×ÓÒÔ¼°ÔÚµÚ°ËÕÂÖУ¬ÎÒÃÇÓÐʱҪ³ÉΪ³¬¼¶Óû§£¬ÒÔ±ãÀýʾijЩ¹¦ÄÜÊÇÈçºÎ  
 
¹¤×÷µÄ¡£  
 
Èç¹ûÄãʹÓöàÓû§ÏµÍ³£¬µ«ÎÞ³¬¼¶Óû§Ðí¿ÉÊý£¬ÄÇôÄã¾Í²»ÄÜÍêÕûµØÖظ´ÕâЩʵÀý  
 
¡£ª¤  
 
4ª±8¡þumaskº¯Êýª¥  
 
ÖÁ´ËÎÒÃÇÒÑ˵Ã÷ÁËÓëÿ¸öÎļþÏà¹ØÁªµÄ9¸ö´æÈ¡Êý룬ÔÚ´Ë»ù´¡ÉÏÎÒÃÇ¿ÉÒÔ˵Ã÷Óë  
 
ÿ¸ö½ø³Ì  
 
Ïà¹ØÁªµÄÎļþ·½Ê½´´½¨ÆÁ±Î×Ö¡£ª¥  
 
umaskº¯ÊýΪ½ø³ÌÉèÖÃÎļþ·½Ê½´´½¨ÆÁ±Î×Ö£¬²¢·µ»ØÒÔǰµÄÖµ¡£9ÕâÊÇÉÙÊý¼¸¸öûÓР 
 
³ö´í·µ»Ø  
 
µÄº¯ÊýÖеÄÒ»¸ö¡£)ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<sys/statª±h>ª¥  
 
mode ¼£Ã£Ä££ª³£²¡½t umask(mode ¼£Ã£Ä££ª³£²¡½t ª«cmask)ª«;ª¥  
 
·µ»Ø£ºÒÔǰµÄÎļþ·½Ê½´´½¨ Á±Îª¤  
 
ÆäÖУ¬²ÎÊýcmaskÊÇÓÉͼ4ª±4ÖеÄ9¸ö³£Êý(S ¼£Ã£Ä££ª³£²¡½IRUSR,S ¼£Ã£Ä££ª³£²  
 
¡½IWUSRµÈ  
 
)°´Î»»ò¹¹³ÉµÄ¡£ª¥  
 
ÔÚ½ø³Ì´´½¨Ò»¸öÐÂÎļþ»òÒ»¸öÐÂĿ¼ʱ£¬¾ÍÒ»¶¨»áʹÓÃÎļþ·½Ê½´´½¨ÆÁ±Î×Ö¡£(»Ø  
 
Òä3ª±3ºÍ3  
 
ª±4½Ú£¬ÔÚÄÇÀïÎÒÃÇ˵Ã÷ÁËopenºÍcreatº¯Êý¡£ÕâÁ½¸öº¯Êý¶¼ÓÐÒ»¸ö²ÎÊýmode,ËüÖ¸  
 
¶¨ÁËÐÂÎÄ  
 
¼þµÄ´æÈ¡Ðí¿ÉÊýλ¡£)ÎÒÃǽ«ÔÚ4ª±20½Ú˵Ã÷ÈçºÎ´´½¨Ò»¸öÐÂĿ¼£¬ÔÚÎļþ·½Ê½´´½¨  
 
ÆÁ±Î×ÖÖР 
 
Ϊ1µÄ룬ÔÚÎļþmodeÖеÄÏàӦλÔòÒ»¶¨±»×ª³É0¡£ª¤  
 
ʵÀýª¥  
 
³ÌÐò4ª±3´´½¨ÁËÁ½¸öÎļþ£¬´´½¨µÚÒ»¸öʱ£¬umaskֵΪ0£¬´´½¨µÚ¶þ¸öʱ£¬umaskÖµ  
 
½ûÖ¹ËùÓР 
 
×éºÍÆäËü´æÈ¡Êý¡£ÈôÔËÐд˳ÌÐò¿ÉµÃÈçϽá¹û£¬´ÓÖпɼû´æÈ¡ÊýÊÇÈçºÎÉèÖõġ£ª¥  
 
   
 
$ umask¡þµÚÒ»´Î´òÓ¡µ±Ç°Îļþ·½Ê½´´½¨ Á±Îª¥  
 
02ª¥  
 
$ aª±out-  
 
4 ls -1 foo barª¥  
 
-rw------- 1 stevens 0 Nov 16 16:23 barª¥  
 
-rw -rw-rw- 1 stevens 0 Nov 16 16:23 fooª¥  
 
$ umask¡þ¹Û²ìÎļþ·½Ê½´´½¨ÆÁ±ÎÊÇ·ñ¸ü¸Äª¥  
 
02ª¤ª¤ª¤  
 
³ÌÐò4ª±3¡þumaskº¯ÊýµÄʵÀýª¤  
 
4ª±9¡þchmodºÍfchmodº¯Êýª¥  
 
ÕâÁ½¸öº¯ÊýʹÎÒÃÇ¿ÉÒÔ¸ü¸ÄÏÖ´æÎļþµÄ´æÈ¡Ðí¿ÉÊý¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<sys/statª±h>ª¥  
 
int chmod(const char *ª«pathname,ª«mode ¼£Ã£Ä££ª³£²¡½t ª«mode);ª«ª¥  
 
int fchmod(int ª«filedes,ª«mode ¼£Ã£Ä££ª³£²¡½t ª«mode);ª«ª¥  
 
¶þ¸öº¯Êý·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ-1ª¥  
 
chmodº¯ÊýÔÚÖ¸¶¨µÄÎļþÉϽøÐвÙ×÷£¬¶øfchmodº¯ÊýÔò¶ÔÒÑ´ò¿ªµÄÎļþ½øÐвÙ×÷¡£  
 
ª¥  
 
fchmodº¯Êý²¢²»ÊÇPOSIXª±1µÄ×é³É²¿·Ö¡£ÕâÊÇSVR4ºÍ4ª±3+BSDµÄÀ©³ä²¿·Ö¡£ª¥  
 
ΪÁ˸ıäÒ»¸öÎļþµÄÐí¿ÉÊý룬½ø³ÌµÄÓÐЧÓû§ID±ØÐëµÈÓÚÎļþµÄÊôÖ÷£¬»òÕ߸ýø  
 
³Ì±ØÐë¾ß  
 
Óг¬¼¶Óû§Ðí¿ÉÊý¡£ª¥  
 
²ÎÊýmodeÊÇͼ4ª±6ÖÐËùʾ³£ÊýµÄijÖÖ°´Î»»ò¡£ª¤ª¤ª¤  
 
ͼ4ª±6¡þchmodº¯ÊýµÄmode³£Êý(È¡×Ô<sys/statª±h>)ª¤  
 
×¢Ò⣬ÔÚͼ4ª±6ÖУ¬ÓÐ9ÏîÊÇÈ¡×Ôͼ4ª±4ÖеÄ9¸öÎļþ´æÈ¡Ðí¿ÉÊýλ¡£ÎÒÃÇÁíÍâ¼ÓÉÏ  
 
Á˶þλÉè  
 
Ö༣ãģ£ª³£²¡½ID³£Êý(S ¼£Ã£Ä££ª³£²¡½IS¡²UG¡³ID),±£´æ ¼£Ã£Ä££ª³£²¡ ÕýÎÄ  
 
³£Êý(S¡¼  
 
 Ã£Ä££ª³£²¡½ISVTX)£¬ÒÔ¼°Èý¸ö×éºÏ³£Êý(S ¼£Ã£Ä££ª³£²¡½IRWX¡²UGO¡³)  
 
¡£(ÔÚÕâÀÎÒÃÇʹÓÃÁ˱ê×¼Unix×Ö·ûÀàËã·û ²¡þ¡ £¬±íʾ·½À¨ºÅËã·ûÖеÄÈκÎÒ»  
 
¸ö×Ö·û¡£  
 
ÀýÈ磬×îºóÒ»¸ö£¬S ¼£Ã£Ä££ª³£²¡½IRWX¡²UGO¡³±íʾÁËÈý¸ö³£Êý£ºS ¼£Ã£Ä££ª³£²  
 
¡½IRWXU¡¢  
 
S ¼£Ã£Ä££ª³£²¡½IRWXGºÍS ¼£Ã£Ä££ª³£²¡½IRWXO¡£ÕâÒ»×Ö·û  
 
ÀàËã·ûÊÇ´ó¶àÊýUnix shellºÍºÜ¶à±ê×¼UnixÓ¦ÓóÌÐò¶¼ÌṩµÄÕý¹æ±í´ïʽµÄÒ»ÖÖÐΠ 
 
ʽ¡£)ª¥  
 
±£´æ ¼£Ã£Ä££ª³£²¡ ÕýÎÄλ(S ¼£Ã£Ä££ª³£²¡½ISVTX)²»ÊÇPOSIXª±1µÄÒ»²¿·Ö¡£ÎÒÃÇ  
 
ÔÚÏÂÒ»½Ú  
 
˵Ã÷ÆäÄ¿µÄ¡£ª¤  
 
ʵÀýª¥  
 
ÏÈ»ØÒäÒ»ÏÂΪÀýʾumaskº¯ÊýÎÒÃÇÔËÐгÌÐò4ª±3ʱ£¬ÎļþfooºÍbarµÄ×îºó״̬£ºª¥  
 
   
 
$ ls-1 foo barª¥  
 
-rw------- 1 stevens 0 Nov 16 16:23 barª¥  
 
-rw-rw-rw- 1 stenens 0 Nov 16 16:23 fooª¥  
 
³ÌÐò4ª±4ÐÞ¸ÄÁËÕâÁ½¸öÎļþµÄ·½Ê½¡£ÔÚÔËÐгÌÐò4ª±4ºó£¬ÎÒÃǼûµ½µÄÕâÁ½¸öÎļþµÄ  
 
×îºó״̬  
 
ÊÇ£ºª¥  
 
$ ls -1 foo barª¥  
 
-rw-r--r-- 1 stevens 0 Nov 16 16:23 barª¥  
 
-rw-rwlrw- 1 stenens 0 Nov 16 16:23 fooª¥  
 
ÔÚ´ËÀý×ÓÖУ¬ÎÒÃÇÏà¶ÔÓÚfooµÄµ±Ç°×´Ì¬ÉèÖÃÆäÐí¿ÉÊý¡£Îª´Ë£¬Ïȵ÷ÓÃstat»ñµÃÆä  
 
µ±Ç°Ðí¿É  
 
Êý£¬È»ºóÐÞ¸ÄËü¡£ÎÒÃÇÒÑÏÔʽµØ´ò¿ªÁËÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλ¡¢¹Ø±ÕÁË×顼  
 
 Ã£Ä££ª³  
 
£²¡½Ö´ÐÐλ¡£¶ÔÆÕͨÎļþÕâÑù  
 
×öµÄ½á¹ûÊǶԸÃÎļþ¿ÉÒÔ¼ÓÇ¿ÖÆÐÔ¼ÇÂ¼Ëø£¬ÎÒÃǽ«ÔÚ12ª±3½ÚÖÐÌÖÂÛÇ¿ÖÆÐÔËø¡£×¢  
 
Ò⣬lsÃü  
 
Á×é ¼£Ã£Ä££ª³£²¡ Ö´ÐÐÐí¿ÉÊý±íʾΪl£¬Ëü±íʾ¶Ô¸ÃÎļþ¿ÉÒÔ¼ÓÇ¿ÖÆÐÔ¼ÇÂ¼Ëø  
 
¡£¶ÔÎļþb  
 
ar£¬²»¹ÜÆäµ±Ç°Ðí¿ÉÊýλÈçºÎ£¬ÎÒÃǽ«ÆäÐí¿ÉÊýÉèÖÃΪһ¾ø¶ÔÖµ¡£ª¤ª¤ª¤  
 
³ÌÐò4ª±4¡þchmodº¯ÊýµÄʵÀýª¥  
 
×îºóҲҪעÒâµ½¡£ÔÚÎÒÃÇÔËÐгÌÐò4ª±4ºólsÃüÁîÁгöµÄʱ¼äºÍÈÕÆÚ²¢²»¸Ä±ä¡£ÔÚ4  
 
ª±18½ÚÖР 
 
£¬ÎÒÃÇ»áÁ˽⵽chmodº¯Êý¸üеÄÖ»ÊÇi-node×î½üÒ»´Î±»¸ü¸ÄµÄʱ¼ä¡£°´ÏµÍ³Ä¬ÈÏ  
 
·½Ê½ls-l  
 
ÁгöµÄÊÇ×îºóÐÞ¸ÄÎļþÄÚÈݵÄʱ¼ä¡£ª¥  
 
chmodº¯ÊýÔÚÏÂÁÐÌõ¼þÏÂ×Ô¶¯Çå³ý2¸öÐí¿ÉÊýλ¡£ª¥  
 
¡¤Èç¹ûÎÒÃÇÊÔͼÉèÖÃÆÕͨÎļþµÄճסλ(S ¼£Ã£Ä££ª³£²¡½ISVTX)£¬¶øÇÒÓÖûÓг¬¼¶  
 
Óû§ÓÅÏÈ  
 
Êý£¬ÄÇômode  
 
ÖеÄճסλ×Ô¶¯±»¹Ø±Õ¡£(ÎÒÃǽ«ÔÚÏÂÒ»½Ú˵Ã÷ճסλ)¡£ÕâÒâζ×ÅÖ»Óг¬¼¶Óû§²Å  
 
ÄÜÉèÖÃÆÕ  
 
ͨÎļþµÄճסλ¡£ÕâÑù×öµÄÀíÓÉÊÇ¿ÉÒÔ·ÀÖ¹²»»³ºÃÒâµÄÓû§ÉèÖÃճڹ룬²¢ÊÔͼÒÔ  
 
´Ë·½Ê½Ìî  
 
Âú½»»»Çø(Èç¹ûϵͳ֧³Ö±£´æ ¼£Ã£Ä££ª³£²¡ ÕýÎÄÌØÕ÷µÄ»°)¡£ª¥  
 
¡¤Ð´´½¨ÎļþµÄ×éID¿ÉÄܲ»Êǵ÷Óýø³ÌËùÊôµÄ×é¡£»ØÒäÒ»ÏÂ4ª±6½Ú£¬ÐÂÎļþµÄ×éI  
 
D¿ÉÄÜÊǸ¸  
 
Ŀ¼µÄ×éID¡£ÌØ±ðµØ£¬Èç¹ûÐÂÎļþµÄ×éID²»µÈÓÚ½ø³ÌµÄÓÐЧ×éID»òÕß½ø³ÌÌí¼Ó×éI  
 
DÖеÄÒ»¸ö  
 
£¬ÒÔ¼°½ø³ÌûÓг¬¼¶Óû§ÓÅÏÈÊý£¬ÄÇôÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλ×Ô¶¯±»¹Ø±Õ¡£  
 
Õâ¾Í·ÀÖ¹  
 
ÁËÓû§´´½¨Ò»¸öÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDÎļþ£¬¶ø¸ÃÎļþÊÇÓɲ¢·Ç¸ÃÓû§ËùÊôµÄ  
 
×éÓµÓеĠ 
 
¡£ª¥  
 
4ª±3+BSDºÍÆäËü±´¿ËÀ³µ¼³öµÄϵͳÔö¼ÓÁËÁíÍâµÄ°²È«ÐÔÌØÕ÷ÒÔÊÔͼ·ÀÖ¹±£»ñλµÄ´í  
 
ÎóʹÓᣠ 
 
Èç¹ûÒ»¸öûÓг¬¼¶Óû§ÓÅÏÈÊýµÄ½ø³Ìдһ¸öÎļþ£¬ÔòÉèÖÃÒ»Óû§ ¼£Ã£Ä££ª³£²¡½I  
 
DλºÍÉèÖà 
 
Ò»×é ¼£Ã£Ä££ª³£²¡½IDλ×Ô¶¯  
 
±»Çå³ý¡£Èç¹ûÒ»¸ö²»»³ºÃÒâµÄÓû§ÕÒµ½Ò»¸öËû¿ÉÒÔдµÄÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½I  
 
DºÍÉèÖÃÒ»  
 
Óû§ ¼£Ã£Ä££ª³£²¡½IDÎļþ£¬¼´Ê¹Ëû¿ÉÒÔÐ޸ĴËÎļþ£¬µ«Ê§È¥Á˶ԸÃÎļþµÄÌØ±ðÓÅ  
 
ÏÈÊý¡£ª¤  
 
4ª±10¡þճס몥  
 
S ¼£Ã£Ä££ª³£²¡½ISVTXλÓÐÒ»¶ÎÓÐȤµÄÀúÊ·¡£ÔÚUnixµÄÔçÆÚ°æ±¾£¬Õâһλ±»³ÆÖ®Îª  
 
ճסλ¡£  
 
Èç¹ûÒ»¸ö¿ÉÖ´  
 
ÐгÌÐòÎļþµÄÕâһλ±»ÉèÖÃÁË£¬ÄÇôÔڸóÌÐòµÚÒ»´ÎÖ´Ðв¢½áÊøÊ±£¬¸Ã³ÌÐòÕýÎĵĠ 
 
Ò»¸öÎı¾  
 
±»±£´æÔÚ½»»»Çø¡£(³ÌÐòµÄÕýÎIJ¿·ÖÊÇ»úÆ÷Ö¸Á·Ö¡£)ÕâʹµÃÏ´ÎÖ´ÐиóÌÐòʱÄÜ  
 
½Ï¿ìµØ½«  
 
Æä×°ÈëÄÚ´æÇø¡£ÆäÔ­ÒòÊÇ£ºÔÚ½»»»Çø£¬¸ÃÎļþÊDZ»Á¬Ðø´æ·ÅµÄ£¬¶øÔÚÒ»°ãµÄUnixÎÄ  
 
¼þϵͳÖР 
 
£¬ÎļþµÄ¸÷Êý¾Ý¿éºÜ¿ÉÄÜÊÇËæ»ú´æ·ÅµÄ¡£¶ÔÓÚ³£ÓõÄÓ¦ÓóÌÐò£¬ÀýÈçÎı¾±à¼­³ÌÐò  
 
ºÍ±à¼­³Ì  
 
ÐòµÄ¸÷²¿·Ö³£ÉèÖÃËüÃÇËùÔÚÎļþµÄճסλ¡£×ÔÈ»£¬¶Ô½»»»ÇøÖпÉÒÔͬʱ´æ·ÅµÄÉèÖà 
 
ÁËճסλ  
 
µÄÎļþÊýÓÐÒ»¶¨ÏÞÖÆ£¬ÒÔÃâ¹ý¶àÕ¼Óý»»»Çø¿Õ¼ä£¬µ«ÎÞÂÛÈçºÎÕâÊÇÒ»¸öÓÐÓõļ¼Êõ  
 
¡£ÒòΪÔÚ  
 
ϵͳÔÙ´Î×Ô²Ýǰ£¬ÎļþµÄÕýÎIJ¿·Ö×ÜÊÇÔÚ½»»»ÇøÖУ¬ËùÒÔʹÓÃÁËÃû×Ö"ճס"¡£ºóÀ´  
 
µÄUnix  
 
°æ±¾³ÆÖ®Îª±£´æ ¼£Ã£Ä££ª³£²¡ ÕýÎÄ룬Òò´ËÒ²¾ÍÓÐÁ˳£ÊýS ¼£Ã£Ä££ª³£²¡½ISVT  
 
X¡£ÏÖ½ñ½Ï  
 
еÄUnixϵͳ´ó¶àÊý¶¼¾ßÓÐÐé´æÏµÍ³£¬ÒÔ¼°¿ìËÙÎļþϵͳ£¬ËùÒÔ¿ÉÔÙÐèҪʹÓÃÕâÖÖ  
 
¼¼Êõ¡£ª¥  
 
ĿǰճסλµÄÖ÷Òª×÷ÓÃÊÇÕë¶ÔĿ¼ÎļþµÄ¡£Èç¹û¶ÔÒ»¸öĿ¼ÉèÖÃÁËճס룬ÔòÖ»ÓР 
 
¶Ô¸ÃĿ¼  
 
Îļþ¾ßÓÐдÐí¿ÉÊýµÄÓû§²¢ÇÒÂú×ãÏÂÁÐÌõ¼þÖ®Ò»£¬²ÅÄÜɾ³ý»ò»»Ãû¸ÃĿ¼ÏµÄÎļþ  
 
£ºª¥  
 
¡¤ÓµÓдËÎļþª¥  
 
¡¤ÓµÓдËĿ¼£¬»òÕߪ¥  
 
¡¤Êdz¬¼¶Óû§ª¥  
 
Ŀ¼/tmpºÍ/var/spool/uucppublicÊÇÉèÖÃճסλµÄºóÑ¡Õß-ÕâÁ½¸öĿ¼ÊÇÈκÎÓû§  
 
¶¼¿ÉÔÚ  
 
ÆäÖд´½¨ÎļþµÄĿ¼¡£ÕâÁ½¸öĿ¼¶ÔÈÎÒ»Óû§(Óû§¡¢×éºÍÆäËû)µÄÐí¿ÉÊýͨ³£¶¼ÊÇ  
 
¶Á¡¢Ð´ºÍ  
 
Ö´ÐС£µ«ÊÇÓû§²»Ó¦ÄÜɾ³ý»ò»»ÃûÊôÓÚÆäËûÈ˵ÄÎļþ£¬Îª´ËÔÚÕâÁ½¸öĿ¼µÄÎļþ·½  
 
ʽÖж¼Éè  
 
ÖÃÁËճסλ¡£ª¥  
 
POSIXª±1ûÓж¨Òåճסλ¡£µ«SVR4ºÍ4ª±3+BSDÔòÖ§³ÖÕâÖÖÌØÕ÷¡£ª¤  
 
4ª±11¡þchown,fchownºÍlchownº¯Êýª¥  
 
chownº¯Êý¿ÉÓÃÓÚ¸ü¸ÄÎļþµÄÓû§IDºÍ×éID¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<unistdª±h>ª¥  
 
int chown(const char *ª«pathname,ª«uid ¼£Ã£Ä££ª³£²¡½t ª«ownerª«,gid¡¼£Ã  
 
 Ä££ª³£²  
 
¡½tª« group);ª«ª¥  
 
int fchown(int ª«filedes,ª«uid ¼£Ã£Ä££ª³£²¡½t ª«owner,ª«gid ¼£Ã£Ä££ª³£²  
 
¡½t ª«gro  
 
up);ª«ª¥  
 
int lchown(const char *ª«pathname,ª«uid ¼£Ã£Ä££ª³£²¡½t ª«owner,ª«gid¡¼£Ã  
 
 Ä££ª³£²  
 
¡½t ª«group);ª«ª¥  
 
Èý¸öº¯ÊýµÄ·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ-1ª¥  
 
³ýÁËËùÒýÓõÄÎļþÊǸö·ûºÅÁ¬½ÓÒÔÍ⣬ÕâÈý¸öº¯ÊýµÄ²Ù×÷ÏàÀàËÆ¡£ÔÚ·ûºÅÁ¬½ÓÇé¿ö  
 
Ï£¬lcho  
 
wn¸ü¸Ä·ûºÅÁ¬½Ó±¾ÉíµÄÊôÖ÷£¬¶ø²»ÊǸ÷ûºÅÁ¬½ÓËùÖ¸ÏòÎļþµÄÊôÖ÷¡£ª¥  
 
fchownº¯Êý²¢²»ÔÚPOSIX 1003ª±1-1990±ê×¼ÖУ¬µ«ºÜ¿ÉÄܱ»¼Óµ½1003ª±1a£¬SVR4ºÍ  
 
4ª±3+BS  
 
DÔòÖ§³Öfchown¡£ª¥  
 
Ö»ÓÐSVR4Ö§³Ölchownº¯Êý¡£ÔÚ·ÇSVR4ϵͳÖÐ(POSIXª±1ºÍ4ª±3+BSD)£¬ÈôchownµÄ²Î  
 
Êýpathnam  
 
eÊÇ·ûºÅÁ¬½Ó£¬Ôò¸Ä±ä¸Ã·ûºÅÁ¬½ÓµÄÊôÖ÷¹ØÏµ£¬¶ø²»¸Ä±äËüËùÖ¸ÏòµÄÎļþµÄÊôÖ÷¹Ø  
 
ϵ¡£ÎªÁË  
 
¸ü¸Ä¸Ã·ûºÅÁ¬½ÓËùÖ¸ÏòµÄÎļþµÄÊôÖ÷¹ØÏµ£¬ÎÒÃÇÓ¦Ö¸¶¨¸Ãʵ¼ÊÎļþ±¾ÉíµÄpathnam  
 
e,¶ø²»ÊÇ  
 
Ö¸Ïò¸ÃÎļþµÄÁ¬½ÓÎļþµÄpathname¡£ª¥  
 
SVR4£¬4ª±3+BSDºÍXPG3ÔÊÐíÎÒÃǽ«²ÎÊýowner»ògroupÖ¸¶¨Îª-1,ÒÔ±íʾ²»¸Ä±äÏàÓ¦  
 
µÄID¡£Õâ  
 
²»ÊÇPOSIXª±1µÄÒ»²¿·Ö¡£ª¥  
 
»ùÓÚ±´¿ËÀ³µÄϵͳһֱ¹æ¶¨Ö»Óг¬¼¶Óû§²ÅÄܸü¸ÄÒ»¸öÎļþµÄÊôÖ÷¡£ÕâÑù×öµÄÔ­Òò  
 
ÊÇ·ÀÖ¹Óà 
 
»§¸Ä±äÆäÎļþµÄÊôÖ÷´Ó¶ø°ÚÍÑÅ̿ռäÏÞ¶î¶ÔËûÃǵÄÏÞÖÆ¡£µ«ÊÇ£¬ÏµÍ³VÔòÔÊÐíÈÎÒ»  
 
Óû§¸ü¸Ä  
 
ËûÃÇËùÓµÓеÄÎļþµÄÊôÖ÷¡£ª¥  
 
°´ÕÕ ¼£Ã£Ä££ª³£²¡½POSIX ¼£Ã£Ä££ª³£²¡½CHOWN ¼£Ã£Ä££ª³£²¡½RESTRICTEDµÄÖµ£¬  
 
POSIXª±1  
 
ÔÚÕâÁ½ÖÖÐÎʽµÄ²Ù×÷ÖÐÑ¡ÓÃÒ»ÖÖ¡£FIPS £ü µ£ü¡¼£Ã£Ä££ª³£²¡½1ÒªÇ󠼣ãģ£ª³£²  
 
¡½POSIX  
 
 ¼£Ã£Ä££ª³£²¡½CHOWN ¼£Ã£Ä££ª³£²¡½RESTRICTED¡£ª¥  
 
¶ÔÓÚSVR4£¬´Ë¹¦ÄÜÊǸöÅäÖÿÉÑ¡ÔñÏ¶ø4ª±3£«BSDÔò×ܶÔchownÊ©¼ÓÁËÏÞÖÆ¡£ª¥  
 
»ØÒäͼ2ª±5£¬¸Ã³£Êý¿ÉÑ¡µØ¶¨ÒåÔÚÍ·Îļþ<unistdª±h>ÖУ¬¶øÇÒ×ÜÊÇ¿ÉÒÔÓÃpathco  
 
nf»òfpath  
 
confº¯Êý²éѯ¡£´Ë¿ÉÑ¡ÏÓëËùÒýÓõÄÎļþÓйØ-¿ÉÔÚÿ¸öÎļþϵͳ»ù´¡ÉÏ£¬Ê¹¸Ã  
 
ÈÎÑ¡ÏîÆð  
 
×÷Óûò²»Æð×÷Óá£ÔÚÏÂÎÄÖУ¬ÎÒÃÇÈçÌá¼°"Èô ¼£Ã£Ä££ª³£²¡½POSIX ¼£Ã£Ä££ª³£²¡½  
 
CHOWN¡¼  
 
 Ã£Ä££ª³£²¡½RESTRICTEDÆð×÷ÓÃ"£¬Ôò±íʾ  
 
ÕâÊÊÓÃÓÚÎÒÃÇÕýÔÚ̸¼°µÄÎļþ£¬¶ø²»¹Ü¸Ãʵ¼Ê³£ÊýÊÇ·ñÔÚÍ·ÎļþÖж¨Òå¡£(ÀýÈ磬  
 
4ª±3+BSD  
 
×ÜÓÐÕâÖÖÏÞÖÆ£¬¶ø²¢²»ÔÚÍ·ÎļþÖж¨Òå´Ë³£Êý¡£)ª¥  
 
Èô ¼£Ã£Ä££ª³£²¡½POSIX ¼£Ã£Ä££ª³£²¡½CHOWN ¼£Ã£Ä££ª³£²¡½RESTRICTED¶ÔÖ¸¶¨µÄ  
 
ÎļþÆð×÷  
 
Óã¬Ôòª¥  
 
1ª±Ö»Óг¬¼¶Óû§½ø³ÌÄܸü¸Ä¸ÃÎļþµÄÓû§ID¡£ª¥  
 
2ª±ÈôÂú×ãÏÂÁÐÌõ¼þ£¬Ò»¸ö·Ç³¬¼¶Óû§½ø³Ì¿ÉÒÔ¸ü¸Ä¸ÃÎļþµÄ×éID£ºª¥  
 
aª±½ø³ÌÓµÓдËÎļþ(ÆäÓÐЧÓû§IDµÈÓÚ¸ÃÎļþµÄÓû§ID)£¬ÒÔ¼°ª¥  
 
bª±²ÎÊýownerµÈÓÚÎļþµÄÓû§ ¼£Ã£Ä££ª³£²¡½ID£¬²ÎÊýgroupµÈÓÚ½ø³ÌµÄÓÐЧ×éID  
 
»ò½ø³ÌµÄ  
 
Ìí¼Ó×éIDÖ®Ò»¡£ª¤  
 
ÕâÒâζ×Å£¬µ± ¼£Ã£Ä££ª³£²¡½POSIX ¼£Ã£Ä££ª³£²¡½CHOWN ¼£Ã£Ä££ª³£²¡½RESTRIC  
 
TEDÓÐЧʱ  
 
£¬Äã²»Äܸü¸ÄÆä  
 
ËûÓû§µÄÎļþµÄÓû§ID¡£Äã¿ÉÒÔ¸üÈëÄãËùÓµÓõÄÎļþµÄ×éID£¬µ«Ö»Äܸĵ½ÄãËùÊôÓÚ  
 
µÄ×é¡£ª¥  
 
Èç¹ûÕâЩº¯ÊýÓɷdz¬¼¶Óû§½ø³Ìµ÷Óã¬ÔòÔڳɹ¦·µ»ØÊ±£¬¸ÃÎļþµÄÉèÖÃÒ»Óû§¡¼£Ã  
 
 Ä££ª³£²  
 
¡½IDλºÍÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλ¶¼±»Çå³ý¡£ª¤  
 
4ª±12¡þÎļþ³¤¶Èª¥  
 
stat½á¹¹µÄ³ÉÔ±st ¼£Ã£Ä££ª³£²¡½sige°üº¬ÁËÒÔ×Ö½ÚΪµ¥Î»µÄ¸ÃÎļþµÄ³¤¶È¡£´Ë×Ö  
 
¶ÎÖ»¶ÔÆÕ  
 
ͨÎļþ¡¢Ä¿Â¼ÎļþºÍ·ûºÅÁ¬½Ó²ÅÊÇÓÐÒâÒåµÄ¡£ª¥  
 
SVR4¶Ô¹ÜµÀÒ²¶¨ÒåÁËÎļþ³¤¶È£¬Ëü±íʾ¿É´Ó¸Ã¹ÜµÀÖжÁµ½µÄ×Ö½ÚÊý£¬ÎÒÃǽ«ÔÚ14ª±  
 
2ÖÐÌÖÂÛ  
 
¹ÜµÀ¡£ª¥  
 
¶ÔÓÚÆÕͨÎļþ£¬ÆäÎļþ³¤¶È¿ÉÒÔÊÇ0£¬ÔÚ¶ÁÕâÖÖÎļþʱ£¬½«µÃµ½Îļþ½áÊøÖ¸Ê¾¡£ª¥  
 
   
 
¶ÔÓÚĿ¼£¬Îļþ³¤¶Èͨ³£ÊÇÒ»¸öÊý£¬ÀýÈç16»ò512µÄÕû±¶Êý£¬ÎÒÃǽ«ÔÚ4ª±21½ÚÖÐ˵  
 
Ã÷¶ÁĿ¼  
 
²Ù×÷¡£ª¥  
 
¶ÔÓÚ·ûºÅÁ¬½Ó£¬Îļþ³¤¶ÈÊÇÔÚÎļþÃûÖеÄʵ¼Ê×Ö½ÚÊý¡£ÀýÈ磬ª¤  
 
lrwxrwxrwx 1 root 7 Sep 25 07:14 lib->usr/libª¤  
 
ÆäÖУ¬Îļþ³¤¶È7¾ÍÊÇ·¾¶Ãûusr/libµÄ³¤¶È¡£(×¢Ò⣬ÒòΪ·ûºÅÁ¬½ÓÎļþ³¤¶È×ÜÊÇ  
 
ÓÉst¡¼£Ã  
 
 Ä££ª³£²¡½sigeָʾ£¬ËùÒÔ·ûºÅÁ¬½Ó²¢²»°üº¬Í¨³£CÓïÑÔÓÃ×÷Ãû×Ö½áβµÄnull×Ö·û  
 
¡£)ª¥  
 
SVR4ºÍ4ª±3+BSDÒ²Ìṩ×Ö¶Îst ¼£Ã£Ä££ª³£²¡½blksigeºÍst ¼£Ã£Ä££ª³£²¡½blocks  
 
¡£µÚÒ»¸ö  
 
ÊǶÔÎļþI/O½ÏºÃµÄ¿é³¤¶È£¬µÚ  
 
¶þ¸öÊÇËù·ÖÅäµÄʵ¼Ê512×Ö½Ú¿é¿éÊý¡£»ØÒäÒ»ÏÂ3ª±9½Ú£¬ÆäÖÐÌáµ½Á˵±ÎÒÃǽ«st¡¼  
 
 Ã£Ä££ª³  
 
£²¡½blksigeÓà 
 
ÓÚ¶Á²Ù×÷ʱ£¬¶ÁÒ»¸öÎļþËùÐèµÄ×îÉÙʱ¼äÁ¿¡£ÎªÁËЧÂʵÄÔµ¹Ê£¬±ê×¼I/O¿â(ÎÒÃǽ«  
 
ÔÚµÚÎåÕ  
 
ÖÐ˵Ã÷)Ò²ÊÔͼһ´Î¶Á¡¢Ð´st ¼£Ã£Ä££ª³£²¡½blksige×Ö½Ú¡£ª¥  
 
ÒªÖªµÀ£¬²»Í¬µÄUnix°æ±¾Æäst-blocksËùÓõĵ¥Î»¿ÉÄܲ»ÊÇ512-×ֽڿ顣ʹÓôËÖµ  
 
²¢²»Êǿɠ 
 
ÒÆÖ²µÄ¡£ª¤  
 
ÎļþÖеĿն´ª¥  
 
ÔÚ3ª±6½ÚÖУ¬ÎÒÃÇÌá¼°ÆÕͨÎļþ¿ÉÒÔ°üº¬"¿Õ¶´"¡£ÔÚ³ÌÐò3ª±2ÖÐÀýʾÁËÕâÒ»µã¡£¿Õ  
 
¶´ÊÇÓÉ  
 
³¬¹ýÎļþ½áβ¶ËµÄÎ»ÒÆÁ¿ÉèÖ㬲¢Ð´ÁËijЩÊý¾ÝºóÔì³ÉµÄ¡£×÷Ϊһ¸öÀý×Ó£¬¿¼ÂÇÏ  
 
ÁÐÇé¿ö£º  
 
ª¥  
 
$ ls -1 coreª¥  
 
-rw-r--r-- 1 stevens 8483248 Nov 18 12:18 coreª¥  
 
$ du -s coreª¥  
 
272 coreª¤  
 
ÎļþcoreµÄ³¤¶È³¬¹ý8Õ××Ö½Ú£¬¶øduÃüÁîÔò±¨¸æ¸ÃÎļþËùʹÓõÄÅ̿ռä×ÜÁ¿ÊÇ272¸ö  
 
512×Ö½Ú  
 
¿é(139£¬264×Ö½Ú)¡£(Ôںܶ౴¿ËÀ³ÀàµÄϵͳÉÏ£¬duÃüÁ¸æ1024×Ö½Ú¿é¿éÊý£»SV  
 
R4Ôò±¨¸æ5  
 
12-×Ö½Ú¿é¿éÊý¡£)ºÜÃ÷ÏÔ£¬´ËÎļþÓкܶà¿Õ¶´¡£ª¥  
 
ÕýÈçÎÒÃÇÔÚ3ª±6½ÚÖÐÌá¼°µÄ£¬readº¯Êý¶ÔÓÚûÓÐд¹ýµÄ×Ö½ÚλÖöÁµ½µÄÊý¾Ý×Ö½ÚÊÇ  
 
0¡£Èç¹û  
 
ÎÒÃÇÖ´ÐУºª¥  
 
$ wc -c coreª¥  
 
8483248 coreª¤  
 
´Ó´Ë¿É¼û£¬Õý³£µÄI/O²Ù×÷¶ÁÖÁÕû¸öÎļþ³¤¶È¡£´ø-cÑ¡ÔñÏîµÄ(wc(1)ÃüÁî¼ÆËãÎļþ  
 
ÖеÄ×Ö·û(  
 
×Ö½Ú)Êý¡£)ª¥  
 
Èç¹ûÎÒÃÇʹÓù«ÓóÌÐò£¬ÀýÈçcat,¸´ÖÆÕâÖÖÎļþ£¬ÄÇôËùÓÐÕâЩ¿Õ¶´¶¼±»Ð´³Éʵ¼Ê  
 
Êý¾Ý×Ö½Ú  
 
0¡£ª¥  
 
$ cat core>coreª±copyª¥  
 
$ ls -1 core*ª¥  
 
-rw-r--r-- 1 stevens 8483248 Nov 18 12:18 coreª¥  
 
-rw-rw-r-- 1 stevens 8483248 Nov 18 12:27 coreª±copyª¥  
 
$ du -s core*ª¥  
 
272 coreª¥  
 
16592 coreª±copyª¤  
 
´ÓÖпɼû£¬ÐÂÎļþËùÓõÄ×Ö½ÚÊýÊÇ8£¬495£¬104(512¡Á£±£¶£¬£µ£¹£²£©¡£´Ë³¤¶ÈÓë  
 
lsÃüÁ  
 
¸æµÄ³¤¶ÈÖ®¼äµÄ²î±ðÊÇÓÉÓÚÎļþϵͳʹÓÃÁËÈô¸É¿éÒÔ±£³ÖÖ¸Ïòʵ¼ÊÊý¾Ý¿éµÄ¸÷Ö¸Õë  
 
¡£ª¥  
 
ÓÐÐËȤµÄ¶ÁÕßÓ¦µ±²ÎÔÄBach¡²£±£¹ ¸£¶¡ µÄ4ª±2½ÚºÍLeffler¡²1989¡³µÄ7ª±2½Ú£¬  
 
ÒÔ¸üÏêϸ  
 
µØÁ˽âÎļþµÄÎïÀí°²ÅÅ¡£ª¤  
 
4ª±13¡þÎļþ½Ø¶Ìª¥  
 
ÓÐʱÎÒÃÇÐèÒªÔÚÎļþβ¶Ë´¦½ØÈ¥Ò»Ð©Êý¾ÝÒÔËõ¶ÌÎļþ¡£½«Ò»¸öÎļþµÄ³¤¶È½Ø¶ÌΪ0  
 
ÊÇÒ»¸öÌØ  
 
Àý£¬ÔÚopenÒ»¸öÎļþʱָ¶¨O ¼£Ã£Ä££ª³£²¡½TRUNC±êÖ¾¾Í¿ÉÒÔ×öµ½ÕâÒ»µã¡£ÎªÁ˽ؠ 
 
¶ÌÎļþ¿É  
 
ÒÔʹÓÃϵͳµ÷Óú¯ÊýtruncateºÍftruncate¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<unistdª±h>ª¥  
 
int truncate(const char *ª«pathname,ª«off ¼£Ã£Ä££ª³£²¡½t ª«length);ª«ª¥  
 
   
 
int ftruncate(int ª«filedes,ª«off ¼£Ã£Ä££ª³£²¡½t ª«length);ª«ª¥  
 
Á½¸öº¯ÊýµÄ·µ»Ø£»Èô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
ÕâÁ½¸öº¯Êý½«ÓÉ·¾¶Ãûpathname»ò´ò¿ªÎļþÃèÊö·ûfiledesÖ¸¶¨µÄÒ»¸öÏÖ´æÎļþµÄ  
 
³¤¶È½Ø¶Ì  
 
Ϊlength¡£Èç¹û¸ÃÎļþÒÔǰµÄ³¤¶È´óÓÚLength,Ôò³¬¹ýLengthÒÔÍâµÄÊý¾Ý¾Í²»ÔÙÄÜ  
 
´æÈ¡¡£Èç  
 
¹ûÒÔǰµÄ³¤¶È¶ÌÓÚLength£¬ÔòÆäºó¹ûÓëϵͳÓйء£Èç¹ûij¸öʵÏֵĴ¦ÀíÊÇÀ©Õ¹¸ÃÎÄ  
 
¼þ£¬ÔòÔÚ  
 
ÒÔǰµÄÎļþβ¶ËºÍеÄÎļþβ¶ËÖ®¼äµÄÊý¾Ý½«¶Á×÷Ϊ0(Ò²¾ÍÊÇÔÚÎļþÖд´½¨ÁËÒ»¸ö  
 
¿Õ¶´)¡£  
 
ª¥  
 
SVR4ºÍ4ª±3+BSDÌṩÁËÕâÁ½¸öº¯Êý¡£ËüÃDz»ÊÇPOSIXª±1»òXPG3µÄ×é³É²¿·Ö¡£ª¥  
 
SVR4½Ø¶Ì»òÀ©Õ¹Ò»¸öÎļþ¡£4ª±3+BSDÖ»ÓÃÕâÈý¸öº¯Êý½Ø¶ÌÒ»¸öÎļþ-²»ÄÜÓÃËüÃÇÀ©  
 
Õ¹Ò»¸öÎÄ  
 
¼þ¡£ª¥  
 
Unix´ÓÀ´¾ÍûÓнضÌÎļþµÄÒ»ÖÖ±ê×¼·½·¨¡£ÍêÈ«¼æÈݵÄÓ¦ÓóÌÐò±ØÐë¶ÔÎļþÖÆ×÷Ò»  
 
¸ö¸±±¾£¬  
 
ÔÚÖÆ×÷Ëüʱֻ¸´ÖÆËùÏ£ÍûµÄÊý¾Ý×Ö½Ú¡£ª¥  
 
SVR4µÄfcntlÖÐÓÐÒ»¸öPOSIXª±1ûÓй涨µÄÃüÁîF ¼£Ã£Ä££ª³£²¡½FREESP,ËüÔÊÐíÊÍ  
 
·ÅÒ»¸öÎÄ  
 
¼þÖеÄÈκÎÒ»²¿·Ö£¬¶ø²»Ö»ÊÇÎļþβ¶Ë´¦µÄÒ»²¿·Ö¡£ª¥  
 
ÔÚ³ÌÐò12ª±5ÖУ¬ÎÒÃÇʹÓÃÁËftruncateº¯Êý£¬ÒÔ±ãÔÚ»ñµÃ¶Ô¸ÃÎļþµÄËøºó£¬Ê¹Ò»¸ö  
 
Îļþ±äÍê  
 
¡£ª¤  
 
4ª±14¡þÎļþϵͳª¥  
 
ΪÁË˵Ã÷ÎļþÁ¬½ÓµÄ¸ÅÄÏÈÒª¶ÔÎļþϵͳµÄ½á¹¹Óлù±¾Á˽⡣ͬʱ£¬Á˽âi¡¼£Ã  
 
 Ä££ª³£²  
 
¡½nodeºÍÖ¸ÏòÒ»¸öi ¼£Ã£Ä££ª³£²¡½nodeµÄĿ¼ÏîÖ®¼äµÄÇø±ðÒ²ÊǺÜÓÐÒæµÄ¡£ª¥  
 
ÏÖÔÚ£¬ÓкܶàUnixÎļþϵͳµÄʵÏÖ¡£ÀýÈ磬SVR4Ö§³ÖÁ½ÖÖ²»Í¬ÀàÐ͵ÄÅÌÎļþϵͳ£º  
 
´«Í³µÄUn  
 
ixϵͳVÎļþϵͳ(³ÆÎª55)£¬ÒÔ¼°Í³Ò»Îļþϵͳ(³ÆÎªUFS)¡£ÔÚͼ2ª±6ÖУ¬ÎÒÃÇÒÑ¿´  
 
µ½ÁËÕâÁ½  
 
ÖÖÎļþϵͳµÄÒ»¸öÇø±ð¡£UFSÊÇÒÔ±´¿ËÀ³¿ìËÙÎļþϵͳΪ»ù´¡µÄ¡£SVR4Ò²Ö§³ÖÁíÍâ  
 
һЩ·Ç´Å  
 
ÅÌÎļþϵͳ£¬Á½¸ö·Ö²¼Ê½Îļþϵͳ£¬ÒÔ¼°Ò»¸ö×Ô¾ÙÎļþϵͳ£¬ÕâЩÎļþϵͳ¶¼²»Ó°  
 
ÏìÏÂÃæµÄ  
 
ÌÖÂÛ¡£±¾½ÚÌÖÂÛ´«Í³µÄUnixϵͳVÎļþϵͳ¡£ÕâÖÖÀàÐ͵ÄÎļþϵͳ¿ÉÒÔ»ØËݵ½Vers  
 
ion7¡£ª¥  
 
ÎÒÃÇ¿ÉÒÔ°ÑÒ»¸öÅÌÇý·Ö³ÉÒ»¸ö»ò¶à¸ö·ÖÇø¡£Èçͼ4ª±7ÖÐËùʾ£¬Ã¿¸ö·ÖÇø¿ÉÒÔ°üº¬Ò»  
 
¸öÎļþϵ  
 
ͳ¡£ª¤ª¤ª¤  
 
ͼ4ª±7¡þÅÌÇý£¬·ÖÇøºÍÎļþϵͳª¥  
 
i ¼£Ã£Ä££ª³£²¡½nodeÊǹ̶¨³¤¶ÈµÄ¼Ç¼ÏËü°üº¬ÓйØÎļþµÄÐÅÏ¢¡£ª¥  
 
ÔÚVersion 7ÖУ¬Ò»¸öi ¼£Ã£Ä££ª³£²¡½nodeÕ¼ÓÃ64×Ö½Ú£¬ÔÚ4ª±3+BSDÖУ¬Ò»¸öi¡¼  
 
 Ã£Ä££ª³  
 
£²¡½nodeÕ¼ÓÃ128×Ö½Ú¡£ÔÚSVR4  
 
ÖУ¬ÔÚ´ÅÅÌÉÏÒ»¸öi ¼£Ã£Ä££ª³£²¡½nodeµÄ³¤¶ÈÓëÎļþϵͳµÄÀàÐÍÓйأºÒ»¸öS5 i  
 
 ¼£Ã£Ä££  
 
ª³£²¡½nodeÕ¼ÓÃ64×Ö½Ú£¬¶øUFS i ¼£Ã£Ä££ª³£²¡½nodeÕ¼ÓÃ128×Ö½Ú¡£ª¥  
 
Èç¹ûÔÚºöÂÔ×Ô¾Ù¿éºÍ³¬¼¶¿éÇé¿öÏ£¬¸üϸ×еع۲ìÎļþϵͳ£¬Ôò¿ÉÒԵõ½Í¼4ª±8ÖР 
 
ËùʾµÄÇé  
 
¿ö¡£ª¤ª¤ª¤  
 
ͼ4ª±8¡þ½ÏÏêϸµÄÎļþϵͳª¥  
 
×¢Òâͼ4ª±8ÖеÄÏÂÁи÷µã£ºª¥  
 
¡¤ÔÚͼÖÐÓÐÁ½¸öĿ¼ÏîÖ¸Ïòͬһi ¼£Ã£Ä££ª³£²¡½node¡£Ã¿¸öi ¼£Ã£Ä££ª³£²¡½nod  
 
eÖж¼ÓÐÒ»  
 
¸öÁ¬½Ó¼ÆÊý£¬ÆäÖµÊÇÖ¸Ïò¸Ãi ¼£Ã£Ä££ª³£²¡½  
 
nodeµÄĿ¼ÏîÊý¡£Ö»Óе±Á¬½Ó¼ÆÊý¼õÉÙΪ0ʱ£¬²Å¿Éɾ³ý¸ÃÎļþ(Ò²¾ÍÊÇ¿ÉÒÔÊͷŸà 
 
ÎļþÕ¼Óà 
 
µÄÊý¾Ý¿é)¡£Õâ¾ÍÊÇΪʲô"½â³ý¶ÔÒ»¸öÎļþµÄÁ¬½Ó"²Ù×÷²¢²»×ÜÊÇÒâζ×Å"ÊͷŸÃÎÄ  
 
¼þÕ¼  
 
ÓõÄÅÌ¿é"µÄÔ­Òò¡£ÕâÒ²¾ÍÊÇΪʲôɾ³ýÒ»¸öĿ¼ÏîµÄº¯Êý±»³ÆÖ®Îªunlink¶ø²»ÊÇ  
 
ɾ³ýµÄÔ­  
 
Òò¡£ÔÚstat½á¹¹ÖУ¬Á¬½Ó¼ÆÊý°üº¬ÔÚst ¼£Ã£Ä££ª³£²¡½nlink³ÉÔ±ÖУ¬Æä»ù±¾ÏµÍ³  
 
Êý¾ÝÀàÐÍ  
 
ÊÇnlonk ¼£Ã£Ä££ª³£²¡½t¡£Õâ  
 
ÖÖÁ¬½ÓÀàÐͳÆÖ®ÎªÓ²Á¬½Ó¡£»ØÒäͼ2ª±7£¬ÆäÖУ¬POSIXª±1³£ÊýLINK ¼£Ã£Ä££ª³£²¡½  
 
MAXÖ¸¶¨  
 
ÁËÒ»¸öÎļþÁ¬½ÓÊýµÄ×î´óÖµ¡£ª¥  
 
¡¤ÁíÍâÒ»ÖÖÁ¬½ÓÀàÐͳÆÖ®Îª·ûºÅÁ¬½Ó¡£¶ÔÓÚÕâÖÖÁ¬½Ó£¬¸ÃÎļþµÄʵ¼ÊÄÚÈÝ(ÔÚÊý¾Ý  
 
¿éÖÐ)°üº¬  
 
Á˸÷ûºÅÁ¬½ÓËùÖ¸ÏòµÄÎļþµÄÃû×Ö¡£ÔÚÏÂÁÐÀý×ÓÖУºª¥  
 
lrwxrwxrwx 1 root 7 sep 25 07:14 lib->urs/libª¥  
 
ÔÚ¸ÃĿ¼ÏîÖеÄÎļþÃûÊÇlib£¬¶øÔÚ¸ÃÎļþÖаüº¬ÁË7¸öÊý¾Ý×Ö½Úusr/lib¡£ÔÚ¸Ãi¡¼  
 
 Ã£Ä££ª³  
 
£²¡½nodeÖеÄÎļþÀàÐÍÊÇS ¼£Ã£Ä££ª³£²¡½IFLNK£¬ÓÚÊÇϵͳ֪µÀÕâÊÇÒ»¸ö·ûºÅÁ¬½Ó  
 
¡£ª¥  
 
¡¤i ¼£Ã£Ä££ª³£²¡½node°üº¬ÁËËùÓÐÓëÎļþÓйصÄÐÅÏ¢£ºÎļþÀàÐÍ£¬Îļþ´æÈ¡Ðí¿É  
 
Êý룬ÎÄ  
 
¼þ³¤¶È£¬Ö¸Ïò¸Ã  
 
ÎļþËùÕ¼ÓõÄÊý¾Ý¿éµÄÖ¸ÕëµÈµÈ¡£stat½á¹¹ÖеĴó¶àÊýÐÅÏ¢¶¼È¡×Ôi ¼£Ã£Ä££ª³£²  
 
¡½node¡£  
 
Ö»ÓР 
 
¶þÏîÊý¾Ý´æ·ÅÔÚĿ¼ÏîÖУºÎļþÃûºÍi ¼£Ã£Ä££ª³£²¡½node±àºÅÊý¡£i ¼£Ã£Ä££ª³£²  
 
¡½node±à  
 
ºÅÊýµÄÊý¾ÝÀàÐÍÊÇino ¼£Ã£Ä££ª³£²¡½t¡£ª¥  
 
¡¤ÒòΪÔÚĿ¼ÏîÖеÄi ¼£Ã£Ä££ª³£²¡½node±àºÅÊýÖ¸ÏòͬһÎļþϵͳÖеÄÒ»¸öi¡¼£Ã  
 
 Ä££ª³£²  
 
¡½node£¬ËùÒÔÎÒÃDz»ÄÜʹһ¸ö  
 
Ŀ¼ÏîÖ¸ÏòÁíÒ»¸öÎļþϵͳµÄi ¼£Ã£Ä££ª³£²¡½node¡£Õâ¾ÍÊÇΪʲôln(1)ÃüÁî(¹¹ÔìÒ»  
 
¸öÖ¸ÏòÒ»¸öÏÖ´æÎļþµÄÐÂĿ¼Ïî)£¬²»ÄÜ¿çÔ½ÎļþϵͳµÄÔ­Òò¡£ÎÒÃǽ«ÔÚÏÂÒ»½Ú˵Ã÷  
 
linkº¯Êý¡£ª¥  
 
¡¤µ±²»¸ü¸ÄÎļþϵͳÇé¿öÏÂΪһ¸öÎļþ¸Ä»»Ãû×Öʱ£¬¸ÃÎļþµÄʵ¼ÊÄÚÈݲ¢Î´Òƶ¯  
 
£¬ÐèÒª×öµÄ  
 
Êǹ¹ÔìÒ»¸öÖ¸ÏòÏÖ´æi ¼£Ã£Ä££ª³£²¡½nodeµÄÐÂĿ¼Ï²¢³ýÈ¥ÀϵÄĿ¼Ïî¡£ÀýÈç  
 
£¬Îª½«ÎÄ  
 
¼þ/usr/lib/fo  
 
o»»ÃûΪ/usr/foo£¬Èç¹ûĿ¼/usr/libºÍ/usrÔÚͬһÎļþϵͳÉÏ£¬ÔòÎļþfooµÄÄÚÈÝ  
 
ÎÞÐèÒÆ¶¯  
 
¡£Õâ¾ÍÊÇmv(1)ÃüÁîµÄͨ³£²Ù×÷·½Ê½¡£ª¥  
 
ÎÒÃÇ˵Ã÷ÁËÆÕͨÎļþµÄÁ¬½Ó¼ÆÊýµÄ¸ÅÄµ«ÊǶÔÓÚĿ¼ÎļþµÄÁ¬½Ó¼ÆÊý×Ö¶ÎÓÖÈçºÎ  
 
ÄØ?¼Ù¶¨  
 
ÎÒÃÇÔÚÐÂĿ¼Öй¹ÔìÁËÒ»¸öÐÂĿ¼£ºª¥  
 
$ mkdir testdirª¤  
 
ͼ4ª±9ÏÔʾÁËÆä½á¹û¡£×¢Ò⣬ÔÚ¸ÃͼÖУ¬ÎÒÃÇÏÔʽµØÏÔʾÁ˪±ºÍª±ª±Ä¿Â¼Ïî¡£ª¤ª¤  
 
ª¤  
 
ͼ4ª±9¡þÔÚ´´½¨ÁËĿ¼testdirºóµÄÑù±¾Îļþϵͳª¤  
 
±àºÅ2549µÄi ¼£Ã£Ä££ª³£²¡½nodeÆäÀàÐÍ×ֶαíʾËüÊÇÒ»¸öĿ¼£¬¶øÁ¬½Ó¼ÆÊý2¡£ÈΠ 
 
ºÎÒ»¸öÒ¶  
 
Ŀ¼(²»°üº¬ÈΠ 
 
ºÎÆäËüĿ¼£¬Ò²¾ÍÊÇ×ÓĿ¼µÄĿ¼)ÆäÁ¬½Ó¼ÆÊý×ÜÊÇ2£¬ÊýÖµ2À´×ÔÓÚÃüÃû¸ÃĿ¼µÄ  
 
Ŀ¼Ïî(te  
 
stdir)ÒÔ¼°ÔÚ¸ÃĿ¼ÖеαÏî¡£±àºÅΪ1267µÄi ¼£Ã£Ä££ª³£²¡½node£¬ÆäÀàÐÍ×ֶΠ 
 
±íʾËüÊÇ  
 
Ò»¸öĿ¼£¬¶øÆä  
 
Á¬½Ó¼ÆÊýÔò´óÓÚ»òµÈÓÚ3¡£Ëü´óÓÚ»òµÈÓÚ3µÄÔ­ÒòÊÇ£¬ÖÁÉÙÓÐÓÉÈý¸öĿ¼ÏîÖ¸ÏòËü£º  
 
Ò»¸öÊÇÃü  
 
ÃûËüµÄĿ¼Ïî(ÔÚͼ4ª±9ÖжÎÓбíʾ³öÀ´)£¬µÚ¶þ¸öÊÇÔÚ¸ÃĿ¼ÖеαÏµÚÈý¸öÊÇ  
 
ÔÚÆä×ÓÄ¿  
 
¼testdirÖе᪱Ïî¡£×¢Ò⣬ÔÚ¹¤×÷Ŀ¼ÖеÄÿ¸ö×ÓĿ¼¶¼Ê¹¸Ã¹¤×÷Ŀ¼µÄÁ¬½Ó  
 
¼ÆÊýÔö1¡£  
 
ª¥  
 
ÕýÈçÇ°ÃæËùÊö£¬ÕâÊÇUnixÎļþϵͳµÄ¾­µä¸ñʽ£¬ÔÚBach¡²1986¡³Ò»ÊеĵÚËÄÕÂÖжԠ 
 
´Ë×÷ÁË˵  
 
Ã÷¡£¹ØÓÚ±´¿ËÀ³¿ìËÙÎļþϵͳ¶Ô´ËËù×÷µÄ¸ü¸ÄÇë²ÎÔÄLeffler etal¡²£±£¹£¸£¹¡³ÖР 
 
µÄµÚÆßÕ  
 
¡£ª¤  
 
4ª±15¡þlink,unlink,removeºÍrenameº¯Êýª¥  
 
ÈçÉϽÚËùËùÊö£¬ÈκÎÒ»¸öÎļþ¿ÉÒÔÓжà¸öĿ¼ÏîÖ¸ÏòÆäi ¼£Ã£Ä££ª³£²¡½node¡£´´  
 
½¨Ò»¸öÏò  
 
ÏÖ´æÎļþµÄÁ¬½ÓµÄ·½·¨ÊÇʹÓÃlinkº¯Êý¡£ª¥  
 
#include<unistdª±h>ª¥  
 
int link(const char *ª«existingpath,ª«const char *ª«newpath);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ-1ª¤  
 
´Ëº¯Êý´´½¨Ò»¸öÐÂĿ¼Ïnewpath,ËüÒýÓÃÏÖ´æÎļþexistingpath¡£ÈçÈônewpath  
 
ÒѾ­´æÔÚ  
 
£¬Ôò³ö´í·µ»Ø¡£ª¥  
 
´´½¨ÐÂĿ¼ÏîÒÔ¼°Ôö¼ÓÁ¬½Ó¼ÆÊýÓ¦µ±ÊǸöÔ­×Ó²Ù×÷¡£(Çë»ØÒäÔÚ3ª±11½ÚÖжÔÔ­×Ó²Ù  
 
×÷µÄÌÖÂÛ  
 
¡£)ª¥  
 
´ó¶àÊýʵÏÖ£¬ÀýÈçSVR4ºÍ4ª±3£«BSDÒªÇóÕâÁ½¸ö·¾¶ÃûÔÚͬһ¸öÎļþϵͳÖС£ª¥  
 
POSIXª±1ÔÊÐíÖ§³Ö¿çÔ½ÎļþϵͳµÄÁ¬½ÓµÄʵÏÖ¡£ª¥  
 
Ö»Óг¬¼¶Óû§½ø³Ì¿ÉÒÔ´´½¨Ö¸ÏòÒ»¸öĿ¼µÄÐÂÁ¬½Ó¡£ÆäÀíÓÉÊÇÕâÑù×ö¿ÉÄÜÔÚÎļþϵ  
 
ͳÖÐÐγɠ 
 
Ñ­»·£¬´ó¶àÊý´¦ÀíÎļþϵͳµÄ¹«ÓóÌÐò¶¼²»ÄÜ´¦ÀíÕâÖÖÇé¿ö¡£(ÎÒÃÇÔÚ4ª±16½ÚÖн«  
 
˵Ã÷Ò»¸ö  
 
ÓÉ·ûºÅÁ¬½ÓÒýÈëµÄÑ­»·µÄÀý×Ó¡£)ª¥  
 
ΪÁËÒÆÈ¥Ò»¸öÏÖ´æµÄĿ¼ÏÎÒÃǵ÷ÓÃunlinkº¯Êý¡£ª¥  
 
#include <unistdª±h>ª¥  
 
int unlink(const char *ª«pathname);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
´Ëº¯ÊýÒÆÈ¥Ä¿Â¼Ï²¢½«ÓÉpathnameËùÒýÓõÄÎļþµÄÁ¬½Ó¼ÆÊý¼õ1¡£Èç¹û¸ÃÎļþ»¹  
 
ÓÐÆäËüÁ¬  
 
½Ó£¬ÔòÈÔ¿Éͨ¹ýÆäËüÁ¬½Ó´æÈ¡¸ÃÎļþµÄÊý¾Ý¡£Èç¹û³ö´í£¬Ôò¸ÃÎļþ×÷Èκθü¸Ä¡£ª¥  
 
   
 
ÎÒÃÇÔÚÇ°ÃæÒѾ­Ìá¼°£¬ÎªÁ˽â³ýÒ»¸ö¶ÔÎļþµÄÁ¬½Ó£¬ÎÒÃDZØÐë¶Ô°üº¬¸ÃĿ¼ÏîµÄÄ¿  
 
¼¾ßÓÐд  
 
ºÍÖ´ÐÐÐí¿ÉÊý¡£ÕýÈçÎÒÃÇÔÚ4ª±10½ÚÖÐËùÊö£¬Èç¹û¶Ô¸ÃĿ¼ÉèÖÃÁËճס룬ÔòÎÒÃÇ  
 
¶Ô¸ÃĿ¼  
 
±ØÐë¾ßÓÐдÐí¿ÉÊý£¬²¢ÇÒª¥  
 
¡¤ÓµÓиÃÎļþ£¬»òÕߪ¥  
 
¡¤ÓµÓиÃĿ¼£¬»òÕߪ¥  
 
¡¤¾ßÓг¬¼¶Óû§ÓÅÏÈÊýª¥  
 
Ö»Óе±Á¬½Ó¼ÆÊý´ïµ½0ʱ£¬¸ÃÎļþµÄÄÚÈÝÔٿɱ»É¾³ý¡£ÁíÒ»¸öÌõ¼þÒ²×èֹɾ³ýÎļþ  
 
µÄÄÚÈÝ-  
 
Ö»ÒªÓÐÒ»¸ö½ø³Ìʹ¸ÃÎļþ´ò¿ª£¬ÆäÄÚÈÝÒ²²»ÄÜɾ³ý¡£µ±¹Ø±ÕÒ»¸öÎļþʱ£¬ÏµÍ³ºËÊ×  
 
Ïȼì²éʹ  
 
¸ÃÎļþ´ò¿ªµÄ½ø³Ì¼ÆÊý¡£Èç¹û¸Ã¼ÆÊý´ïµ½0£¬È»ºóϵͳºË¼ì²éÆäÁ¬½Ó¼ÆÊý£¬Èç¹ûÕâ  
 
Ò²ÊÇ0£¬ÄÇ  
 
ô¾Íɾ³ý¸ÃÎļþµÄÄÚÈÝ¡£ª¤  
 
ʵÀýª¥  
 
³ÌÐò4ª±5´ò¿ªÒ»¸öÎļþ£¬È»ºóunlinkËü¡£Ö´ÐиóÌÐòµÄ½ø³ÌÈ»ºó˯Ãß15ÃëÖÓ£¬½Ó×Å  
 
¾ÍÖÕÖ¹¡£  
 
ª¤ª¤ª¤  
 
³ÌÐò4ª±5¡þ´ò¿ªÒ»¸öÎļþ£¬È»ºóunlinkËüÔËÐиóÌÐò£¬Æä½á¹ûÊÇ£ºª¥  
 
$ ls -1 tempfile¡þ²é¿´Îļþ´óСª¥  
 
-rw-r--r-- 1 stevens 9240990 Jul 31 13:42 tempfileª¥  
 
$ df/home¡þ¼ì²é¿Õ¼äÇøª¥  
 
Filesystem kbytes used avail capacity Mounted onª¥  
 
/dev/sd0h 282908 181979 72638 71% /homeª¥  
 
$ aª±out &¡þÔÚºǫ́ÔËÐгÌÐò4ª±5ª¥  
 
1364¡þshell´òÓ¡Æä½ø³ÌIDª¥  
 
$ file unlinked¡þ¸ÃÎļþÊÇδÁ¬½ÓµÄª¥  
 
ls -1 tempfile¡þ¹Û²ìÎļþÊÇ·ñÈԾɴæÔÚª¥  
 
tempfile not found¡þĿ¼ÏîÒÑɾ³ýª¥  
 
$ df/home¡þ¼ì²é¿Õ¼äÇøÓÐÎޱ仯ª¥  
 
Filesystem kbytes used avail capacity Mounted onª¥  
 
/dev/sd0h 282908 181979 72638 71% /homeª¥  
 
$ done¡þ³ÌÐòÖ´ÐнáÊø£¬ËùÓдò¿ªÎļþ½Ô¹Ø±Õ£¬ÏàÓ¦Å̿ռä³ÉΪ¿Õ¼äª¥  
 
df/homeª¥  
 
Filesystem kbytes used avail capacity Mounted onª¥  
 
/dev/sd0h 282908 172939 81678 68% /homeª¥  
 
ÏÖÔÚ£¬Å̿ռäÇøÔö¼ÓÁË9ª±2Mbytesª¥  
 
unlinkµÄÕâÖÖÌØÐÔ³£ÓɳÌÐòÓÃÀ´È·±£¼´±ã³ÌÐò±ÀÀ£ËüËù´´½¨µÄÁÙʱÎļþÒ²²»»áÒÅÁô  
 
ÏÂÀ´¡£½ø  
 
³ÌÓÃopen»òcreat´´½¨Ò»¸öÎļþ£¬È»ºóÁ¢¼´µ÷ÓÃunlink¡£ÒòΪ¸ÃÎļþÈÔ¾ÉÊÇ´ò¿ªµÄ  
 
£¬ËùÒÔ²»  
 
»á½«ÆäÄÚÈÝɾ³ý¡£Ö»Óе±½ø³Ì¹Ø±Õ¸ÃÎļþ»òÖÕֹʱ(ÔÚÕâÖÖÇé¿öÏ£¬ÏµÍ³ºË¹Ø±Õ¸Ã  
 
½ø³ÌËù´ò  
 
¿ªµÄÈ«²¿Îļþ)£¬¸ÃÎļþµÄÄÚÈÝÔÙ±»É¾³ý¡£ª¥  
 
ÈçÈôpathnameÊÇÒ»·ûºÅÁ¬½Ó£¬ÄÇôunlinkÉæ¼°µÄÊÇ·ûºÅÁ¬½Ó¶ø²»ÊÇÓɸÃÁ¬½ÓËùÒýÓà 
 
µÄÎļþ¡£  
 
ª¥  
 
³¬¼¶Óû§¿ÉÒÔµ÷ÓÃÆä²ÎÊýpathnameÖ¸¶¨Ò»¸öĿ¼µÄunlink£¬µ«ÊÇͨ³£²»Ê¹ÓÃÕâÖÖ·½  
 
ʽ£¬¶øÓ¦  
 
µ±Ê¹Óú¯ÊýrmdirÎÒÃǽ«ÔÚ4ª±20½ÚÖÐ˵Ã÷rmdirº¯Êý¡£ª¥  
 
ÎÒÃÇÒ²¿ÉÒÔÓÃremoveº¯Êý½â³ý¶ÔÒ»¸öÎļþ»òĿ¼µÄÁ¬½Ó¡£¶ÔÓÚÎļþ£¬removeµÄ¹¦ÄÜ  
 
Óëunlink  
 
Ïàͬ¡£¶ÔÓÚĿ¼£¬removeµÄ¹¦ÄÜÓërmdirÏàͬ¡£ª¥  
 
#include<stdioª±h>ª¥  
 
int remove(const char *ª«pathname);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¥  
 
ANSI CÖ¸¶¨removeº¯Êýɾ³ýÒ»¸öÎļþ¡£Õâ¸ü¸ÄÁËUnixÀúÀ´Ê¹ÓõÄÃû×Öunlink,ÆäÔ­  
 
ÒòÊÇʵÏÖC  
 
±ê×¼µÄ´ó¶àÊý·ÇUnixϵͳ²¢²»Ö§³ÖÎļþÁ¬½Ó¡£ª¥  
 
Îļþ»òĿ¼ÓÃrenameº¯Êý»»Ãû¡£ª¥  
 
#include<stdioª±h>ª¥  
 
int rename(const char *ª«oldname,ª«const char *ª«newname);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¥  
 
ANSI C ¶ÔÎļþ¶¨ÒåÁ˴˺¯Êý¡£(C±ê×¼²»´¦ÀíĿ¼¡£)POSIXª±1À©Õ¹´Ë¶¨Òå°üº¬ÁËÄ¿  
 
¼¡£ª¥  
 
ÒÀÀµÓÚoldnameÊÇÖ¸Îļþ»¹ÊÇĿ¼£¬ÓÐÁ½ÖÖÇé¿öÒª¼ÓÒÔ˵Ã÷¡£ÎÒÃÇҲӦ˵Ã÷Èç¹ûne  
 
wnameÒѾ­´æÔÚ½«»á·¢Éúʲô¡£ª¥  
 
1ª±ÈçÈôoldname˵Ã÷Ò»¸öÎļþ¶ø²»ÊÇĿ¼£¬ÄÇôΪ¸ÃÎļþ»»Ãû¡£ÔÚÕâÖÖÇé¿öÏ£¬  
 
Èç¹ûnewnam  
 
eÒÑ´æÔÚ£¬ÔòËü²»ÄÜÒýÓÃÒ»¸öĿ¼¡£ÈçÈônewnameÒÑ´æÔÚ£¬¶øÇÒ²»ÊÇÒ»¸öĿ¼£¬ÔòÏÈ  
 
½«¸ÃĿ¼  
 
Ïîɾ³ýÈ»ºó½«oldname»»ÃûΪnewname¡£¶Ô°üº¬oldnameµÄĿ¼ÒÔ¼°°üº¬newnameµÄÄ¿  
 
¼£¬µ÷Óà 
 
½ø³Ì±ØÐë¾ßÓÐдÐí¿ÉÊý£¬ÒòΪ½«¸ü¸ÄÕâÁ½¸öĿ¼¡£ª¥  
 
2ª±ÈçÈôoldname˵Ã÷Ò»¸öĿ¼£¬ÄÇôΪ¸ÃĿ¼»»Ãû¡£Èç¹ûnewnameÒÑ´æÔÚ£¬ÔòËü±Ø  
 
ÐëÒýÓÃÒ»  
 
¸öĿ¼£¬¶øÇÒ¸ÃĿ¼Ӧµ±ÊÇ¿ÕĿ¼¡£(ÎÒÃÇÌá¼°¿ÕĿ¼ʱ£¬Ö¸µÄÊǸÃĿ¼ÖÐÖ»ÓЪ±  
 
ºÍª±ª±Ïî  
 
¡£)Èç¹ûnewname´æÔÚ(¶øÇÒÊÇÒ»¸ö¿ÕĿ¼)£¬ÔòÏȽ«Æäɾ³ý£¬È»ºó½«oldname»»ÃûΪ  
 
newname¡£  
 
ÁíÍ⣬µ±ÎÒÃÇΪһ¸öĿ¼»»Ãûʱ£¬newname²»Äܰüº¬oldname×÷ΪÆä·¾¶Ç°×º¡£ÀýÈç  
 
£¬ÎÒÃDz»  
 
Äܽ«/usr/foo»»ÃûΪ/usr/foo/testdir,ÒòΪÀÏÃû×Ö(/usr/foo)ÊÇÐÂÃû×ֵķ¾¶Ç°  
 
׺£¬Òò¶ø  
 
²»Äܽ«ÆäÒÆÈ¥¡£ª¥  
 
3ª±×÷Ϊһ¸öÌØÀý£¬Èç¹ûoldnameºÍnewnameÒýÓÃͬһÎļþ£¬Ôòº¯Êý²¢²»×÷Èκθü¸Ä  
 
¶ø³É¹¦·µ  
 
»Ø¡£ª¥  
 
ÈçÈônewnameÒѾ­´æÔÚ£¬Ôòµ÷Óýø³ÌÐèÒª¶ÔÆäÓÐдÐí¿ÉÊý(Èçͬɾ³ýÇé¿öÒ»Ñù)¡£Áí  
 
Í⣬ѡÓà 
 
½ø³Ì½«É¾³ýoldnameĿ¼Ï²¢¿ÉÄÜÒª´´½¨newnameĿ¼ÏËùÒÔËüÐèÒª¶Ô°üº¬old  
 
nameµÄÄ¿  
 
¼¼°°üº¬newnameµÄĿ¼¾ßÓÐдºÍÖ´ÐÐÐí¿ÉÊý¡£ª¤  
 
4ª±16¡þ·ûºÅÁ¬½Óª¥  
 
Ò»¸ö·ûºÅÁ¬½ÓÊǶÔÒ»¸öÎļþµÄ¼ä½ÓÖ¸Õ룬ËüÓëÉÏÒ»½ÚËùÊöµÄÓ²Á¬½ÓÓÐËù²»Í¬£¬Ó²Á¬  
 
½ÓÖ±½ÓÖ¸  
 
ÏòÎļþµÄi ¼£Ã£Ä££ª³£²¡½node¡£Òý½ø·ûºÅÁ¬½ÓµÄÔ­ÒòÊÇΪÁ˱ÜÃâÓ²Á¬½ÓµÄһЩÏÞ  
 
ÖÆ£º(a)Ó²  
 
Á¬½Óͨ³£ÒªÇó  
 
Á¬½ÓºÍÎļþλÓÚͬһÎļþϵͳÖУ¬(b)Ö»Óг¬¼¶Óû§²ÅÄÜ´´½¨Ò»¸öµ½Ò»¸öĿ¼µÄÓ²  
 
Á¬½Ó¡£¶Ô  
 
·ûºÅÁ¬½ÓÒÔ¼°ËüÖ¸ÏòʲôûÓÐÎļþϵͳÏÞÖÆ£¬ÈκÎÓû§¶¼¿É´´½¨Ö¸ÏòĿ¼µÄ·ûºÅÁ¬  
 
½Ó¡£·ûºÅ  
 
Á¬½ÓµäÐ͵ØÓÃÓÚ½«Ò»¸öÎļþ»òÕû¸öĿ¼½á¹¹ÒƵ½ÏµÍ³ÖеÄij¸öÆäËüλÖᣪ¥  
 
·ûºÅÁ¬½ÓÓÉ4ª±2BSDÒý½ø£¬ºóÀ´Óֵõ½SVR4µÄÖ§³Ö¡£ÔÚSVR4ÖУ¬´«Í³µÄϵͳVÎļþϵ  
 
ͳ(S5)ºÍ  
 
ͳһÎļþϵͳ(UFS)¶¼Ö§³Ö·ûºÅÁ¬½Ó¡£ª¥  
 
POSIX 1003ª±1-1990±ê×¼²¢²»°üÀ¨·ûºÅÁ¬½Ó¡£µ«ºÜ¿ÉÄÜ»á¼Óµ½1003ª±1aÖС£ª¥  
 
µ±Ê¹ÓÃÒÔÃû×ÖÒýÓÃÒ»¸öÎļþµÄº¯Êýʱ£¬ÎÒÃÇÓ¦µ±Á˽â¸Ãº¯ÊýÊÇ·ñ´¦Àí·ûºÅÁ¬½Ó¹¦ÄÜ  
 
¡£Ò²¾ÍÊÇ  
 
ÊÇ·ñ¸úËæ·ûºÅÁ¬½Óµ½´ïËüËùÁ¬½ÓµÄÎļþ¡£ÈçÈô¸Ãº¯Êý´¦Àí·ûºÅÁ¬½Ó¹¦ÄÜ£¬Ôò¸Ãº¯Êý  
 
µÄ·¾¶Ãû  
 
²ÎÊýÒýÓÃÓÉ·ûºÅÁ¬½ÓÖ¸ÏòµÄÎļþ¡£·ñÔò£¬Ò»¸ö·¾¶Ãû²ÎÊýÒýÓÃÁ¬½Ó±¾Éí£¬¶ø²»ÊÇÓÉ  
 
¸ÃÁ¬½ÓÖ¸  
 
ÏòµÄÎļþ¡£Í¼4ª±10ÕªÒªÁгöÁ˱¾ÕÂÖÐËù˵Ã÷µÄ¸÷¸öº¯ÊýÊÇ·ñ´¦Àí·ûºÅÁ¬½Ó¹¦ÄÜ¡£  
 
ÒòΪrmdir  
 
²¢²»ÊÇÕë¶Ô·ûºÅÁ¬½Ó½øÐж¨ÒåµÄ(ºêpathÊÇ·ûºÅÁ¬½ÓÔò³ö´í·µ»Ø)£¬ËùÒÔÔÚͼ4ª±10  
 
ÖÐûÓÐÁР 
 
³öÕâÒ»º¯Êý¡£ÒòΪ¶Ô·ûºÅÁ¬½ÓµÄ´¦ÀíÊÇÓÉ·µ»ØÎļþÃèÊö·ûµÄº¯Êý½øÐеÄ(ͨ³£ÊÇop  
 
en)£¬ËùÒÔ  
 
ÒÔÎļþÃèÊö·û×÷Ϊ²ÎÊýµÄº¯Êý(fstat,fchmodµÈ)ҲδÁгö¡£chownÊÇ·ñ¸úËæ·ûºÅÁ¬  
 
½ÓÈ¡¾öÓÚ  
 
ʵÏÖ-¸÷ÖÖÓйØÏ¸½ÚÇë²ÎÔÄ4ª±11½Ú¡£ª¤ª¤ª¤  
 
ͼ4ª±10¡þ¸÷¸öº¯Êý¶Ô·ûºÅÁ¬½ÓµÄ´¦Àíª¤  
 
ʵÀýª¥  
 
ʹÓ÷ûºÅÁ¬½Ó¿ÉÄÜÔÚÎļþϵͳÖÐÒý½øÑ­»·¡£´ó¶àÊý²éÕÒ·¾¶ÃûµÄº¯ÊýÔÚÕâÖÖÇé¿ö·¢  
 
Éúʱ¶¼·µ  
 
»ØÖµÎªELOOPµÄerrno¿¼ÂÇÏÂÁÐÃüÁîÐòÁУºª¥  
 
$ mkdir foo¡þ¹¹Ôì-ÐÂĿ¼ª¥  
 
$ touch foo/a¡þ´´½¨O³¤Îļþª¥  
 
$ln -s ª±ª±/foo foo/testdir ´´½¨-·ûºÅÁ¬½Óª¥  
 
$ ls -1 fooª¥  
 
total 1ª¥  
 
-rw-rw-r-- 1 stevnens 0 Dec 6 06:06 aª¥  
 
lrwxrwxrwx 1 stenens 6 Dec 6 06:06 testdir -> ª±ª±/fooª¤  
 
Õâ´´½¨ÁËÒ»¸öĿ¼foo£¬Ëü°üº¬ÁËÒ»¸öÃûΪaµÄÎļþÒÔ¼°Ò»¸ö·ûºÅÁ¬½Ó£¬ËüÖ¸Ïòfoo  
 
¡£ÔÚͼ4ª±  
 
11ÖÐÏÔʾÁËÕâÖÖ½á¹û£¬Í¼ÖÐÒÔÔ°±íʾĿ¼£¬ÒÔÕý·½Ðαíʾһ¸öÎļþ¡£ÈçÈôÎÒÃÇдһ  
 
¶Î¼òµ¥µÄ  
 
³ÌÐò£¬ËüʹÓñê×¼º¯Êýftw(3)ÒÔ½µÐòÖÜÓÎÎļþ½á¹¹£¬´òӡÿ¸öÓöµ½µÄ·¾¶Ãû£¬ÔòÆä  
 
Êä³öÊÇ£º  
 
ª¥  
 
fooª¥  
 
foo/aª¥  
 
foo/testdirª¥  
 
foo/testdir/aª¥  
 
foo/testdir/testdirª¥  
 
foo/testdir/testdir/aª¥  
 
foo/testdir/testdir/testdirª¥  
 
foo/testdir/testdir/testdir/aª¥  
 
(many more lines)ª¥  
 
ftw returned -1:Too many levels of symbolic linksª¥  
 
ÔÚ4ª±21½ÚÖУ¬ÌṩÁËÎÒÃÇ×Ô¼ºµÄftwº¯Êý°æ±¾£¬ËüÓÃlstat´úÌæstatÒÔ×èÖ¹Ëü¸úËæ  
 
·ûºÅÁ¬½Ó  
 
¡£ª¤ª¤ª¤  
 
ͼ4ª±11¡þ´´½¨Ò»¸öÑ­»·µÄ·ûºÅÁ¬½Ótestdirª¥  
 
ÕâÑùÒ»¸öÁ¬½ÓºÜÈÝÒ×±»É¾³ý-ÒòΪunlink²¢²»¸úËæ·ûºÅÁ¬½Ó£¬ËùÒÔÎÒÃÇ¿ÉÒÔunlink  
 
Îļþfoo/  
 
testdir¡£µ«ÊÇÈç¹ûÎÒÃÇ´´½¨ÁËÒ»¸ö¹¹³ÉÕâÖÖÑ­»·µÄÓ²Á¬½Ó£¬ÄÇô¾ÍºÜÄÑÈ¥³ýËüª¬  
 
ª³¡£Õâ¾Í  
 
ÊÇΪʲôlinkº¯Êý²»ÔÊÐí¹¹ÔìÖ¸ÏòĿ¼µÄÓ²Á¬½ÓµÄÔ­Òò¡£(³ý·Ç½ø³Ì¾ßÓг¬¼¶Óû§  
 
ÓÅÏÈÊý¡£)  
 
ª¥  
 
ÔÚopenÒ»¸öÎļþʱ£¬ÈçÈô´«µÝ¸øopenº¯ÊýµÄ·¾¶ÃûÖ¸¶¨ÁËÒ»¸ö·ûºÅÁ¬½Ó£¬ÄÇôope  
 
n¸úËæ´ËÁ¬  
 
½Óµ½Ö¸¶¨µÄÎļþ¡£Èô´Ë·ûºÅÁ¬½ÓËùÖ¸ÏòµÄÎļþ²¢²»´æÔÚ£¬Ôòopen³ö´í·µ»Ø£¬±íʾËü  
 
²»ÄÜ´ò¿ª  
 
¸ÃÎļþ¡£Õâ¿ÉÄÜ»áʹ²»ÊìϤ·ûºÅÁ¬½ÓµÄÓû§¸Ðµ½ÃÔ»ó£¬ÀýÈ磺ª¥  
 
$ ln -s /no/such/file myfile¡þ´´½¨-·ûºÅÁ¬½Óª¥  
 
$ ls myfileª¥  
 
myfile¡þls²éµ½¸ÃÎļþª¥  
 
$ cat myfile¡þÊÔͼ¹Û¿´¸ÃÎļþª¥  
 
cat:myfile:No such file or directoryª¥  
 
$ ls -1 myfile¡þÊÔ-lÑ¡Ï  
 
lrwxrwxrwx 1 stevens 13 Dec 6 07:27 myfile->/no/such/fileª¤  
 
ÎļþmyfileÊÇ´æÔڵ쬵«cat¶¼³ÆÃ»ÓÐÕâÒ»Îļþ¡£ÆäÔ­ÒòÊÇmyfileÊǸö·ûºÅÁ¬½Ó£¬  
 
Óɸ÷ûºÅ  
 
Á¬½ÓËùÖ¸ÏòµÄÎļþ²¢²»´æÔÚ¡£lsÃüÁîµÄ-lÑ¡ÔñÏî¸øÓëÎÒÃÇÁ½¸öÌáʾ£ºµÚÒ»¸ö×Ö·ûÊÇ  
 
l£¬Ëü±í  
 
ʾÕâÊÇÒ»¸ö·ûºÅÁ¬½Ó£»¶ø->Ò²±íʾÕâÊÇÒ»¸ö·ûºÅÁ¬½Ó¡£lsÃüÁÓÐÁíÒ»¸öÑ¡ÔñÏî(  
 
-F),ËüÔÚ  
 
ÊÇ·ûºÅÁ¬½ÓµÄÎļþÃûºó¼ÓÒ»¸ö@·ûºÅ£¬ÔÚδʹÓÃ-lÑ¡ÔñÏîʱ£¬Õâ¿ÉÒÔ°ïÖúʶ±ð³ö·û  
 
ºÅÁ¬½Ó¡£  
 
ª¤  
 
4ª±17¡þsymlinkºÍreadlinkº¯Êýª¥  
 
symlinkº¯Êý´´½¨Ò»¸ö·ûºÅÁ¬½Ó¡£ª¥  
 
#include<unistdª±h>ª¥  
 
int symlink(const char *ª«actualpath,ª«const char *ª«sympath);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
¸Ãº¯Êý´´½¨ÁËÒ»¸öÖ¸ÏòactualpathµÄÐÂĿ¼Ïîsympath£¬ÔÚ´´½¨´Ë·ûºÅÁ¬½Óʱ£¬²¢  
 
²»ÒªÇóact  
 
ualpathÒѾ­´æÔÚ¡£(ÔÚÉÏÒ»½Ú½áÊø²¿·ÖµÄÀý×ÓÖÐÎÒÃÇÒѾ­¿´µ½ÁËÕâÒ»µã¡£)ͬʱ£¬  
 
ª¤  
 
 ¬ª³¡¼£Ë£Çª³£²¡ ÔÚ±àд±¾½Úʱ£¬×÷ÕßÔÚ×Ô¼ºµÄϵͳɠ×÷Ϊһ¸öʵÑé×öÁËÕâÒ»µã¡£  
 
Îļþϵͳ  
 
±äµÃ´íÎó°Ù³ö£¬Õý³£µÄfsck(1)¹«¹²³ÌÐò²»Äܽâ¾öÎÊÌ⡣ΪÁËÐÞ¸´´ËÎļþϵͳ²»µÃ  
 
²»Ê¹ÓÃÁË  
 
²¢²»ÍƼöʹÓõŤ¾ßclri(8)ºÍdcheck(8)¡£actualpathºÍsympath²¢²»±ØÐëλÓÚͬ  
 
Ò»Îļþϵ  
 
ͳÖС£ª¥  
 
ÒòΪopenº¯Êý¸úËæ·ûºÅÁ¬½Ó£¬ËùÒÔÎÒÃÇÐèÒªÓÐÒ»ÖÖ·½·¨´ò¿ª¸ÃÁ¬½Ó±¾Éí£¬²¢¶ÁÔڸà 
 
Á¬½ÓÖеĠ 
 
Ãû×Ö¡£readlinkº¯ÊýÌṩÕâÖÖ¹¦ÄÜ¡£ª¥  
 
#include <unistdª±h>ª¥  
 
int readlink(const char *ª«pathname,ª«char *ª«bufª«,int ª«bufsize);ª«ª¥  
 
   
 
·µ»Ø£ºÈô³É¹¦Îª¶ÁµÄ×Ö½ÚÊý£¬³ö´íΪ£­£±ª¤  
 
´Ëº¯Êý×éºÏÁËopen,readºÍcloseµÄËùÓвÙ×÷¡£ª¥  
 
Èç¹û´Ëº¯Êý³É¹¦£¬ÔòËü·µ»Ø¶ÁÈëbufµÄ×Ö½ÚÊý¡£ÔÚbufÖзµ»ØµÄ·ûºÅÁ¬½ÓµÄÄÚÈݲ»ÒÔ  
 
null×Ö·û  
 
ÖÕÖ¹¡£ª¤  
 
4ª±18¡þÎļþµÄʱ¼äª¥  
 
¶Ôÿ¸öÎļþ±£³ÖÓÐÈý¸öʱ¼ä×ֶΡ£ËüÃǵÄÒâÒåʾÓÚͼ4ª±12ÖÐÖС£ª¤ª¤ª¤  
 
ͼ4ª±12¡þÓëÿ¸öÎļþÏà¹ØµÄÈý¸öʱ¼äÖµª¤  
 
×¢ÒâÐÞ¸Äʱ¼ä(st ¼£Ã£Ä££ª³£²¡½mtime)ºÍ¸ü¸Ä״̬ʱ¼ä(st ¼£Ã£Ä££ª³£²¡½ctime  
 
)Ö®¼äµÄÇø  
 
±ð¡£ÐÞ¸Äʱ¼äÊÇÎļþÄÚÈÝ×îºó  
 
Ò»´Î±»Ð޸ĵÄʱ¼ä¡£¸ü¸Ä״̬ʱ¼äÊǸÃÎļþµÄi ¼£Ã£Ä££ª³£²¡½node×îºóÒ»´Î±»ÐÞ  
 
¸ÄµÄʱ¼ä  
 
¡£ÔÚ±¾ÕÂÖÐÎÒÃÇ  
 
ÒÑ˵Ã÷Á˺ܶà²Ù×÷£¬ËüÃÇÓ°Ïìµ½i ¼£Ã£Ä££ª³£²¡½node,µ«²¢Ã»Óиü¸ÄÎļþµÄʵ¼ÊÄÚ  
 
ÈÝ£º¸ü¸Ä  
 
ÎļþµÄ´æÈ¡Êý  
 
¡¢¸ü¸ÄÓû§ID¡¢¸ü¸ÄÁ¬½ÓÊýµÈµÈ¡£ÒòΪÔÚi ¼£Ã£Ä££ª³£²¡½nodeÖеÄËùÓÐÐÅÏ¢¶¼ÊÇ  
 
ÓëÎļþµÄ  
 
ʵ¼ÊÄÚÈÝ·Ö²¼´æ·ÅµÄ£¬ËùÒÔ£¬³ýÁËÎļþÊý¾ÝÐÞ¸Äʱ¼äÒÔÍ⣬ÐèÒª¸ü¸Ä״̬ʱ¼ä¡£ª¥  
 
   
 
×¢Ò⣬ϵͳ²¢²»±£³ÖÓжÔÒ»¸öi ¼£Ã£Ä££ª³£²¡½nodeµÄ×îºóÒ»´Î´æÈ¡Ê±¼ä¡£ËùÒÔac  
 
cessºÍsta  
 
tº¯Êý²¢²»¸ü¸ÄÕâÈý¸öʱ¼äÖеÄÈÎÒ»¸ö¡£ª¥  
 
ϵͳ¹ÜÀíÔ±³£³£Ê¹ÓôæÈ¡Ê±¼äÀ´É¾³ýÔÚÒ»¶¨µÄʱ¼ä·¶Î§ÄÚûÓдæÈ¡¹ýµÄÎļþ¡£µäÐÍ  
 
µÄÀý×ÓÊÇ  
 
ɾ³ýÔÚ¹ýÈ¥Ò»ÖÜÄÚûÓдæÈ¡¹ýµÄÃûΪaª±out»òcoreµÄÎļþ¡£find(1)ÃüÁî³£±»ÓÃÀ´  
 
½øÐÐÕâÖÖ  
 
²Ù×÷¡£ª¥  
 
ÐÞ¸Äʱ¼äºÍ¸ü¸Ä״̬ʱ¼ä¿É±»ÓÃÀ´¹éµµÆäÄÚÈÝÒѾ­±»Ð޸ĻòÆäi ¼£Ã£Ä££ª³£²¡½no  
 
deÒѾ­±»  
 
¸ü¸ÄµÄÄÇЩÎļþ¡£ª¥  
 
lsÃüÁî°´ÕâÈý¸öʱ¼äÖµÖеÄÒ»¸öÅÅÐò½øÐÐÏÔʾ¡£°´ÏµÍ³Ä¬ÈÏ(ÓÃ-l»ò-tÑ¡ÔñÏîµ÷Óà 
 
ʱ)£¬Ëü°´  
 
ÎļþµÄÐÞ¸Äʱ¼äµÄÏȺóÅÅÐòÏÔʾ¡£-uÑ¡ÔñÏîʹÆäÓôæÈ¡Ê±¼äÅÅÐò£¬-cÑ¡ÔñÏîÔòʹÆä  
 
Óøü¸Ä×´  
 
̬ʱ¼äÅÅÐò¡£ª¥  
 
ÓÃ4ª±13ÕªÒªÁгöÁËÎÒÃÇÒÑ˵Ã÷¹ýµÄ¸÷ÖÖº¯Êý¶ÔÕâÈý¸öʱ¼äµÄ×÷Ó᣻ØÒä4ª±14½ÚÖР 
 
ËùÊö£¬Ä¿  
 
¼Êǰüº¬Ä¿Â¼Ïî(ÎļþÃûºÍÏà¹ØµÄi ¼£Ã£Ä££ª³£²¡½node±àºÅ)µÄÎļþ£¬Ôö¼Ó¡¢É¾³ý  
 
»òÐÞ¸ÄÄ¿  
 
¼Ïî»áÓ°Ïìµ½Óë  
 
ÆäËùÔÚĿ¼Ïà¹ØµÄÈý¸öʱ¼ä¡£Õâ¾ÍÊÇÔÚͼ4ª±13Öаüº¬¶øÁеÄÔ­Òò£¬ÆäÖÐÒ»ÁÐÊÇÓë  
 
¸ÃÎļþ(»ò  
 
Ŀ¼)Ïà¹ØµÄÈý¸öʱ¼ä£¬ÁíÒ»ÁÐÊÇÓëËùÒýÓõÄÎļþ(»òĿ¼)µÄ¸¸Ä¿Â¼Ïà¹ØµÄÈý¸öʱ  
 
¼ä¡£ÀýÈç  
 
£¬´´½¨Ò»¸öÐÂÎļþÓ°Ïìµ½°üº¬´ËÐÂÎļþµÄĿ¼£¬Ò²Ó°Ïì¸ÃÐÂÎļþµÄi ¼£Ã£Ä££ª³£²  
 
¡½node¡£  
 
µ«ÊÇ£¬¶Á»òдһ  
 
¸öÎļþÖ»Ó°Ïì¸ÃÎļþµÄi ¼£Ã£Ä££ª³£²¡½node£¬¶ø¶Ô¸¸Ä¿Â¼ÔòÎÞÓ°Ïì¡£(mkdirºÍrm  
 
dirº¯ÊýÔÚ  
 
4ª±20½ÚÖÐ˵Ã÷  
 
¡£utimeº¯ÊýÔÚÏÂÒ»½ÚÖÐ˵Ã÷¡£6¸öexecº¯ÊýÔÚ4ª±20½ÚÖÐÌÖÂÛ¡£ÔÚµÚÊ®ËÄÕÂ˵Ã÷mk  
 
fifoºÍpip  
 
cº¯Êý¡£)ª¤ª¤ª¤  
 
ͼ4ª±13¡þ¸÷ÖÖº¯Êý¶Ô´æÈ¡¡¢Ð޸ĺ͸ü¸Ä״̬ʱ¼äµÄ×÷Óꤠ 
 
4ª±19¡þutimeº¯Êýª¥  
 
Ò»¸öÎļþµÄ´æÈ¡ºÍÐÞ¸Äʱ¼ä¿ÉÒÔÓÃutimeº¯Êý¸ü¸Ä¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<utimeª±h>ª¥  
 
int utime(const char *ª«pathname,ª«const struct utimbuf *ª«times);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
´Ëº¯ÊýËùʹÓõĽṹÊÇ£ºª¤  
 
struct untimbuf{ª¥  
 
time ¼£Ã£Ä££ª³£²¡½t actime; /*´æÈ¡Ê±¼ä*/ª¥  
 
time ¼£Ã£Ä££ª³£²¡½t modtime;/*ÐÞ¸Äʱ¼ä*/ª¤  
 
}ª¤  
 
Ôڴ˽ṹÖеÄÁ½¸öʱ¼äÖµÊÇÈÕÀúʱ¼ä¡£Èçͬ1ª±10½ÚÖÐËùÊö£¬ÕâÊÇ1970ª±1ª±1£¬00  
 
£º00£º00  
 
ÒÔÀ´¹ú¼Ê±ê׼ʱËù¾­¹ýµÄÃëÊý¡£ª¥  
 
´Ëº¯ÊýµÄ²Ù×÷ÒÔ¼°Ö´ÐÐËüËùÒªÇóµÄÓÅÏÈÊýÈ¡¾öÓÚtimes²ÎÊýÊÇ·ñÊÇNULL¡£ª¥  
 
1ª±ÈçÈôtimesÊÇÒ»¸ö¿ÕÖ¸Õ룬Ôò´æÈ¡Ê±¼äºÍÐÞ¸Äʱ¼äÁ½Õß¶¼ÉèÖÃΪµ±Ç°Ê±¼ä¡£ÎªÁË  
 
Ö´Ðд˲٠ 
 
×÷±ØÐëÂú×ãÏÂÁÐÁ½Ìõ¼þÖ®Ò»£º(a)½ø³ÌµÄÓÐЧÓû§ID±ØÐëµÈÓÚ¸ÃÎļþµÄÊôÖ÷ID£»(b  
 
)½ø³Ì¶Ô¸Ã  
 
Îļþ±ØÐë¾ßÓÐдÐí¿ÉÊý¡£ª¥  
 
2ª±ÈçÈôtimesÊÇ·Ç¿ÕÖ¸Õ룬Ôò´æÈ¡Ê±¼äºÍÐÞ¸Äʱ¼ä±»ÉèÖÃΪtimesËùÖ¸ÏòµÄ½á¹¹ÖР 
 
µÄÖµ¡£´Ë  
 
ʱ£¬½ø³ÌµÄÓÐЧÓû§ID±ØÐëµÈÓÚ¸ÃÎļþµÄÊôÖ÷ID£¬»òÕß½ø³Ì±ØÐëÊÇÒ»¸ö³¬¼¶Óû§½ø  
 
³Ì¡£¶ÔÎÄ  
 
¼þÖ»¾ßÓÐдÐí¿ÉÊýÊDz»¹»µÄ¡£ª¤  
 
×¢Ò⣬ÎÒÃDz»ÄܶԸü¸Ä״̬ʱ¼äst ¼£Ã£Ä££ª³£²¡½ctimeÖ¸¶¨Ò»¸öÖµ£¬µ±µ÷ÓÃutim  
 
eº¯Êýʱ£¬  
 
´Ë×ֶα»×Ô¶¯¸üС£ª¥  
 
ÔÚijЩUnix°æ±¾ÖУ¬touch(1)ÃüÁîʹÓô˺¯Êý¡£ÁíÍ⣬±ê×¼¹éµµ³ÌÐòtar(1)ºÍcpi  
 
o(1)¿ÉÑ¡  
 
µØµ÷ÓÃutime,ÒԱ㽫һ¸öÎļþµÄʱ¼äÖµÉèÖÃΪ½«Ëü¹éµµÊ±µÄÖµ¡£ª¤  
 
ʵÀýª¥  
 
³ÌÐò4ª±6ʹÓôøO ¼£Ã£Ä££ª³£²¡½TRUNCÑ¡ÔñÏîµÄopenº¯Êý½«Îļþ³¤¶È½Ø¶ÌΪ0£¬µ«  
 
²¢²»¸ü¸Ä  
 
Æä´æÈ¡Ê±¼ä¼°ÐÞ  
 
¸Äʱ¼ä¡£ÎªÁË×öµ½ÕâÒ»µã£¬Ê×ÏÈÓÃstatº¯ÊýµÃµ½ÕâЩʱ¼ä£¬È»ºó½Ø¶ÌÎļþ£¬×îºóÔÙ  
 
ÓÃutime  
 
º¯Êý¸´ÖÃÕâÁ½¸öʱ¼ä¡£ª¤ª¤ª¤  
 
³ÌÐò4ª±6¡þutimeº¯ÊýµÄʵÀýª¤  
 
ÒÔÏÂÁз½Ê½ÔËÐгÌÐò4ª±6£ºª¥  
 
$ ls -1 changemod times¡þ¹Û²ì³¤¶ÈºÍ×îºóÐÞ¸Äʱ¼äª¥  
 
-rwxrwxr-x 1 stevens 24676 Dec 4 16:13 changemodª¥  
 
-rwxrwxr-x 1 stevens 24676 Dec 6 09:24 timesª¥  
 
$ ls -lu changemod times¡þ¹Û²ì×îºó´æÈ¡Ê±¼äª¥  
 
-rwxrwxr-x 1 stevens 24676 Feb 1 12:44 changemodª¥  
 
-rwxrwxr-x 1 stevens 24676 Feb 1 12:44 timesª¥  
 
$ date¡þ´òÓ¡½ñÌìÈÕÆÚª¥  
 
Sun Feb 3 18:22:33 MST 1991ª¥  
 
$ aª±out changemod times¡þÔËÐгÌÐò4ª±6ª¥  
 
$ ls -1 changemod times¡þ¼ì²é½á¹ûª¥  
 
-rwxrwxr-x 1 stevens 0 Dec 4 16:13 changemodª¥  
 
-rwxrwxr-x 1 stevens 0 Dec 6 09:24 timesª¥  
 
$ ls -lu changemod times¡þ¼ì²é×îºó´æÈ¡Ê±¼äª¥  
 
-rwxrwxr-x 1 stevens 0 Feb 1 12:44 changemodª¥  
 
-rwxrwxr-x 1 stevens 0 Feb 1 12:44 timesª¥  
 
$ ls -lc changemod times¡þ¸ü¸Ä״̬ʱ¼äª¥  
 
-rwxrwxr-x 1 stevens 0 Feb 3 18:23 changemodª¥  
 
-rwxrwxr-x 1 stevens 0 Feb 3 18:23 timesª¤  
 
ÕýÈçÎÒÃÇËùÓèÁϵÄÒ»Ñù£¬×îºóÐÞ¸Äʱ¼äºÍ×îºó´æÈ¡Ê±¼äδ±ä¡£µ«ÊÇ£¬¸ü¸Ä״̬ʱ¼ä  
 
Ôò¸ü¸ÄΪ  
 
³ÌÐòÔËÐÐʱµÄʱ¼ä¡£(ÕâÁ½¸öÎļþµÄ×îºó´æÈ¡Ê±¼äÏàͬµÄÔ­ÒòÊÇ£¬ÕâÊÇËüÃǵÄĿ¼  
 
ÓÃtarÃüÁî  
 
¹éµµÊ±µÄʱ¼ä¡£)ª¤  
 
4ª±20¡þmkdirºÍrmdirº¯Êýª¥  
 
ÓÃmkdirº¯Êý´´½¨Ä¿Â¼£¬ÓÃrmdirº¯Êýɾ³ýĿ¼¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<sys/statª±h>ª¥  
 
int mkdir(const char *ª«pathname,ª«mode ¼£Ã£Ä££ª³£²¡½t ª«modeª«);ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
´Ëº¯Êý´´½¨Ò»¸öеĿÕĿ¼¡£ª±ºÍª±ª±Ä¿Â¼ÏîÊÇ×Ô¶¯´´½¨µÄ¡£ËùÖ¸¶¨µÄÎļþ´æÈ¡Ðí  
 
¿ÉÊýmode  
 
,Óɽø³ÌµÄÎļþ·½Ê½´´½¨ÆÁ±Î×ÖÐ޸ġ£ª¥  
 
³£¼ûµÄ´íÎóÊÇÖ¸¶¨ÓëÎļþÏàͬµÄmode(Ö»Ö¸¶¨¶Á¡¢Ð´Ðí¿ÉȨ)¡£µ«ÊÇ£¬¶ÔÓÚĿ¼ÎÒÃÇ  
 
³£ÖÁÉÙÒª  
 
ÉèÖÃ1¸öÖ´ÐÐÐí¿ÉȨ룬ÒÔÔÊÐí´æÈ¡¸ÃĿ¼ÖеÄÎļþÃû¡£(¼ûÁ·Ï°4ª±18¡£)ª¥  
 
°´ÕÕ4ª±6½ÚÖÐÌÖÂ۵ĹæÔò£¬ÉèÖÃÐÂĿ¼µÄÓû§IDºÍ×éID¡£ª¥  
 
SVR4ҲʹÐÂĿ¼¼Ì³Ð¸¸Ä¿Â¼µÄÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½IDλ¡£Õâ¾ÍʹµÃÔÚÐÂĿ¼ÖР 
 
´´½¨µÄÎÄ  
 
¼þ½«¼Ì³Ð¸ÃĿ¼µÄ×éID¡£ª¥  
 
4ª±3+BSD²¢²»ÒªÇó¼Ì³Ð´ËÉèÖÃÒ»×é ¼£Ã£Ä££ª³£²¡½ID룬ÒòΪ²»ÂÛÉèÖÃÒ»×é  £Ã£Ä  
 
 £ª³£²¡½  
 
IDλÈçºÎ£¬Ð´´½¨µÄÎļþºÍĿ¼×ÜÊǼ̳и¸Ä¿Â¼µÄ×é ¼£Ã£Ä££ª³£²¡½ID¡£ª¥  
 
ÔçÆÚµÄUnix°æ±¾²¢Ã»ÓÐmkdirº¯Êý£¬ËüÊÇÓÉ4ª±2BSDºÍSVR3Òý½øµÄ¡£ÔÚÔçÆÚ°æ±¾ÖУ¬  
 
½ø³ÌÒªµ÷  
 
ÓÃmknodº¯ÊýÒÔ´´½¨Ò»¸öÐÂĿ¼¡£µ«ÊÇÖ»Óг¬¼¶Óû§½ø³Ì²ÅÄÜʹÓÃmknodº¯Êý¡£ÎªÁË  
 
±ÜÃâÕâÒ»  
 
µã£¬´´½¨Ä¿Â¼µÄÃüÁîmkdir(1)±ØÐëÓɸù(root)ÓµÓУ¬¶øÇÒ´ò¿ªÁËÆäÉèÖÃÒ»Óû§¡¼£Ã  
 
 Ä££ª³£²  
 
¡½IDλ¡£½ø³ÌΪÁË´´½¨Ò»¸öĿ¼£¬±ØÐëÓÃsystem(3)º¯Êýµ÷ÓÃmkdirÃüÁî(1)¡£ª¥  
 
ÓÃrmdirº¯Êý¿ÉÒÔɾ³ýÒ»¸ö¿ÕĿ¼¡£ª¥  
 
#include<unistdª±h>ª¥  
 
int rmdir(const char *ª«pathname);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
Èç¹û´Ëµ÷ÓÃʹĿ¼µÄÁ¬½Ó¼ÆÊý³ÉΪ0£¬²¢ÇÒҲûÓÐÆäËü½ø³Ì´ò¿ª´ËĿ¼£¬ÔòÊÍ·ÅÓÉ  
 
´ËĿ¼ռ  
 
ÓõĿռ䡣Èç¹ûÔÚÁ¬½Ó¼ÆÊý´ïµ½0ʱ£¬ÓÐÒ»¸ö»ò¼¸¸ö½ø³Ì´ò¿ªÁË´ËĿ¼£¬ÔòÔڴ˺¯  
 
Êý·µ»ØÇ°  
 
ɾ³ý×îºóÒ»¸öÁ¬½Ó£¬É¾³ýª±ºÍª±ª±Ïî¡£ÁíÍ⣬ÔÚ´ËĿ¼Öв»ÄÜÔÙ´´½¨ÐÂÎļþ¡£µ«ÊÇ  
 
ÔÚ×îºóÒ»  
 
¸ö  
 
½ø³Ì¹Ø±ÕËü֮ǰ²¢²»ÊÍ·Å´ËĿ¼¡£(¼´Ê¹Ä³Ð©½ø³Ì´ò¿ª¸ÃĿ¼£¬ËüÃÇÔÚ´ËĿ¼Ï£¬  
 
ÒòΪΪʹr  
 
mdirº¯Êý³É¹¦Ö´ÐУ¬¸ÃĿ¼±ØÐëÊǿյġ£)ª¤  
 
4ª±21¡þ¶ÁĿ¼ª¥  
 
¶Ôij¸öĿ¼¾ßÓжÁȡȡÊýµÄÈÎÒ»Óû§¶¼¿É¶Á¸ÃĿ¼¡£µ«ÊÇÖ»ÓÐϵͳºË²ÅÄÜдĿ¼(  
 
·ÀÖ¹Îļþ  
 
ϵͳ·¢Éú»ìÂÒ)¡£»ØÒä4ª±5½Ú£¬Ò»¸öĿ¼µÄд´æÈ¡ÊýÏÞλºÍÖ´ÐÐÊýÏÞλ¾ö¶¨ÁËÔڸà 
 
Ŀ¼ÖÐÄÜ  
 
·ñ´´½¨ÐÂÎļþÒÔ¼°É¾³ýÎļþ£¬ËüÃDz¢²»±íʾÄÜ·ñдĿ¼±¾Éí¡£ª¥  
 
Ŀ¼µÄʵ¼Ê¸ñʽÒÀÀµÓÚUnixµÄ¾ßÌåʵÏÖ¡£ÔçÆÚµÄϵͳ£¬ÀýÈçVersion 7£¬ÓÐÒ»¸ö±È  
 
½Ï¼òµ¥µÄ  
 
½á¹¹£ºÃ¿¸öĿ¼ÏîÊÇ16¸ö×Ö½Ú£¬ÆäÖÐ14¸ö×Ö½ÚÊÇÎļþÃû£¬2¸ö×Ö½ÚÊÇi ¼£Ã£Ä££ª³£²  
 
¡½node±à  
 
ºÅÊý¡£¶ø¶ÔÓÚ4  
 
ª±2BSD¶øÑÔ£¬ÓÉÓÚËüÔÊÐíÏ൱³¤µÄÎļþÃû£¬ËùÒÔÿ¸öĿ¼ÏîµÄ³¤¶ÈÊǿɱäµÄ¡£Õâ¾Í  
 
Òâζ×ŶÁ  
 
Ŀ¼µÄ³ÌÐòÓëϵͳÏà¹Ø¡£ÎªÁ˼ò»¯ÕâÖÖÇé¿öUNIXÏÖÔÚ°üº¬ÁËÒ»Ì×Óë¶ÁĿ¼ÓйصÄÀý  
 
³Ì£¬ËüÃÇ  
 
ÊÇPOSIXª±1µÄÒ»²¿·Ö¡£ª¥  
 
#include<sys/typesª±h>ª¥  
 
#include<direntª±h>ª¥  
 
DIR *opendir(const char *ª«pathname);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦ÎªÖ¸Õ룬³ö´íΪNULLª¥  
 
struct dirent *readdir(DIR *ª«dp);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦ÎªÖ¸Õ룬ÔÚĿ¼β»ò³ö´íΪNULLª¥  
 
void rewinddir(DIR *ª«dpª«);ª¥  
 
int closedir(DIR *ª«dpª«);ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
»ØÒäһϣ¬ÎÒÃÇÔÚ³ÌÐò1ª±1ÖÐ(lsÃüÁîµÄ»ù±¾ÊµÏÖ²¿·Ö)ʹÓÃÁËÕâЩº¯Êý¡£ª¥  
 
¶¨ÒåÔÚÍ·Îļþ<direntª±h>ÖеÄdirent½á¹¹ÊÇÓëʵÏÖÓйصġ£SVR4ºÍ4ª±3+BSD¶¨Òå  
 
´Ë½á¹¹ÖÁ  
 
ÉÙ°üº¬ÏÂÁÐÁ½¸ö³ÉÔ±£ºª¤  
 
struct dirent {ª¥  
 
ino ¼£Ã£Ä££ª³£²¡½t d ¼£Ã£Ä££ª³£²¡½ino;/*i-½ÚµãºÅ*/ª¥  
 
char d ¼£Ã£Ä££ª³£²¡½name¡²NAME ¼£Ã£Ä££ª³£²¡½MAX+1¡³;/*ÒÔnull·ûÖÕÖ¹µÄÎļþ  
 
Ãû*/ª¤  
 
}ª¥  
 
POSIXª±1²¢Ã»Óж¨Òåd ¼£Ã£Ä££ª³£²¡½ino,ÒòΪÕâÊÇÒ»¸öʵÏÖÌØÕ÷¡£POSIXª±1ÔÚ´Ë  
 
½á¹¹ÖÐÖ»  
 
¶¨Òåd ¼£Ã£Ä££ª³£²¡½nameÏî¡£ª¥  
 
×¢Ò⣬SVR4ûÓеÄNAME ¼£Ã£Ä££ª³£²¡½MAX¶¨ÒåΪһ¸ö³£Êý-ÆäÖµÒÀÀµÓÚ¸ÃĿ¼ËùÔÚ  
 
µÄÎļþ  
 
ϵͳ£¬²¢ÇÒͨ³£  
 
¿ÉÓÃfpathconfº¯ÊýÈ¡µÃ¡£ÔÚBSDÀàÎļþϵͳÖУ¬NAME ¼£Ã£Ä££ª³£²¡½MAXµÄ³£ÓÃÖµ  
 
ÊÇ255¡£(  
 
¼ûͼ2ª±7¡£)µ«  
 
ÊÇ£¬ÒòΪÎļþÃûÊÇÒÔnull×Ö·û½áÊøµÄ£¬ËùÒÔÔÚÍ·ÎļþÖÐÈçºÎ¶¨ÒåÊý×éd-name²¢ÎÞ¶à  
 
´ó¹ØÏµ¡£  
 
ª¥  
 
DIR½á¹¹ÊÇÒ»¸öÄÚ²¿½á¹¹£¬ËüÓÉÕâËĸöº¯ÊýÓÃÀ´±£´æÕý±»¶ÁµÄĿ¼µÄÓйØÐÅÏ¢¡£Æä  
 
×÷ÓÃÀàËÆ  
 
ÓÚFILE½á¹¹¡£FILE½á¹¹Óɱê×¼I/O¿âά»¤(ÎÒÃǽ«ÔÚµÚÎåÕÂÖÐ˵Ã÷)¡£ª¥  
 
ÓÉopendir·µ»ØµÄÖ¸ÏòDIR½á¹¹µÄÖ¸ÕëÓÉÁíÍâÈý¸öº¯ÊýʹÓá£opendirÖ´Ðгõʼ»¯²Ù  
 
×÷£¬Ê¹µÚ  
 
Ò»¸öreaddir¶ÁĿ¼ÖеĵÚÒ»¸öĿ¼Ïî¡£ÔÚĿ¼Öи÷Ŀ¼ÏîµÄ˳ÐòÊÇÓëʵÏÖÓйصĠ 
 
¡£ËüÃÇͨ  
 
³£²¢²»Êǰ´×Öĸ˳ÐòÅÅÁеġ£ª¤  
 
ʵÀýª¥  
 
ÎÒÃǽ«Ê¹ÓÃÕâЩĿ¼Àý³Ì±àдһ¸öÖÜÓÎÎļþ²ã´Î½á¹¹µÄ³ÌÐò¡£ÆäÄ¿µÄÊǵõ½ÈçͬÎÒ  
 
ÃÇÔÚͼ4  
 
ª±2ÖÐËùʾµÄ¸÷ÖÖÀàÐ͵ÄÎļþÊý¡£³ÌÐò4ª±7Ö»ÓÐÒ»¸ö²ÎÊý£¬Ëü˵Ã÷Æðµã·¾¶Ãû£¬´Ó  
 
¸Ãµã¿ªÊ¼  
 
µÝ¹é½µÐòÖÜÓÎÎļþ²ã´Î½á¹¹¡£ÏµÍ³VÌṩÁËÒ»¸öʵ¼ÊÖÜÓδ˲ã´Î½á¹¹µÄº¯Êýftw(3)  
 
£¬¶ÔÓÚÿ  
 
Ò»¸öÎļþËü¶¼µ÷ÓÃÒ»¸öÓû§¶¨Ò庯Êý¡£´Ëº¯ÊýµÄÎÊÌâÊÇ£º¶ÔÓÚÿһ¸öÎļþ£¬Ëü¶¼µ÷  
 
ÓÃstatº¯  
 
Êý£¬Õâ¾Íʹ³ÌÐò¸úËæ·ûºÅÁ¬½Ó¡£ÀýÈ磬Èç¹û´Óroot¿ªÊ¼£¬²¢ÇÒÓÐÒ»¸öÃûΪ/libµÄ·û  
 
ºÅÁ¬½Ó£¬  
 
ËüÖ¸Ïò/usr/lib,ÔòËùÓÐÔÚĿ¼/usr/libÖеÄÎļþ¶¼Á½´Î¼ÆÊý¡£ÎªÁ˾ÀÕýÕâÒ»µã£¬  
 
SVR4Ìṩ  
 
ÁËÁíÒ»¸öº¯Êýnftw(3)£¬Ëü¾ßÓÐÒ»¸öÍ£Ö¹¸úËæ·ûºÅÁ¬½ÓµÄ¿ÉÑ¡ÔñÏî¡£¾¡¹Ü¿ÉÒÔʹÓà 
 
nftw£¬µ«  
 
ÊÇΪÁË˵Ã÷Ŀ¼Àý³ÌµÄʹÓ÷½·¨£¬ÎÒÃÇ»¹ÊDZàдÁËÒ»¸ö¼òµ¥µÄÎļþÖÜÓγÌÐò¡£ª¤ª¤  
 
ª¤  
 
³ÌÐò4ª±7¡þµÝ¹é½µÐòÖÜÓÎĿ¼²ã´Î½á¹¹£¬²¢°´ÎļþÀàÐͼÆÊýª¥  
 
ÔÚ³ÌÐòÖУ¬ÎÒÃÇÌṩÁ˱ÈËùÒªÇóµÄ¸ü¶àµÄͨÓÃÐÔ¡£ËùÒÔÕâÑù×öÊÇΪÁËÀýʾʵ¼Êftw  
 
º¯ÊýµÄÓ¦  
 
ÓÃÇé¿ö¡£ÀýÈ磬º¯Êýmyfunc×ÜÊÇ·µ»Ø0£¬µ«Êǵ÷ÓÃËüµÄº¯ÊýÈ´×¼±¸´¦Àí·Ç0·µ»Ø¡£ª¥  
 
   
 
¹ØÓÚ½µÐòÖÜÓÎÎļþϵͳµÄ¸ü¶àÐÅÏ¢£¬ÒÔ¼°Ôںܶà±ê×¼UnixÃüÁî(find,ls,tarµÈ)ÖР 
 
ʹÓÃÕâÖÖ  
 
¼¼ÊõµÄÇé¿ö£¬Çë²ÎÔÄFowler,Korn¼°Vo¡²1989¡³¡£4ª±3+BSDÌṩÁËÒ»ÐÂÌ×µÄĿ¼ÖÜ  
 
Óκ¯Êý-  
 
Çë²ÎÔÄfts(3)ÊÖ²áÒ³¡£ª¤  
 
4ª±22¡þChdir,fchdirºÍgetcwdº¯Êýª¥  
 
ÿ¸ö½ø³ÌÓÐÒ»¸öµ±Ç°¹¤×÷Ŀ¼£¬´ËĿ¼ÊÇËÑË÷ËùÓÐÏà¶Ô·¾¶ÃûµÄÆðµã(СÒÔбÏß¿ª  
 
ʼµÄ·¾¶  
 
ÃûΪÏà¶Ô·¾¶Ãû)¡£µ±Óû§µÇ¼µ½Unixϵͳʱ£¬Æäµ±Ç°¹¤×÷Ŀ¼ͨ³£ÊÇ¿ÚÁî×ÖÎļþ  
 
(/etc/pas  
 
swd)ÖиÃÓû§¼Ç¼ÏîµÄµÚ6¸ö×Ö¶Î-Óû§µÄÆðʼĿ¼¡£µ±Ç°¹¤×÷Ŀ¼Êǽø³ÌµÄÒ»¸öÊô  
 
ÐÔ£»Æð  
 
ʼĿ¼ÔòÊǵǼÃûµÄÒ»¸öÊôÐÔ¡£½ø³Ìµ÷ÓÃchdir»òfchdirº¯Êý¿ÉÒÔ¸ü¸Äµ±Ç°¹¤×÷Ä¿  
 
¼¡£ª¥  
 
#include<unistdª±h>ª¥  
 
int chdir(const char *ª«pathname);ª«ª¥  
 
int fchdir(int ª«filedes);ª«ª¥  
 
Á½¸öº¯ÊýµÄ·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
ÔÚÕâÁ½¸öº¯ÊýÖУ¬ÎÒÃÇ¿ÉÒÔ·Ö±ðÓÃpathname»ò´ò¿ªÎļþÃèÊö·ûÀ´Ö¸¶¨Ðµĵ±Ç°¹¤×÷  
 
Ŀ¼¡£ª¥  
 
fchdir²»ÊÇPOSIXª±1µÄËùÊô²¿·Ö£¬SVR4ºÍ4ª±3+BSDÔòÖ§³Ö´Ëº¯Êý¡£ª¤  
 
ʵÀýª¥  
 
ÒòΪµ±Ç°¹¤×÷Ŀ¼ÊÇÒ»¸ö½ø³ÌµÄÊôÐÔ£¬ËùÒÔËüÖ»Ó°Ïìµ÷ÓÃchdirµÄ½ø³Ì±¾Éí£¬¶ø²»  
 
Ó°ÏìÆäËü  
 
½ø³Ì¡£(ÎÒÃǽ«ÔÚµÚ°ËÕ½ÏÏêϸµØËµÃ÷½ø³ÌÖ®¼äµÄ¹ØÏµ¡£)Õâ¾ÍÒâζ×ųÌÐò4ª±8²¢²»  
 
»á²úÉúÎÒ  
 
ÃÇÏ£ÍûµÃµ½µÄºó¹û¡£Èç¹û±àÒë³ÌÐò4ª±8£¬²¢ÇÒµ÷ÓÃÆä¿ÉÖ´ÐÐÄ¿±ê´úÂëÎļþ£¬Ôò¿ÉÒÔ  
 
µÃµ½ÏÂÁР 
 
½á¹û£ºª¥  
 
$ pwdª¥  
 
/usr/libª¥  
 
$ mycdª¥  
 
chdir to/tmp succeededª¥  
 
$ pwdª¥  
 
/usr/libª¥  
 
´ÓÖпÉÒÔ¿´³ö£¬Ö´ÐÐmyccl³ÌÐòµÄshellµÄµ±Ç°¹¤×÷Ŀ¼²¢Ã»Óиı䡣Óɴ˿ɼû£¬s  
 
hellÓ¦µ±  
 
Ö±½Óµ÷ÓÃchdirº¯Êý£¬ËùÒÔcdÃüÁîµÄÖ´ÐгÌÐòÖ±½Ó°üº¬ÔÚshell³ÌÐòÖС£ª¥  
 
ÒòΪϵͳºË±£³ÖÓе±Ç°¹¤×÷Ŀ¼µÄ֪ʶ£¬ËùÒÔÎÒÃÇÓ¦ÄÜÈ¡Æäµ±Ç°Öµ¡£²»ÐÒµÄÊÇ£¬Ïµ  
 
ͳºËΪÿ  
 
¸ö½ø³ÌÖ»±£´æÆäµ±Ç°¹¤×÷Ŀ¼µÄi ¼£Ã£Ä££ª³£²¡½node±àºÅÒÔ¼°É豸±êʶ£¬ÏµÍ³ºË  
 
²¢²»±£´æ  
 
¸ÃĿ¼µÄÍêÕû·¾¶Ãû¡£ª¤ª¤ª¤  
 
³ÌÐò4ª±8¡þchdirº¯ÊýµÄʵÀýª¥  
 
ÎÒÃÇÐèÒªÒ»¸öº¯Êý£¬Ëü´Óµ±Ç°¹¤×÷Ŀ¼¿ªÊ¼£¬ÕÒµ½ÆäÉÏÒ»¼¶µÄĿ¼£¬È»ºó¶ÁÆäĿ¼  
 
Ïֱµ½  
 
¸ÃĿ¼ÏîÖеÄi ¼£Ã£Ä££ª³£²¡½node±àºÅÊýÓ빤×÷Ŀ¼i ¼£Ã£Ä££ª³£²¡½node±àºÅÊý  
 
Ïàͬ£¬Õâ  
 
ÑùµØ¾ÍÕÒµ½ÁËÆä¶ÔÓ¦µÄÎļþ¡£  
 
°´ÕÕÕâÖÖ·½·¨£¬Öð²ãÉÏÒÆ£¬Ö±µ½Óöµ½¸ù(root),ÕâÑù¾ÍµÃµ½Á˵±Ç°¹¤×÷Ŀ¼µÄ¾ø¶Ô  
 
·¾¶Ãû¡£  
 
ºÜÐÒÔË£¬Ïִ溯Êýgetcwd¾ÍÊÇÌṩÕâÖÖ¹¦Äܵġ£ª¥  
 
#include<unistdª±h>ª¥  
 
char *getcwd(char *ª«bufª«,size ¼£Ã£Ä££ª³£²¡½t ª«sizeª«£©£»ª¥  
 
·µ»Ø£ºÈô³É¹¦Îªbuf,³ö´íΪNULLª¤  
 
Ïò´Ëº¯Êý´«µÝÁ½¸ö²ÎÊý£¬Ò»¸öÊÇ»º´æµØÖ·buf£¬ÁíÒ»¸öÊÇ»º´æµÄ³¤¶Èsize¡£¸Ã»º´æ  
 
±ØÐëÓÐ×ã  
 
¹»µÄ³¤¶ÈÒÔÈÝÄɾø¶Ô·¾¶ÃûÔÙ¼ÓÉÏÒ»¸önullÖÕÖ¹×Ö·û£¬·ñÔò³ö´í·µ»Ø¡£(Çë»ØÒä2ª±  
 
5ª±7½ÚÖР 
 
ÓйØÎª×î´ó³¤¶È·¾¶Ãû·ÖÅä¿Õ¼äµÄÌÖÂÛ¡£)ª¥  
 
ijЩgetcwdʵÏÖÔÊÐíµÚÒ»¸ö²ÎÊýbufΪNULL¡£ÔÚÕâÖÖÇé¿öÏ£¬´Ëº¯Êýµ÷ÓÃmalloc¶¯  
 
̬µØ·ÖÅäs  
 
ize×Ö½ÚÊýµÄ¿Õ¼ä¡£Õâ²»ÊÇPOSIXª±1»òXPG3µÄËùÊô²¿·Ö£¬Ó¦Óè±ÜÃâ¡£ª¤  
 
ʵÀýª¥  
 
³ÌÐò4ª±9½«¹¤×÷Ŀ¼¸ü¸ÄÖÁÒ»¸öÌØ¶¨µÄĿ¼£¬È»ºóµ÷ÓÃgetcwd,×îºó´òÓ¡¸Ã¹¤×÷Ä¿  
 
¼¡£Èç¹û  
 
ÔËÐиóÌÐò£¬Ôò¿ÉµÃ£ºª¥  
 
$ aª±outª¥  
 
cwd=/var/spool/uucppublicª¥  
 
$ ls -1/usr/spoolª¥  
 
lrwxrwxrwx 1 root 12 Jan 31 07:57/usr/spool->ª±ª±/var/spoolª¤ª¤ª¤  
 
³ÌÐò4ª±9¡þgetcwdº¯ÊýµÄʵÀýª¤  
 
×¢Ò⣬chdir¸úËæ·ûºÅÁ¬½Ó(ÕýÈçÔÚͼ4ª±10ÖÐËùʾÄÇÑù)£¬µ«Êǵ±getcwdÑØÄ¿Â¼Ê÷ÉÏ  
 
ËÝÓöµ½/v  
 
ar/spoolĿ¼ʱ£¬Ëü²¢²»Á˽â¸ÃĿ¼ÓÉ·ûºÅÁ¬½Ó/usr/spoolËùÖ¸Ïò¡£ÕâÊÇ·ûºÅÁ¬½Ó  
 
µÄÒ»ÖÖÌØ  
 
ÐÔ¡£ª¤  
 
4ª±23¡þÌØÊâÉ豸Îļþª¥  
 
st ¼£Ã£Ä££ª³£²¡½devºÍst ¼£Ã£Ä££ª³£²¡½rdevÕâÁ½¸ö×ֶξ­³£ÒýÆð»ìÏý£¬µ±ÔÚ11  
 
ª±9½Ú±àд  
 
ttynameº¯Êýʱ£¬ÎÒÃÇÐèҪʹÓÃÕâÁ½¸ö×ֶΡ£ÓйعæÔòÊǺܼòµ¥µÄ£ºª¥  
 
¡¤Ã¿¸öÎļþϵͳ¶¼ÓÉÆäÖ÷¡¢´ÎÉ豸ºÅ¶øÎªÈËËùÖª¡£É豸ºÅËùÓõÄÊý¾ÝÀàÐÍÊÇ»ù±¾Ïµ  
 
ͳÊý¾ÝÀà  
 
ÐÍdev ¼£Ã£Ä££ª³£²¡½t¡£»ØÒäͼ4ª±7£¬Ò»¸öÅÌÇý¾­³£°üº¬Èô¸É¸öÎļþϵͳ¡£ª¥  
 
¡¤ÎÒÃÇͨ³£¿ÉÒÔʹÓÃÁ½¸ö´ó¶àÊýʵÏÖËù¶¨ÒåµÄºê£ºmajorºÍminorÀ´È¡µÃÖ÷¡¢´ÎÉ豸  
 
ºÅ¡£Õâ¾Í  
 
Òâζ×ÅÎÒÃÇÎÞÐè¹ØÐÄÕâÁ½¸öÊýÊÇÈçºÎ´æ·ÅÔÚÒ»¸ödevª±t¶ÔÏóÖеġ£ª¥  
 
ÔçÆÚµÄϵͳÓÃ16λÕûÐÍ´æ·ÅÉ豸ºÅ£¬8λÓÃÓÚÖ÷É豸Ó룬8ºÅÓÃÓÚ´ÎÉ豸ºÅ¡£SVR4ʹ  
 
ÓÃ32λ£»  
 
14λÓÃÓÚÖ÷É豸ºÅ£¬18λÓÃÓÚ´ÎÉ豸ºÅ¡£4ª±3+BSDÔòʹÓÃ16λ£º8λÓÃÓÚÖ÷É豸ºÅ  
 
£¬8λÓÃÓÚ  
 
´ÎÉ豸ºÅ¡£ª¥  
 
POSIXª±1˵Ã÷dev ¼£Ã£Ä££ª³£²¡½tÀàÐÍÊÇ´æÔڵ쬵«Ã»Óж¨ÒåËü°üº¬Ê²Ã´£¬»òÈçºÎ  
 
È¡µÃÆäÄÚ  
 
ÈÝ¡£´ó¶àÊýʵÏÖ¶¨ÒåÁ˺êmajorºÍminor£¬µ«ÔÚÄÇÒ»¸öÍ·ÎļþÖж¨ÒåËüÃÇÔòÓëʵÏÖÓР 
 
¹Ø¡£ª¥  
 
¡¤ÏµÍ³ÖÐÿ¸öÎļþÃûµÄst ¼£Ã£Ä££ª³£²¡½devÖµÊÇÎļþϵͳµÄÉ豸ºÅ£¬¸ÃÎļþϵͳ  
 
°üº¬Á˸à 
 
ÎļþÃûºÍÆä¶ÔÓ¦µÄi ¼£Ã£Ä££ª³£²¡½node¡£ª¥  
 
¡¤Ö»ÓÐ×Ö·ûÌØÊâÎļþºÍ¿éÌØÊâÎļþ²ÅÓÐst ¼£Ã£Ä££ª³£²¡½rdevÖµ¡£´ËÖµ°üº¬¸Ãʵ¼Ê  
 
É豸µÄÉè  
 
±¸ºÅ¡£ª¤  
 
ʵÀýª¥  
 
³ÌÐò4ª±10Ϊÿ¸öÃüÁîÐвÎÊý´òÓ¡É豸ºÅ£¬ÁíÍ⣬Èô´Ë²ÎÊýÒýÖ¸µÄÊÇ×Ö·ûÌØÊâÎļþ  
 
»ò¿éÌØÊâ  
 
Îļþ£¬ÔòÒ²´òÓ¡¸ÃÌØÊâÎļþµÄst ¼£Ã£Ä££ª³£²¡½rdevÖµ¡£ª¤ª¤ª¤  
 
³ÌÐò4ª±10¡þ´òÓ¡st ¼£Ã£Ä££ª³£²¡½devºÍst ¼£Ã£Ä££ª³£²¡½rdevÖµª¥  
 
ÔÚSVR4ÖУ¬ÎªÁ˶¨ÒåºêmajorºÍminor£¬Ò»¶¨Òª°üÀ¨Í·Îļþ<sys/sysmacroª±h>¡£ÔË  
 
Ðд˳ÌÐò  
 
µÃµ½ÏÂÃæµÄ½á¹û£ºª¥  
 
$ aª±out//home/stevens/dev/tty£Ûab£Ýª¥  
 
/:dev=7/0ª¥  
 
/home/stevens:dev=7/7ª¥  
 
/dev/ttya:dev=7/0(character)rdev=12/0ª¥  
 
/dev/ttyb:dev=7/0(character)rdev=12/1ª¥  
 
$ mountª¥  
 
/dev/sd0a on /ª¥  
 
/dev/sd0h on/homeª¥  
 
$ ls -1/dev/sd0£Ûah£Ý/dev/tty£Ûab£Ýª¥  
 
brw-r----- 1 root 7,0 Jan 31 08:23/dev/sd0aª¥  
 
brw-r----- 1 root 7,7 Jan 31 08:23/dev/sd0hª¥  
 
crw-rw-rw- 1 root 12,0 Jan 31 08:22/dev/ttyaª¥  
 
crw-rw-rw- 1 root 12,1 Jul 9 10:11/dev/ttybª¤  
 
´«µÝ¸ø¸Ã³ÌÐòµÄÍ·Á½¸ö²ÎÊýÊÇĿ¼(¸ùºÍ/home/stevens),ºóÁ½¸öÊÇÉ豸Ãû/dev/tt  
 
g£Ûab£Ý£¬  
 
ÕâÁ½¸öÉ豸ÊÇ×Ö·ûÌØÊâÉ豸¡£´Ó³ÌÐòµÄÊä³ö¿É¼û£¬¸ùĿ¼ºÍ/home/stevenĿ¼µÄÉè  
 
±¸ºÅ²»Í¬  
 
£¬Õâ±íʾËüÃÇλÓÚ²»Í¬µÄÎļþϵͳÖС£ÔËÐÐmountÃüÁîÖ¤Ã÷ÁËÕâÒ»µã¡£È»ºóÎÒÃÇÓà 
 
lsÃüÁî²é  
 
¿´ÓÉmountÃüÁ¸æµÄÁ½¸öÅÌÉ豸£¬ºÍÁ½¸öÖÕ¶ËÉ豸¡£ÕâÁ½¸öÅÌÉ豸ÊÇ¿éÌØÊâÉ豸  
 
£¬ÃæÏò¸ö  
 
ÖÕ¶ËÉ豸ÔòÊÇ×Ö·ûÌØÊâÉ豸¡£(ͨ³££¬Ö»ÓпéÌØÊâÉ豸²ÅÄܰüº¬Ëæ»ú´æÈ¡Îļþϵͳ  
 
£¬ËüÃÇÊÇ  
 
£ºÓ²¡¢ÈíÅÌÇý¶¯Æ÷ºÍCD-ROMµÈ¡£UnixµÄ½ÏÀϰ汾֧³Ö´Å´ø´æ·ÅÎļþϵͳ£¬µ«Õâ´Óδ  
 
¹ã·ºÊ¹Óà 
 
¹ý¡£)×¢Ò⣬Á½¸öÖÕ¶ËÉ豸µÄÎļþÃûºÍi-nodeÔÚÉ豸I/OÉÏ(st ¼£Ã£Ä££ª³£²¡½dev£¬  
 
ÕâÊǸùÎÄ  
 
¼þϵͳ£¬Ëü°üº¬ÁË/devÎļþϵͳ)£¬µ«ÊÇËüÃǵÄʵ¼ÊÉ豸ºÅÊÇ£º12/0ºÍ12/1¡£ª¤  
 
4ª±24¡þsyncºÍfsyncº¯Êýª¥  
 
´«Í³µÄUnixʵÏÖÔÚϵͳºËÖÐûÓлº³å´æ´¢Æ÷£¬´ó¶àÊý´ÅÅÌI/O¶¼Í¨¹ý»º´æ½øÐС£µ±  
 
½»Êý¾Ýд  
 
µ½ÎļþÉÏʱ£¬Í¨³£¸ÃÊý¾ÝÏÈÓÉϵͳºË¸´ÖƵ½ÆäÒ»¸ö»º´æÖУ¬Èç¹û¸Ã»º´æÉÐδдÂú£¬  
 
Ôò²¢²»½«  
 
ÆäÅÅÈëÊä³ö¶ÓÁУ¬¶øÊǵȴýÆäдÂú»òÕßµ±ÏµÍ³ºËÐèÒªÖØÓøûº´æÒÔ±ã´æ·ÅÆäËüÅ̿頠
 
Êý¾Ýʱ£¬  
 
ÔÙ½«¸Ã»º´æÅÅÈëÊä³ö¶ÓÁУ¬È»ºó´ýÆäµ½´ï¶Óǰʱ£¬²Å½øÐÐʵ¼ÊµÄI/O²Ù×÷¡£ÕâÖÖÊä  
 
³ö·½Ê½±»  
 
³ÆÖ®ÎªÑÓ³Ùд¡£ÑÓ³Ùд¼õÉÙÁËÏõ»ù¶Áд´ÎÊý£¬µ«ÊÇÈ´½µµÍÁËÎļþÄÚÈݵĸüÐÂËÙ¶È£¬  
 
ʹµÃÓûд  
 
µ½ÎļþÖеÄÊý¾ÝÔÚÒ»¶Îʱ¼äÄÚ²¢Ã»ÓÐдµ½Ïõ»ùÉÏ¡£µ±ÏµÍ³·¢Éú¹ÊÕÏʱ£¬ÕâÖÖÑÓ³Ù¿É  
 
ÄÜÔì³ÉÎÄ  
 
¼þ¸üÐÂÄÚÈݵĶªÊ§¡£ÎªÁ˱£Ö¤´ÅÅÌÉÏʵ¼ÊÎļþϵͳÓ뻺´æÖÐÄÚÈݵÄÒ»ÖÂÐÔ£¬UNIXϵ  
 
ͳÌṩÁË  
 
sgncºÍfsync¶þ¸öϵͳµÄÓú¯Êý¡£ª¥  
 
#include<unistdª±h>ª¥  
 
void sync(void);ª¥  
 
int fsync(int ª«filedes);ª«ª¥  
 
·µ»Ø£ºÈô³É¹¦Îª0£¬³ö´íΪ£­£±ª¤  
 
syncÖ»Êǽ«ËùÓÐÐ޸ĹýµÄ¿éµÄ»º´æÅÅÈëд¶ÓÁУ¬È»ºó¾Í·µ»Ø£¬Ëü²¢²»µÈ´ýʵ¼ÊI/O  
 
²Ù×÷½áÊø  
 
¡£ª¥  
 
ϵͳ¾«Áé½ø³Ì(ͨ³£³ÆÎªupdate)Ò»°ãÿ¸ô30Ãëµ÷ÓÃÒ»´Îsyncº¯Êý¡£Õâ¾Í±£Ö¤Á˶¨ÆÚ  
 
Ë¢ÐÂϵͳ  
 
ºËµÄ¿é»º´æ¡£ÃüÁîsync(1)Ò²µ÷ÓÃsyncº¯Êý¡£ª¥  
 
º¯ÊýfsyncÖ»ÒýÓõ¥¸öÎļþ(ÓÉÎļþÃèÊö·ûfiledesÖ¸¶¨)£¬ËüµÈ´ýI/O½áÊø£¬È»ºó·µ  
 
»Ø¡£fsync  
 
¿ÉÓÃÓÚÊý¾Ý¿âÕâÑùµÄÓ¦ÓóÌÐò£¬ÔÚÈ·±£Ð޸ĹýµÄ¿éÁ¢¼´Ð´µ½´ÅÅÌÉÏ¡£±È½ÏÒ»ÏÂfsy  
 
ncºÍO¡¼£Ã  
 
 Ä££ª³£²¡½SY  
 
NC±êÖ¾(¼û3ª±13½Ú)¡£µ±µ÷ÓÃfsyncʱ£¬Ëü¸üÐÂÎļþµÄÄÚÈÝ£¬¶ø¶ÔÓÚO ¼£Ã£Ä££ª³£²  
 
¡½SYNC£¬  
 
ÔòÊÇÿ´Î¶ÔÎļþµ÷ÓÃwriteº¯Êýʱ¾Í¸üÐÂÎļþµÄÄÚÈÝ¡£ª¥  
 
SVR4ºÍ4ª±3+BSDÁ½Õß¶¼Ö§³ÖsyncºÍfsync,ËüÃǶ¼²»ÊÇPOSIXª±1µÄ×é³É²¿·Ö£¬µ«XPG  
 
3ÒªÇófsync¡£ª¤  
 
4ª±25¡þÎļþ´æÈ¡Ðí¿ÉÊýλժҪª¥  
 
ÎÒÃÇÒÑע˵Ã÷ÁËËùÓÐÎļþ´æÈ¡Êý룬ÆäÖÐijЩλÓжàÖÖÓÃ;¡£Í¼4ª±14ÕªÒªÁгöÁË  
 
ËùÓÐÕâЩÐí¿ÉÊý룬ÒÔ¼°ËüÃÇ¶ÔÆÕͨÎļþºÍĿ¼ÎļþµÄ×÷Óᣪ¤ª¤ª¤  
 
ͼ4ª±14¡þÎļþ´æÈ¡ÊýλժҪª¥  
 
×îºó9¸ö³£Êý·Ö³É3×é¡£ª¥  
 
S ¼£Ã£Ä££ª³£²¡½IRWXU=S+IRUSR£üS ¼£Ã£Ä££ª³£²¡½IWUSR£üS ¼£Ã£Ä££ª³£²¡½IXUS  
 
Rª¥  
 
S ¼£Ã£Ä££ª³£²¡½IRWXG=S+IRGRP£üS ¼£Ã£Ä££ª³£²¡½IWGRP£üS ¼£Ã£Ä££ª³£²¡½IXGR  
 
Pª¥  
 
S ¼£Ã£Ä££ª³£²¡½IRWXO=S+IROTH£üS ¼£Ã£Ä££ª³£²¡½IWOTH£üS ¼£Ã£Ä££ª³£²¡½IXOT  
 
Hª¤  
 
4ª±26¡þÕªÒªª¥  
 
 
 
±¾ÕÂÄÚÈÝÎ§ÈÆstatº¯Êý£¬Ïêϸ½éÉÜÁËstat½á¹¹ÖеÄÿһ¸ö³ÉÔ±¡£ÕâʹÎÒÃǶÔUnixÎÄ  
 
¼þµÄ¸÷¸öÊôÐÔ¶¼ÓÐËùÁ˽⡣¶ÔÎļþµÄËùÓÐÊôÐÔÒÔ¼°¶ÔÎļþ½øÐвÙ×÷µÄËùÓк¯ÊýÓÐÍê  
 
ÕûµÄÁ˽â¶Ô¸÷ÖÖUnix³ÌÐòÉè¼ÆÊǷdz£ÖØÒªµÄ¡£[LM]  
 
   
 
   
 
--  
 
 
-- 
¡ù À´Ô´:¡¤BBS Ë®Ä¾Ç廪վ smth.org¡¤[FROM: 166.111.136.178] 

BBSˮľÇ廪վ¡Ã¾«»ªÇø