LinuxÄÚºËMakefiledzÎö£¨×ª
1£® ÅäÖÃϵͳµÄ»ù±¾½á¹¹
LinuxÄں˵ÄÅäÖÃϵͳÓÉÈý¸ö²¿·Ö×é³É£¬·Ö±ðÊÇ£º
Makefile£º·Ö²¼ÔÚ Linux ÄÚºËÔ´´úÂëÖÐµÄ Makefile£¬¶¨Òå Linux Äں˵ıàÒë¹æÔò£»
ÅäÖÃÎļþ£¨config.in£©£º¸øÓû§ÌṩÅäÖÃÑ¡ÔñµÄ¹¦ÄÜ£»
ÅäÖù¤¾ß£º°üÀ¨ÅäÖÃÃüÁî½âÊÍÆ÷£¨¶ÔÅäÖýű¾ÖÐʹÓõÄÅäÖÃÃüÁî½øÐнâÊÍ£©ºÍÅäÖÃÓû§½çÃæ£¨Ìṩ»ùÓÚ×Ö·û½çÃæ¡¢»ùÓÚ Ncurses ͼÐνçÃæÒÔ¼°»ùÓÚ Xwindows ͼÐνçÃæµÄÓû§ÅäÖýçÃæ£¬¸÷×Ô¶ÔÓ¦ÓÚ Make config¡¢Make menuconfig ºÍ make xconfig£©¡£
ÕâЩÅäÖù¤¾ß¶¼ÊÇʹÓýű¾ÓïÑÔ£¬Èç Tcl/TK¡¢Perl ±àдµÄ£¨Ò²°üº¬Ò»Ð©Óà C ±àдµÄ´úÂ룩¡£±¾ÎIJ¢²»ÊǶÔÅäÖÃϵͳ±¾Éí½øÐзÖÎö£¬¶øÊǽéÉÜÈçºÎʹÓÃÅäÖÃϵͳ¡£ËùÒÔ£¬³ý·ÇÊÇÅäÖÃϵͳµÄά»¤Õߣ¬Ò»°ãµÄÄں˿ª·¢ÕßÎÞÐëÁ˽âËüÃǵÄÔÀí£¬Ö»ÐèÒªÖªµÀÈçºÎ±àд Makefile ºÍÅäÖÃÎļþ¾Í¿ÉÒÔ¡£ËùÒÔ£¬ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÖ»¶Ô Makefile ºÍÅäÖÃÎļþ½øÐÐÌÖÂÛ¡£ÁíÍ⣬·²ÊÇÉæ¼°µ½Óë¾ßÌå CPU Ìåϵ½á¹¹Ïà¹ØµÄÄÚÈÝ£¬ÎÒÃǶ¼ÒÔ ARM ΪÀý£¬ÕâÑù²»½ö¿ÉÒÔ½«ÌÖÂÛµÄÎÊÌâÃ÷È·»¯£¬¶øÇÒ¶ÔÄÚÈݱ¾Éí²»²úÉúÓ°Ïì¡£
2£® Makefile
2.1 Makefile ¸ÅÊö
Makefile µÄ×÷ÓÃÊǸù¾ÝÅäÖõÄÇé¿ö£¬¹¹Ôì³öÐèÒª±àÒëµÄÔ´ÎļþÁÐ±í£¬È»ºó·Ö±ð±àÒ룬²¢°ÑÄ¿±ê´úÂëÁ´½Óµ½Ò»Æð£¬×îÖÕÐÎ³É Linux Äں˶þ½øÖÆÎļþ¡£
ÓÉÓÚ Linux ÄÚºËÔ´´úÂëÊǰ´ÕÕÊ÷Ðνṹ×éÖ¯µÄ£¬ËùÒÔ Makefile Ò²±»·Ö²¼ÔÚĿ¼Ê÷ÖС£Linux ÄÚºËÖÐµÄ Makefile ÒÔ¼°Óë Makefile Ö±½ÓÏà¹ØµÄÎļþÓУº
Makefile£º¶¥²ã Makefile£¬ÊÇÕû¸öÄÚºËÅäÖᢱàÒëµÄ×ÜÌå¿ØÖÆÎļþ¡£
.config£ºÄÚºËÅäÖÃÎļþ£¬°üº¬ÓÉÓû§Ñ¡ÔñµÄÅäÖÃÑ¡ÏÓÃÀ´´æ·ÅÄÚºËÅäÖúóµÄ½á¹û£¨Èç make config£©¡£
arch/*/Makefile£ºÎ»ÓÚ¸÷ÖÖ CPU ÌåϵĿ¼Ï嵀 Makefile£¬Èç arch/arm/Makefile£¬ÊÇÕë¶ÔÌØ¶¨Æ½Ì¨µÄ Makefile¡£
¸÷¸ö×ÓĿ¼Ï嵀 Makefile£º±ÈÈç drivers/Makefile£¬¸ºÔðËùÔÚ×ÓĿ¼ÏÂÔ´´úÂëµÄ¹ÜÀí¡£
Rules.make£º¹æÔòÎļþ£¬±»ËùÓÐµÄ Makefile ʹÓá£
Óû§Í¨¹ý make config ÅäÖú󣬲úÉúÁË .config¡£¶¥²ã Makefile ¶ÁÈë .config ÖеÄÅäÖÃÑ¡Ôñ¡£¶¥²ã Makefile ÓÐÁ½¸öÖ÷ÒªµÄÈÎÎñ£º²úÉú vmlinux ÎļþºÍÄÚºËÄ£¿é£¨module£©¡£ÎªÁË´ïµ½´ËÄ¿µÄ£¬¶¥²ã Makefile µÝ¹éµÄ½øÈëµ½Äں˵ĸ÷¸ö×ÓĿ¼ÖУ¬·Ö±ðµ÷ÓÃλÓÚÕâЩ×ÓĿ¼ÖÐµÄ Makefile¡£ÖÁÓÚµ½µ×½øÈëÄÄЩ×ÓĿ¼£¬È¡¾öÓÚÄں˵ÄÅäÖá£ÔÚ¶¥²ã Makefile ÖУ¬ÓÐÒ»¾ä£ºinclude arch/$(ARCH)/Makefile£¬°üº¬ÁËÌØ¶¨ CPU Ìåϵ½á¹¹Ï嵀 Makefile£¬Õâ¸ö Makefile Öаüº¬ÁËÆ½Ì¨Ïà¹ØµÄÐÅÏ¢¡£
λÓÚ¸÷¸
Ïà¹ØÎĵµ£º
Ï̳߳أº¼òµ¥µØËµ£¬Ïß³Ì³Ø ¾ÍÊÇÔ¤ÏÈ´´½¨ºÃÒ»ÅúỊ̈߳¬·½±ã¡¢¿ìËٵش¦ÀíÊÕµ½µÄÒµÎñ¡£±ÈÆð´«Í³µÄµ½À´Ò»¸öÈÎÎñ£¬¼´Ê±´´½¨Ò»¸öÏß³ÌÀ´´¦Àí£¬½ÚÊ¡ÁËÏ̵߳Ĵ´½¨ºÍ»ØÊյĿªÏú£¬ÏìÓ¦¸ü¿ì£¬Ð§Âʸü¸ß¡£
ÔÚlinuxÖУ¬Ê¹ÓõÄÊÇposixÏ߳̿⣬Ê×ÏȽéÉܼ¸¸ö³£Óõĺ¯Êý£º
1 Ï̵߳Ĵ´½¨ºÍÈ¡Ïûº¯Êý
pthread_create
´´½¨Ïß³Ì
pthread_join
º ......
£¨Æß£©DNS·þÎñÆ÷ÅäÖÃʵÀý
¾ÙÀýÒ»£º
ʹÓÃviewÓï¾ä´î½¨¾ßÓÐÄÚÍâÊÓͼ¹¦ÄܵÄDNS·þÎñÆ÷£¬²¢Äܹ»¸ùé§²»Í¬µÄ¿Í»§¶ËµØÖ·ÊµÏÖ²»Í¬µÄ½âÎö½á¹û£¬¼ÙÉè¾ÖÓòÍøµØÖ·Îª192.168.255.0/24£¬¾ÖÓòÍøÄÚ¸÷Ö÷»ú·Ö±ðΪrhel1:192.168.255.128; rhel2:192.168.255.12; rhel3:192.168.255.129; rhel4:192.168.255.120; rhel5:192.168.255.4Ϊ ......
ϵͳµ÷ÓÃÊÇÓ¦ÓóÌʽºÍ²Ù×÷ϵͳÄÚºËÖ®¼äµÄ¹¦Äܽӿڡ£ÆäÖ÷ҪĿµÄÊÇʹµÃÓû§
ÄÜʹÓòÙ×÷ϵͳÌṩµÄÓйØÉ豸¹ÜÀí¡¢ÊäÈë/ÊäÈëϵͳ¡¢ÎļþϵͳºÍ½ø³Ì¿ØÖÆ¡¢
ͨÐż°´æ´¢¹ÜÀíµÈ·½ÃæµÄ¹¦ÄÜ£¬¶ø²»±ØÁ˽âϵͳ³ÌʽµÄÄÚ²¿½á¹¹ºÍÓйØÓ²¼þϸ
½Ú£¬´Ó¶øÆðµ½¼õÇáÓû§¸ºµ£ºÍ±£»¤ÏµÍ³¼°Ìá¸ß×ÊÔ´ÀûÓÃÂʵÄ×÷Óᣠ......
Displaying the Routing Table£º
netstat -nr
Displaying Interface Statistics:
netstat -i
Show the address resolution (ARP) tables:
netstat -p
Displaying Connections:
netstat -ta (linux)
netstat -a -f af:inet (opensolaris)
http://www.faqs.org/docs/linux_network/x-087-2-iface.netstat.html
http ......
LinuxϵÄÉ豸Çý¶¯³ÌÐò±»×é֯Ϊһ×éÍê³É²»Í¬ÈÎÎñµÄº¯ÊýµÄ¼¯ºÏ£¬Í¨¹ýÕâЩº¯ÊýʹµÃWindowsµÄÉ豸²Ù×÷ÓÌÈçÎļþÒ»°ã¡£ÔÚÓ¦ÓóÌÐò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷£¬Èçopen ()¡¢close ()¡¢read ()¡¢write () µÈ¡£
LinuxÖ÷Òª½«É豸·ÖΪ¶þÀࣺ×Ö·ûÉ豸ºÍ¿éÉ豸¡£×Ö·ûÉ豸ÊÇÖ¸Éè ......