Windows³ÌÐòÔ±ÈçºÎתÏòLinux¿ª·¢Ó¦Óã¿
Windows³ÌÐòÔ±ÈçºÎתÏòLinux¿ª·¢Ó¦Óã¿
ÕâÊÇÒ»·â·¢µ½ÓÊÏäÀïÃæµÄÓʼþ£¬¸Ð¾õÓеã´ú±íÐÔ£¬ÕâÀï×ö¸öͳһ»Ø´ð£¬Ò»¼ÒÖ®ÑÔ¹þ£¬»¶ÓÅÄש¡£
ÔÎÄÈçÏ£º
ÎÒ´Ócsdnѧϰ´ó±¾ÓªµÃµ½ÄúµÄÐÅÏ¢¡£²»ºÃÒâ˼´ò½ÁÄú¡£
ÎÒÏÖÔÚÓÃc++ÔÚlinuxÏ¿ª·¢´óÐÍÓ¦ÓóÌÐò¡£ÎÒÏëÇë½ÌÊÇ·ñÖµµÃÉîÈëѧϰlinux kernel¡£
ÎÒûÓÐÌØ±ð¶àµÄʱ¼ä¡£ÁíÍâÎÒÓжàÄêWindowsÏ¿ª·¢Ó¦ÓóÌÐòµÄ¾Ñé¡£
ÎҵĻشð£º
ºÇºÇ£¬ÎҸоõÕ⻹ÊÇÒ»¸öѧϰ·½ÏòµÄÎÊÌâ¡£
LinuxÕ⼸Ä꣬·¢Õ¹Ô½À´Ô½ºÃÁË£¬ÖÁÉÙÔںܶàÓ¦Ó÷þÎñÆ÷Êг¡£¬LinuxÒѾȡ´úWindows³ÉΪµÚһѡÔñ£¬ÁíÍ⣬ÔÚǶÈëʽ»·¾³£¬LinuxÒ²ÊÇÖð½¥³ÉΪÖ÷Á÷¡£Õâµ¼ÖºܶàÔ±¾ÊÇWindowsµÄ³ÌÐòÔ±£¬ÓÉÓÚ¹¤×÷ÐèÒª£¬Öð½¥×ßÏòLinux¿ª·¢£¬ÕâÖÐ¼äµ±È»Éæ¼°µ½Ò»¸öѧϰµÄÎÊÌâ¡£ÎÒ±¾ÈËÒ²ËãÆäÖÐÒ»·Ý×Ó°É¡£
ÎÒ±¾À´Ò»Ö±×öWindows¿ª·¢£¬ÔÚÕâ֮ǰ£¬ÔÚDOSÏÂÓùýgcc¿ª·¢£¬»¹·ÒëÁËdjgppµÄ¿âº¯ÊýÊֲᣬҲËãÓеã»ù´¡¡£²»¹ý£¬ÔÚ07Ä깫˾°²ÅÅÎÒÔÚLinuxÏÂÕýʽ¿ª·¢ÉÌÓ÷þÎñÆ÷µÄʱºò£¬ÎÒÐÄÀﻹÊǺܴò¹ÄµÄ¡£ÒòÎªÒ²ÃæÁÙ×ÅÒ»¸öѧϰµÄÎÊÌâ¡£
¿´¿´Êг¡ÉϵÄÊé¼®£¬ºÜÂÒ£¬ÎÒµ±Ê±»¨ÁËÒ»ÕûÌìÔÚººÌÆÊé³Ç£¬×Ðϸ·ÖÎöLinux¿ª·¢Ïà¹ØµÄÊé¼®£¬ÎÒ·¢ÏÖ·Ö¼¸ÖÖ£¬Ê×ÏÈÊÇshell±à³Ì£¬Õâ¸öÎÒ¿´ÁËÓаë¸öСʱ£¬¾Í¾õµÃûÓã¬ÕâÃ²ËÆ¸øÍø¹ÜÔ±Óõģ¬ÎÒ×ö´«Êä·þÎñÆ÷Óò»µ½£¬Á¬´ø×Å£¬ÕýÔò±í´ïʽ£¬ÎÒ¾õµÃ¶ÔÎÒÓô¦Ò²²»´ó¡£ÕæµÄÒª×ö¸´ÔÓÌõ¼þɸѡ£¬ÎÒµÄϰ¹ßÊÇд¸ö´Ê·¨·ÖÎö³ÌÐò£¬×Ô¼ºÀ´·ÖÎö£¬Ò²»¨²»Á˶àÉÙʱ¼ä£¬ËùÒÔ£¬ÎÒÒ»Ö±¾ÍûѧÕýÔò±í´ïʽ£¬ºÇºÇ¡£
È»ºóÊÇCºÍC++±à³ÌÏà¹Ø£¬ÎÒ×Ðϸ¿´ÁË£¬·¢ÏÖһ˵µ½¿ª·¢£¬¾Í½²µ½Linux kernel£¬Õⲿ·ÖÏÔÈ»ÊDzÙ×÷ϵͳµÄ֪ʶ£¬ÎÒ×ÐϸÏëÁËÏ룬·¢ÏÖ×Ô¼ºµÄÎÊÌⲢûÓеõ½½â¾ö¡£¾ÍËãÎÒÖªµÀÁËkernelÔõô¹¤×÷£¬ÀïÃæÓÐʲô¿ª·¢¼¼ÇÉ£¬¶ÔÎҵŤ×÷²¢Ã»ÓÐʲô°ïÖú¡£
ÎÒµ±Ê±×öµÄÊÇ·Ö²¼Ê½Êý¾Ý¿âµÄ´«Êä·þÎñÆ÷²¿·Ö£¬Õⲿ·Ö½²¾¿¶àỊ̈߳¬¸ßЧÄÜ£¬µ«»¹ÊǾÖÏÞÔÚÓ¦Óò㣬²¢Ã»ÓжàÉÙÉæ¼°µ½kernelµÄ¶«¶«¡£ÎÒ¾õµÃÓô¦²»´ó¡£
·´¶øÎÒ¾õµÃÎÒÓбØÒª¶Ôsocket±à³ÌÖØÐ²¹Ò»²¹ÁË¡£¾¹ýÌôÑ¡£¬ÎÒ¸ø×Ô¼ºÑ¡ÁËÒ»±¾¡¶UNIXÍøÂç±à³Ì¡·µÄµÚ1¾íÍøÂçͨÐÅÆª£¬µÚ2¾íÊǽø³Ì¼äͨѶ£¬ÎÒ¾õµÃÎҵijÌÐòÓöàÏß³ÌÅÜÒѾºÜºÃÁË£¬Ï̱߳¾Éí¾ÍÊǹ²ÏíÄÚ´æµÄ£¬ÎÞÐ迼ÂÇÌ«¶àÒ첽ͨѶ£¬¶øÇÒ£¬ÎÒµÄϰ¹ß£¬½ø³Ì¼äͨѶ£¬Ò»°ãÖ±½ÓʹÓÃsocket£¬Õâ¸ö·ÅÖ®Ëĺ£½ÔÕæÀí£¬¶øÇÒ£¬ºÃ´¦ÊÇÎҵĽø³Ì¿ÉÒÔ¿ç»úÆ÷ËæÒⲿÊð£¬Ö»ÒªÎÒÌṩIPµØÖ·£¬½ø³Ì¼ä¾Í¿ÉÒÔ»¥ÏàͨÐÅ£¬Ðͬ¹¤×÷¡£ËùÒÔ£¬ÎÒÖ»ÂòÁ˵Ú1¾í£¬¾ÍÊÇרÃŽ²socketµÄ£¬ÕâÊǺÃÊ飬ÎÒÏÖÔÚûÊ»¹ÒªÄóöÀ´¿´Ò»¿´¡£
ÁíÍ⣬Î
Ïà¹ØÎĵµ£º
getenv£¨È¡µÃ»·¾³±äÁ¿ÄÚÈÝ£©
Ïà¹Øº¯Êý putenv£¬setenv£¬unsetenv
±íÍ·Îļþ #include<stdlib.h>
¶¨Ò庯Êý char * getenv(const char *name);
º¯Êý˵Ã÷ getenv()ÓÃÀ´È¡µÃ²ÎÊýname»·¾³±äÁ¿µÄÄÚÈÝ¡£²ÎÊýnameΪ»·¾³±äÁ¿µÄÃû³Æ£¬Èç¹û¸Ã±äÁ¿´æÔÚÔò»á·µ»ØÖ¸Ïò¸ÃÄÚÈݵÄÖ¸Õë¡£»·¾³±äÁ¿µÄ¸ñʽΪname£½value¡£
·µ»ØÖµ Ö´Ðг ......
ÏȼòÒª½éÉÜÏÂddµÄ²ÎÊý£¬ºó±ßͨ¹ý¼¸¸öʵÀý½éÉÜddµÄÓ¦Ó㬲ο¼ÁËÆäËûÍøÓѵÄ×ÊÁÏ£¬ÔÚ´ËÒ»
²¢¸Ðл£¬Ë®Æ½ÓÐÏÞÎÄÖÐÓÐʲô´íÎóÇë´ó¼ÒÖ¸Õý¡£
dd ÊÇ Linux/UNIX ϵÄÒ»¸ö·Ç³£ÓÐÓõÄÃüÁ×÷ÓÃÊÇÓÃÖ¸¶¨´óСµÄ¿é¿½±´Ò»¸öÎļþ£¬²¢ÔÚ¿½±´
µÄͬʱ½øÐÐÖ¸¶¨µÄת»»¡£
1. ÃüÁî¼ò½é
dd µÄÖ÷ҪѡÏ
Ö¸¶¨Êý×ֵĵط½ÈôÒÔÏÂÁÐ×Ö·û½ ......
LinuxϵͳϵĶàÏß³Ì×ñÑPOSIXÏ߳̽ӿڣ¬³ÆÎªpthread¡£±àдLinuxϵĶàÏ̳߳ÌÐò£¬ÐèҪʹÓÃÍ·Îļþpthread.h£¬Á¬½Óʱ
ÐèҪʹÓÿâlibpthread.a¡£Ë³±ã˵һÏ£¬LinuxÏÂpthreadµÄʵÏÖÊÇͨ¹ýϵͳµ÷ÓÃclone£¨£©À´ÊµÏֵġ£clone£¨£©ÊÇLinux
ËùÌØÓеÄϵͳµ÷Óã¬ËüµÄʹÓ÷½Ê½ÀàËÆfork£¬¹ØÓÚclone£¨£©µÄÏêϸÇé¿ö£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÈ¥² ......
Linux select()Ïê½â
selectϵͳµ÷ÓÃÊÇÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±ú(file descriptor)µÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐijһ¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
ÎļþÔÚ¾ä±úÔÚLinuxÀïºÜ¶à£¬Èç¹ûÄãmanij¸öº¯Êý£¬ÔÚº¯Êý·µ»ØÖµ²¿·Ö˵µ½³É¹¦ºóÓÐÒ»¸öÎļþ¾ä±ú±»´´½¨µÄ¶¼ÊÇ ......
½üÈÕ£¬ÔÚLinuxCON 2009´ó»áÉÏ£¬×ÀÃæ Linux ÓÖ³ÉΪҵ½ç¹Ø×¢µÄ½¹µãÖ®Ò»¡£¸÷ÖÖ²»Í¬µÄÉùÒô£¬É¤ÃŶ¼ºÜ´ó¡£ÔÚÕâ·×·×ÈÂȵķÕΧÖУ¬ Linux ÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿
×ݹÛÈ«¾Ö£¬ÆÕ¼°×ÀÃæ Linux µÄ×î´óÕϰ֮һÊÇϵͳ°²×°µÄ²Ù×÷À§ÄÑÐÔ¡£Ô¤×° Windows Òѳɴó ......