LinuxÏÂGetModuleFileNameµÄËÄÖÖд·¨
LinuxÏÂGetModuleFileNameµÄËÄÖÖд·¨
¡¡¡¡ÎÊÌâµÄÆðÒòÊÇÒª°ÑÒ»¸ö¶«¶«´ÓWindowsÒÆÖ²µ½»ùÓÚLinuxµÄǶÈëʽϵͳÉÏ¡£ÒÆÖ²¹ý³ÌÖУ¬Óöµ½ÁËGetModuleFileNameµÄÎÊ
Ì⡣ΪÁ˽â¾öÕâ¸öÎÊÌ⣬»¨Á˲»ÉÙµÄʱ¼ä£¬Ò²×ßÁ˲»ÉÙÍä·¡£ÏÂÃæÊÇÕûÀíµÄ½á¹û¡£
¡¡¡¡Ê×ÏÈժ¼һ¶ÎÎÄ×Ö£¬À´Ô´¡¶UNIX Programming FAQ ÖÐÎİ桷
1.14. ÎÒÔõÑùÕÒµ½½ø³ÌµÄÏàÓ¦¿ÉÖ´ÐÐÎļþ£¿
¡¡¡¡Õâ¸öÎÊÌâ¿ÉÒÔ×÷Ϊ'³£¼ûδ»Ø´ðÎÊÌâ
'('Frequently Unanswered Questions')µÄÒ»¸öºÃºòÑ¡£¬ÒòΪÊÂʵÉÏÌá³öÕâ¸öÎÊÌâ¾³£Òâζ×ųÌÐòµÄÉè¼ÆÓÐȱÏÝ¡£:)
¡¡
¡¡ÄãÄÜ×÷µÄ'×î¼Ñ²Â²â'('best
guess')ÊÇͨ¹ýÉóÊÓ'argv[0]'µÄÖµ¶ø»ñµÃ¡£Èç¹ûËü°üÀ¨Ò»¸ö'/'£¬ÄÇôËü¿ÉÄÜÊÇ¿ÉÖ´ÐгÌÐòµÄ¾ø¶Ô»òÏà¶Ô(¶ÔÓÚÔÚ³ÌÐò¿ªÊ¼Ê±µÄµ±Ç°Ä¿Â¼¶øÑÔ)
·¾¶¡£Èç¹û²»°üÀ¨£¬ÄÇôÄã¿ÉÒÔ·ÂЧshell¶ÔÓÚ'PATH'±äÁ¿µÄ²éѯÀ´²éÕÒÕâ¸ö³ÌÐò¡£µ«ÊÇ£¬²»Äܱ£Ö¤³É¹¦£¬ÒòΪÓпÉÄÜÖ´ÐгÌÐòʱ'argv[0]'ÊÇ
һЩÈÎÒâÖµ£¬Ò²²»ÅųýÕâ¸ö¿ÉÖ´ÐÐÎļþÔÚÖ´Ðкó¿ÉÄÜÒѾ±»¸üÃû»òɾ³ýµÄÇé¿ö¡£
¡¡¡¡Èç¹ûËùÓÐÄãÏë×öµÄÖ»ÊÇÄÜ´òÓ¡Ò»¸öºÍ´íÎóÏûÏ¢Ò»Æð³öÏֵĺÏÊʵÄÃû
×Ö£¬ÄÇô×îºÃµÄ·½·¨ÔÚ'main()'º¯ÊýÖн«'argv[0]'µÄÖµ±£´æÔÚÈ«¾Ö±äÁ¿ÖÐÒÔ¹©Õû¸ö³ÌÐòʹÓá£ËäȻûÓб£Ö¤Ëµ'argv[0]'µÄÖµ×ÜÊÇÓÐÒâ
Ò壬µ«ÔÚ´ó¶àÊýÇé¿öÏÂËüÊÇ×îºÃµÄÑ¡Ôñ¡£
¡¡¡¡ÈËÃÇѯÎÊÕâ¸öÎÊÌâµÄ×îÆÕͨÔÒòÊÇÒâͼ¶¨Î»ËûÃdzÌÐòµÄÅäÖÃÎļþ¡£Õâ±»ÈÏΪÊDz»ºÃµÄÐÎʽ£»°üº¬¿ÉÖ´ÐÐÎļþ
µÄĿ¼Ӧµ±*Ö»*°üº¬¿ÉÖ´ÐÐÎļþ£¬¶øÇÒ»ùÓÚ¹ÜÀíµÄÒªÇó¾³£ÊÔͼ½«ÅäÖÃÎļþ·ÅÖÃÔںͿÉÖ´ÐÐÎļþ²»Í¬µÄÎļþϵͳ¡£
¡¡¡¡ÊÔͼ×öÕâ¸öµÄÒ»¸ö±È½Ï²»ÆÕͨµ«
¸üÕý¹æµÄÀíÓÉÊÇÔÊÐí³ÌÐòµ÷ÓÃ'exec()'Ö´ÐÐËü×Ô¼º£»ÕâÊÇÒ»ÖÖÓÃÀ´ÍêÈ«ÖØÐ³õʼ»¯½ø³Ì(±ÈÈç±»ÓÃÓÚһЩ'sendmail'µÄ°æ±¾)µÄ°ì·¨(±ÈÈçµ±Ò»
¸öÊØ»¤³ÌÐò²¶»ñÒ»¸ö'SIGHUP'ÐźÅ)¡£
¡¡¡¡ÍêȫͬÒâÉÏÃæµÄ¹Ûµã£¡ËùÒÔ²¢²»½¨ÒéÔÚLinuxÏÂȥʵÏÖGetModuleFileName£¬²»¹ý³öÓÚ¼¼ÊõµÄ½Ç¶È£¬ÌÖÂÛÒ»ÏÂÕâ¸öÎÊÌâÒ²ÊÇ¿ÉÒÔ
µÄ¡£
¡¡¡¡ºÃ£¬ÏÂÃæËµËµÜî×ÖµÄËÄÖÖд·¨¡£Å¶£¬²»£¬ÊÇGetModuleFileNameµÄËÄÖÖд·¨¡£
GetModuleFileNameµÄËÄÖÖд·¨
·½
·¨Ò»£º´ÓPATHÈëÊÖ
˵Ã÷£ºÉÏÎÄÌṩµÄ˼·
int GetModuleFileName1( char*
sModuleName, char* sFileName, int nSize)
{
int ret = -1;
if(
strchr( sModuleName,'/' ) != NULL )
strcpy( sFileName, sModuleName
);
else
{
char* sPath = getenv("PATH");
&nb
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
tar ʹÓõÄÑ¡ÏîÓУº
-c — ´´½¨Ò»¸öй鵵¡£
-f — µ±Óë -c Ñ¡ÏîÒ»ÆðʹÓÃʱ£¬´´½¨µÄ tar ÎļþʹÓøÃÑ¡ÏîÖ¸¶¨µÄÎļþÃû£»µ±Óë -x Ñ¡Ïî
Ò»ÆðʹÓÃʱ£¬Ôò½â³ý¸ÃÑ¡ÏîÖ¸¶¨µÄ¹éµµ¡£
-t — ÏÔʾ°üÀ¨ÔÚ tar ÎļþÖ ......
×î½üÔÚѧϰlinux£¬ÔÚÕâÀï¸ø´ó¼ÒÍÆ¼öÒ»¸öÍøÕ¾http://linux.vbird.org/ ÉÏÃæ¹ØÓÚlinuxµÄ½Ì³ÌдµÃºÜºÃ£¬Ò²±ÜÃâÁËÎÒÔÚѧϰ¹ý³ÌÖеĺܶàÍä·¡£
³ÌÐòÒ»£ºHelloWord,ÔÚÆÁÄ»Êä³öHelloWord
ÀûÓÃvim ´´½¨Ò»¸ösh01.shÎļþ
echo -e "Hello World!\a\n"
exit 0
³ÌÐò¶þ£º½«ÊäÈë²ÎÊýÆ´½ÓºóÊä³ö
read -p "First Name:" firstn ......
tar ÎļþÊǼ¸¸öÎļþºÍ£¨»ò£©Ä¿Â¼ÔÚÒ»¸öÎļþÖеļ¯ºÏ¡£ÕâÊÇ´´½¨±¸·ÝºÍ¹éµµµÄ¼Ñ¾¶¡£
tar ʹÓõÄÑ¡ÏîÓУº
-c — ´´½¨Ò»¸öй鵵¡£
-f — µ±Óë -c Ñ¡ÏîÒ»ÆðʹÓÃʱ£¬´´½¨µÄ tar ÎļþʹÓøÃÑ¡ÏîÖ¸¶¨µÄÎļþÃû£»µ±Óë -x Ñ¡ÏîÒ»ÆðʹÓÃʱ£¬Ôò½â³ý¸ÃÑ¡ÏîÖ¸¶¨µÄ¹éµµ¡£
-t — ÏÔʾ°üÀ¨ÔÚ tar ÎļþÖеÄÎļþÁÐ±í¡£
-v ......