linux 0.11 Îļþϵͳ£¨Èý£©
Ŀ¼ÏîºÍ³¬¼¶¿é£¬½ÚµãµÄ¸ÅÄͬ£¬ËüÔÚÉ豸ÉÏûÓжÔÓ¦µÄ´ÅÅÌÊý¾Ý½á¹¹¡£Ïà·´£¬ËüÊÇĿ¼ÎÄ ¼þµÄÒ»²¿·Ö¡£linuxÖÐĿ¼ҲÊÇÒ»ÖÖÎļþ£¬ÀàÐÍÊÇ'd'¡£µ«ÊÇĿ¼ÖеÄÄÚÈÝºÍÆÕͨÎļþ²»Í¬£¬ËüÊÇÓÉĿ¼Ïî×é³ÉµÄ¡£×¢ÒâĿ¼Ïî²»ÊÇĿ¼¡£ÎÒÃǾ³£Ó÷¾¶Ãû Ö´ÐÐÏà¹Ø²Ù×÷£¬Ä¿Â¼Ïî¾ÍÊÇΪÁ˲éÕÒ·½±ãµÄ¡£
struct dirt_entry{
unsigned short inode;
char name[NAME_LEN];
}£»
¿É ÒÔ¿´µ½Ò»¸öĿ¼ÏîÖаüº¬ÁËÎļþµÄi½ÚµãºÅºÍÎļþµÄÃû³Æ¡£Â·¾¶ÓÐÁ½ÖÖ£¬Ò»ÖÖÊǾø¶Ô·¾¶£¬Ò»ÖÖÊÇÏà¶Ô·¾¶¡£±ÈÈç/home/fish¾ÍÊǾø¶Ô·¾¶£¬ËüÒÔ¸ùĿ¼ /Ϊ¿ªÍ·£¬¶ø X11/xorg.conf¾ÍÊÇÏà¶Ô·¾¶£¬ËüÏà¶ÔÓÚĿ¼/etc,Ò²¾ÍÊÇ˵ºóÕߵľø¶Ô·¾¶ÊÇ/etc/X11/xorg.conf¡£Â·¾¶ÊÇÓÉĿ¼Ïî×é³É µÄ¡£Äà /home/fish/fish.cÀ´Ëµ£¬µÚÒ»¸öĿ¼ÊÇ/£¬¼´¸ùĿ¼¡£ÔÚ¸ùĿ¼ÎļþÖÐÓÐÃû×ÖΪhomeµÄĿ¼ÏȻºóͨ¹ýhomeĿ¼ÏîÖеÄi½Úµã¾Í¿ÉÒÔ ÕÒµ½homeÎļþ£¬Í¨¹ýi½ÚµãÖеÄi_mode×ֶοÉÖªËüÊÇÒ»¸öĿ¼£¬ÔÚÕâ¸öÎļþÖÐÓÐÃûΪfishµÄĿ¼ÏȻºó¸ù¾ÝÕâ¸öĿ¼ÏîÖеÄi½ÚµãºÅÕÒµ½fish Îļþ¡£Í¬ÑùÓÉfishµÄinode->i_modeÖªÕâÒ²ÊǸöĿ¼¡£Í¬ÑùÔÚfishÎļþÖÐÕÒµ½ÃûΪfish.cµÄĿ¼Ï¾Í¿ÉÒÔÕÒ³öfish.cµÄ i½Úµã£¬ËÑË÷Íê³É¡£
namei.c ÊÇÄÚºËÖÐ×µÄÒ»¸öÎļþ£¬Ëü°üº¬ÁËÐí¶à¹ØÓÚĿ¼µÄ²Ù×÷£¬Èçfind_entry(´ÓÒ»¸öĿ¼ÖÐËÑË÷ÖÆ¶¨µÄĿ¼Ïî),add_entry(ÍùÖ¸¶¨µÄĿ¼ÖÐÌí ¼ÓÒ»¸öÎļþĿ¼Ïî),get_dir(¸ù¾Ý·¾¶ÃûÕÒµ½Ö¸¶¨µÄĿ¼),dir_namei(·µ»ØÖ¸¶¨Ä¿Â¼µÄi½ÚµãÖ¸Õë),»¹ÓÐnamei(¸ù¾Ý·¾¶ÃûÕÒµ½Ö¸ ¶¨Â·¾¶µÄi½Úµã)µÈµÈ¡£ÎÒÃǾÍÏÈÄÃfind_entryÀ´¿´Ò»Ï¡£
//dir:Ö¸¶¨Ä¿Â¼µÄi½ÚµãÖ¸Õë¡£name:ÎļþÃû,namelen£ºÎļþÃû³¤¶È¡£
//·µ»Ø£º¸ßËÙ»º³åÇøÖ¸ÕëºÍÏàÓ¦µÄĿ¼ÏîÖ¸Õë¡£
static struct buffer_head* find_entry(struct m_inode **dir,const char*name,int namelen,struct dir_entry **res_dir)
{
int entries;
int block ,i;
struct buffer_head *bh;
struct dir_entry *de;
struct super_blocl *sb;
//Èç¹û¶¨ÒåÁËNO_TRUNCATE,ÔòÈç¹ûÎļþÃû´óÓÚ×î´ó³¤¶ÈNAME_LEN,·µ»Ø¡£
Ïà¹ØÎĵµ£º
LinuxϵͳϵÄGcc£¨GNU C Compiler£©ÊÇGNUÍÆ³öµÄ¹¦ÄÜÇ¿´ó¡¢ÐÔÄÜÓÅÔ½µÄ¶àƽ̨±àÒëÆ÷£¬ÊÇGNUµÄ´ú±í×÷Æ·Ö®Ò»¡£gccÊÇ¿ÉÒÔÔÚ¶àÖÖÓ²ÌåÆ½Ì¨ÉϱàÒë³ö¿ÉÖ´ÐгÌÐòµÄ³¬¼¶±àÒëÆ÷£¬ÆäÖ´ÐÐЧÂÊÓëÒ»°ãµÄ±àÒëÆ÷Ïà±Èƽ¾ùЧÂÊÒª¸ß20%~30%¡£ Gcc±àÒëÆ÷Äܽ«C¡¢C++ÓïÑÔÔ´³ÌÐò¡¢»ã³Ìʽ»¯ÐòºÍÄ¿±ê³ÌÐò±àÒë¡¢Á¬½Ó³É¿ÉÖ´ÐÐÎļþ£¬Èç¹ûûÓиø³ö¿ÉÖ´ÐÐÎÄ ......
sourceÃüÁ
sourceÃüÁîÒ²³ÆÎª“µãÃüÁ¬Ò²¾ÍÊÇÒ»¸öµã·ûºÅ£¨.£©¡£sourceÃüÁîͨ³£ÓÃÓÚÖØÐÂÖ´ÐиÕÐ޸ĵijõʼ»¯Îļþ£¬Ê¹Ö®Á¢¼´ÉúЧ£¬¶ø²»±Ø×¢Ïú²¢ÖØÐµÇ¼¡£
Ó÷¨£º
#vim ~/.bashrc
#source ~/.bashrc
......
1. Sed¼ò½é
sed ÊÇÒ»ÖÖÔÚÏß±à¼Æ÷£¬ËüÒ»´Î´¦ÀíÒ»ÐÐÄÚÈÝ¡£´¦Àíʱ£¬°Ñµ±Ç°´¦ÀíµÄÐд洢ÔÚÁÙʱ»º³åÇøÖУ¬³ÆÎª“ģʽ¿Õ¼ä”£¨pattern
space£©£¬½Ó×ÅÓÃsedÃüÁî´¦Àí»º³åÇøÖеÄÄÚÈÝ£¬´¦ÀíÍê³Éºó£¬°Ñ»º³åÇøµÄÄÚÈÝËÍÍùÆÁÄ»¡£½Ó×Å´¦ÀíÏÂÒ»ÐУ¬ÕâÑù
1. Sed¼ò½é
sed ÊÇÒ»ÖÖÔÚÏß±à¼Æ÷£¬ËüÒ»´Î´¦ÀíÒ»ÐÐÄÚÈÝ¡£´¦Àíʱ£¬°Ñ ......
1,˵Ã÷:
ulimitÓÃÓÚshellÆô¶¯½ø³ÌËùÕ¼ÓõÄ×ÊÔ´.
2,Àà±ð:
shellÄÚ½¨ÃüÁî
3,Óï·¨¸ñʽ:
ulimit [-acdfHlmnpsStvw] [size]
4,²ÎÊý½éÉÜ:
-H ÉèÖÃÓ²¼þ×ÊÔ´ÏÞÖÆ.
-S ÉèÖÃÈí¼þ×ÊÔ´ÏÞÖÆ.
-a ÏÔʾµ±Ç°ËùÓеÄ×ÊÔ´ÏÞÖÆ.
-c size:ÉèÖÃcoreÎļþµÄ×î´óÖµ.µ¥Î»:blocks
-d size:ÉèÖÃÊý¾Ý¶ÎµÄ×î´óÖµ.µ¥Î»:kbytes
-f size:ÉèÖô´½¨ ......
¹¦ÄÜ£º
¼ÓÔØÖ¸¶¨µÄÎļþϵͳ¡£
Óï·¨£º
mount [-afFhnrvVw] [-L] [-o] [-t] [É豸Ãû] [¼ÓÔØµã]
Ó÷¨ËµÃ÷£º
mount¿É½«Ö¸¶¨É豸ÖÐÖ¸¶¨µÄÎļþϵͳ¼ÓÔØµ½LinuxĿ¼Ï£¨Ò²¾ÍÊÇ×°ÔØµã£©¡£¿É½«¾³£Ê¹ÓõÄÉ豸дÈë
Îļþ/etc/fastab,ÒÔʹϵͳÔÚÿ´ÎÆô¶¯Ê±×Ô¶¯¼ÓÔØ¡£mount¼ÓÔØÉ豸µÄÐÅÏ¢¼Ç¼ÔÚ/etc/mtabÎļþÖС£Ê¹ÓÃumountÃüÁîÐ ......