LinuxÄÚºËÈëÃÅ£¨Èý£©—— CÓïÑÔ»ù±¾¹¦
linuxÊÇÒ»¸ö¸´ÔÓµÄÈí¼þϵͳ£¬ÆäÄÚºËÔ´´úÂëÍùÍù»áÓõ½Ò»Ð©ÔÚÓ¦ÓóÌÐòÉè¼ÆÖв¿³£¼ûÓïÑԳɷֺͱà³Ì¼¼ÇÉ£¬ÕâЩ¶¼ÊÇ·ÖÎöÄÚºËÔ´´úÂëµÄ»ù±¾¹¦£¬Ï£Íû´ó¼ÒÄÜÖØµãÕÆÎÕ¡£
Ê×ÏÈ£¬gcc±àÒëÆ÷´ÓÓïÑÔÀïÎüÊÕÁË“inline”ºÍ“const”¡£inlineº¯ÊýµÄ´óÁ¿Ê¹Óã¬ÓÐÀûÓÚÌá¸ßÔËÐÐЧÂÊ£¬ÓÉ´ËÏ൱һ²¿·Ö´úÂë´Ó.cÎļþÒÆÈëÁË.hÎļþ¡£
gccÔö¼ÓÁËÒ»ÖÖеĻù±¾Êý¾ÝÀàÐÍ“long
long int”ÓÃÓÚÖ§³Ö64λCPU½á¹¹¡£
Ðí¶àCÓïÑÔ¶¼Ö§³ÖһЩ“ÊôÐÔÃèÊö·û”£¬Èç“aligned”£¬“packed”µÈ¡£Ï൱ÓÚһЩеı£Áô×Ö¡£µ«ÊÇ£¬ÔÚÔÀ´µÄCÓïÑÔÕâЩ´Ê²¢·Ç±£Áô×Ö£¬¶øÊÇÒ»
ЩÆÕͨµÄ±äÁ¿£¬ÕâÑù¾Í»á²úÉúһЩ³åÍ»¡£ÀýÈ磺inlineÔÚÀϵĴúÂëÖÐÒѾÊÇ×÷Ϊ±äÁ¿ÔÚʹÓÃÁË£¬ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬gcc½«×÷Ϊ±£Áô×ֵēinline”
Éè¼Æ³É__inline__£¬ÕâÑù¾Í²»»á³åÍ»ÁË¡£
gcc»¹Ö§³ÖÒ»¸ö±£Áô×Ö“attribute”£¬ÓÃÀ´×÷ÊôÐÔÃèÊö¡£È磺attribute__
<<packed>>£¬ÕâÑùpacked¾Í³ÉΪÊôÐÔÃèÊö·û£¨Ò»ÖÖÌØÊâ±£Áô×Ö£©¶ø·Ç±äÁ¿ÁË¡£
gccÖÐÓдóÁ¿¶Ôºê²Ù×÷µÄʹÓ㬴ó¼Ò¿Ï¶¨»á¶ÔÄں˴úÂëÖеÄһЩºê²Ù×÷µÄ¶¨Ò巽ʽ¸Ðµ½²»½â£¬È磺
#define DUMP_WRITE(addr, nr) do{ memcpy(bufp,addr,nr);
bufp+=nr;}while(0)
ÕâÊDZØÐëµÄ£¬ÊÇΪÁË·ÀÖ¹ÔÚIF-ELSEÓï¾äÖÐʹÓøú궨Òåʱ·¢Éú´íÎó¡£
linuxÄں˴úÂëÖдóÁ¿Ê¹ÓÃÁ´±í£¬µ«ÆäʹÓ÷½·¨ÓëÎÒÃÇÔÚ¡¶Êý¾Ý½á¹¹¡·ÖÐѧµ½µÄ²»´óÒ»Ñù£¬´ó¼Ò¿ÉÒԻعËÒ»ÏÂÎÒÃÇÔÚ¿ÎÌÃÉÏѧϰÁ´±íµÄʱºò£¬Í¨³£³ýÁË¶ÔÆäÊý¾Ý
½á¹¹½øÐÐÁ˶¨Ò壬»¹¶¨ÒåÁËÈô¸É¶Ô¸Ã½á¹¹µÄ²Ù×÷¡£µ«¶ÔÓÚ´óÁ¿Ê¹ÓÃÁ´±íµÄlinuxÄÚºËÀ´Ëµ£¬Èç¹û¶¨ÒåÁËÒ»¸ö½á¹¹¾ÍÒª¶¨ÒåÆäÏà¹ØµÄ²Ù×÷µÄ»°£¬ÏÔÈ»´úÂëÁ¿²»Ð¡¡£
ΪÁËÌá¸ßЧÂÊ£¬Äں˲ÉÓÃÁËÒ»Ì×ͨÓõģ¬Ò»°ãµÄ£¬¿ÉÒÔÓõ½¸÷ÖÖ²»Í¬Êý¾Ý½á¹¹µÄ¶ÓÁвÙ×÷¡£ÔÚinclude/linux/ list.hÖУ¬ÓÐÈçÏÂÉêÃ÷£º
st
Ïà¹ØÎĵµ£º
1,ifconfigÃüÁî
ifconfig¿ÉÉèÖÃÍøÂçÉ豸µÄ״̬£¬»òÊÇÏÔʾĿǰµÄÉèÖá£
#ifconfig [ÍøÂçÉ豸] [down|up|-allmulti|-arp|-promisc] [add<µØÖ·>] [del<µØÖ·>] [<ÍøÂçÉ豸ÀàÐÍ> <Ó²¼þµØÖ·>] [io_addr] [irq ] [media<ÍøÂçý½éÀàÐÍ>] [mem_start<ÄÚ´æµØÖ·>]
[metric<ÊýÄ¿>] [mtu&l ......
ÓÉÓÚÓû§ÔÚUNIXϾ³£»áÓöµ½SUID¡¢SGIDµÄ¸ÅÄ¶øÇÒSUIDºÍSGIDÉæ¼°µ½ÏµÍ³°²È«£¬ËùÒÔÓû§Ò²±È½Ï¹ØÐÄÕâ¸öÎÊÌâ¡£
Ò»¡¢ UNIXϹØÓÚÎļþȨÏ޵ıíʾ·½·¨ºÍ½âÎö
SUID ÊÇ Set User ID, SGID ÊÇ Set Group IDµÄÒâ˼¡£
UNIXÏ¿ÉÒÔÓÃls -l ÃüÁîÀ´¿´µ½ÎļþµÄȨÏÞ¡£ÓÃlsÃüÁîËùµÃµ½µÄ±íʾ·¨µÄ¸ñʽÊÇÀàËÆÕâÑùµÄ£º-rwxr-xr-x ¡£ÏÂÃæ ......
LinuxÊÇÒ»Ì×Ãâ·ÑʹÓúÍ×ÔÓÉ´«²¥µÄÀàUnix²Ù×÷ϵͳ£¬Ëü×îÏÈÓÃÓÚ»ùÓÚx86ϵÁÐCPUµÄ¼ÆËã»úÉÏ¡£Õâ¸öϵͳÊÇÓÉÊÀ½ç¸÷µØµÄ³ÉǧÉÏÍòµÄ³ÌÐòÔ±Éè¼ÆºÍʵÏֵġ£ÆäÄ¿µÄÊǽ¨Á¢²»ÊÜÈκÎÉÌÆ·»¯Èí¼þµÄ°æÈ¨ÖÆÔ¼µÄ¡¢È«ÊÀ½ç¶¼ÄÜ×ÔÓÉʹÓõÄUnix¼æÈݲúÆ·¡£
ÎÒÃDz»È¥½éÉܲÙ×÷ϵͳµÄÀúÊ·ÁË£¬Ò²²»¹Ü²Ù×÷ϵͳÕâÃÅѧ¿ÆÉ϶ԲÙ×÷ϵͳµÄ·ÖÀàÁË£¬Ïл°ÉÙ˵£¬L ......
Linux ÎļþºÍĿ¼µÄÊôÐÔ
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÕªÒª£º±¾ÎĽ²ÊöµÄÊÇÎļþ»òĿ¼µÄÊôÐÔ£¬±ÈÈç½Úµãinode¡¢ÎļþÀàÐÍ¡¢ÎļþȨÏÞ¼°¹éÊô£»»¹¶Ôsetuid¡¢setgid¼°Õ³Ìùλ½øÐÐÁËÒ»°ãÐԵĽ²½â¡£¶Ôln ¡¢chmod¡¢umask¡¢chown¡¢chgrp ¡¢touch µÄÓ÷¨Ò²½øÐÐÁ˱ȽÏÏêϸµÄ˵Ã÷ºÍ¾ÙÀý£»
Ŀ¼
1¡¢ Linux ÎļþµÄÊôÐÔ¸ÅË ......
Linuxϵͳ¶¼ÊÇÒÔÎļþµÄÐÎʽÀ´·ÃÎÊÓ²¼þÉ豸µÄ£¬¸÷ÖÖÉ豸ÊÇÒÔϵͳÉ豸ÎļþµÄÐÎʽ´æÔÚÓÚϵͳÉ豸Ŀ¼£¯devÖеġ£ÕâЩÎļþÓÃÓÚ·ÃÎÊϵͳÖÐËùÓв»Í¬ÀàÐ͵ÄÓ²¼þ¡£ÀýÈ磬£¯dev£¯mouseÎļþ¶ÔÓ¦Êó±êÉ豸Îļþ£¬ÓÃÓÚ¶ÁÈ¡Êó±êÊäÈëµÄ£»£¯dev£¯fd0Îļþ¶ÔÓ¦ÈíÇýÉ豸Îļþ£¬ÓÃÓÚ´¦ÀíÈíÅ̶ÁдµÄ£»
LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½Úµã À´±êʶ£¬¹Ø ......