Linux³ÌÐòÉè¼Æ——ÓÃgetopt´¦ÀíÃüÁîÐвÎÊý
LinuxϺܶà³ÌÐòÉõÖÁÄÇЩ¾ßÓÐͼÐÎÓû§½çÃæ£¨graphical user interface£¬GUI£©µÄ³ÌÐò£¬¶¼ÄܽÓÊܺʹ¦ÀíÃüÁîÐÐÑ¡Ïî¡£¶ÔÓÚijЩ³ÌÐò£¬ÕâÊÇÓëÓû§½øÐн»»¥µÄÖ÷ÒªÊֶΡ£¾ßÓпɿ¿µÄ¸´ÔÓÃüÁîÐвÎÊý´¦Àí»úÖÆ£¬»áʹµÃÄúµÄÓ¦ÓóÌÐò¸üºÃ¡¢¸üÓÐÓá£getopt()ÊÇÒ»¸öרÃÅÉè¼ÆÀ´¼õÇáÃüÁîÐд¦Àí¸ºµ£µÄ¿âº¯Êý¡£
1¡¢ÃüÁîÐвÎÊý
ÃüÁîÐгÌÐòÉè¼ÆµÄÊ×ÒªÈÎÎñÊǽâÎöÃüÁîÐвÎÊý£¬GUIÅɵijÌÐòÔ±ºÜÉÙ¹ØÐÄÕâ¸ö¡£ÕâÀ¶Ô²ÎÊý²ÉÓÃÁËÒ»ÖֱȽÏͨË׵͍Ò壺ÃüÁîÐÐÉϳýÃüÁîÃûÖ®ÍâµÄ×Ö·û´®¡£²ÎÊýÓɶàÏî¹¹³É£¬ÏîÓëÏîÖ®¼äÓÿհ׷û±Ë´Ë¸ô¿ª¡£
²ÎÊý½øÒ»²½·ÖΪѡÏîºÍ²Ù×÷Êý¡£Ñ¡ÏîÓÃÓÚÐ޸ijÌÐòµÄĬÈÏÐÐΪ»òΪ³ÌÐòÌṩÐÅÏ¢£¬±È½ÏÀϵÄÔ¼¶¨ÊÇÒÔ¶Ì»®Ïß¿ªÍ·¡£Ñ¡Ïîºó¿ÉÒÔ¸úËæÒ»Ð©²ÎÊý£¬³ÆÎªÑ¡Ïî²ÎÊý¡£Ê£ÏµľÍÊDzÙ×÷ÊýÁË¡£
2¡¢POSIXÔ¼¶¨
POSIX±íʾ¿ÉÒÆÖ²²Ù×÷ϵͳ½Ó¿Ú£º Portable Operating System Interface£¬µçÆøºÍµç×Ó¹¤³ÌʦлᣨInstitute of Electrical and Electronics Engineers£¬IEEE£©×î³õ¿ª·¢ POSIX ±ê×¼£¬ÊÇΪÁËÌá¸ß UNIX »·¾³ÏÂÓ¦ÓóÌÐòµÄ¿ÉÒÆÖ²ÐÔ¡£È»¶ø£¬POSIX ²¢²»¾ÖÏÞÓÚ UNIX¡£Ðí¶àÆäËüµÄ²Ù×÷ϵͳ£¬ÀýÈç DEC OpenVMS ºÍ Microsoft Windows NT£¬¶¼Ö§³Ö POSIX ±ê×¼¡£
ÏÂÃæÊÇPOSIX±ê×¼ÖйØÓÚ³ÌÐòÃû¡¢²ÎÊýµÄÔ¼¶¨£º
³ÌÐòÃû²»ÒËÉÙÓÚ2¸ö×Ö·ûÇÒ²»¶àÓÚ9¸ö×Ö·û£»
³ÌÐòÃûÓ¦Ö»°üº¬Ð¡Ð´×ÖĸºÍ°¢À²®Êý×Ö£»
Ñ¡ÏîÃûÓ¦¸ÃÊǵ¥×Ö·û»îµ¥Êý×Ö£¬ÇÒÒԶ̺á‘-‘Ϊǰ綴£»
¶à¸ö²»ÐèҪѡÏî²ÎÊýµÄÑ¡Ï¿ÉÒԺϲ¢¡££¨Æ©È磺foo -a -b -c ---->foo -abc£©
Ñ¡ÏîÓëÆä²ÎÊýÖ®¼äÓÿհ׷û¸ô¿ª£»
Ñ¡Ïî²ÎÊý²»¿ÉÑ¡¡£
ÈôÑ¡Ïî²ÎÊýÓжàÖµ£¬Òª½«Æä²¢ÎªÒ»¸ö×Ö´®´«½øÀ´¡£Æ©È磺myprog -u "arnold,joe,jane"¡£ÕâÖÖÇé¿öÏ£¬ÐèÒª×Ô¼º½â¾öÕâЩ²ÎÊýµÄ·ÖÀëÎÊÌâ¡£
Ñ¡ÏîÓ¦¸ÃÔÚ²Ù×÷Êý³öÏÖ֮ǰ³öÏÖ¡£
ÌØÊâ²ÎÊý‘--'Ö¸Ã÷ËùÓвÎÊý¶¼½áÊøÁË£¬ÆäºóÈκβÎÊý¶¼ÈÏΪÊDzÙ×÷Êý¡£
Ñ¡ÏîÈçºÎÅÅÁÐûÓÐʲô¹ØÏµ£¬µ«¶Ô»¥ÏàÅųâµÄÑ¡ÏÈç¹ûÒ»¸öÑ¡ÏîµÄ²Ù×÷½á¹û¸²¸ÇÆäËûÑ¡ÏîµÄ²Ù×÷½á¹ûʱ£¬×îºóÒ»¸öÑ¡ÏîÆð×÷Óã»Èç¹ûÑ¡ÏîÖØ¸´£¬Ôò˳Ðò´¦Àí¡£
ÔÊÐí²Ù×÷ÊýµÄ˳ÐòÓ°Ïì³ÌÐòÐÐΪ£¬µ«ÐèÒª×÷ÎĵµËµÃ÷¡£
¶Áдָ¶¨ÎļþµÄ³ÌÐòÓ¦¸Ã½«µ¥¸ö²ÎÊý'-'×÷ΪÓÐÒâÒåµÄ±ê×¼ÊäÈë»òÊä³öÀ´¶Ô´ý¡£
3¡¢GNU³¤Ñ¡Ïî
GNU¹ÄÀø³ÌÐòԱʹÓÃ--help¡¢--verboseµÈÐÎʽµÄ³¤Ñ¡Ïî¡£ÕâЩѡÏî²»½ö²»ÓëPOSIXÔ¼¶¨³åÍ»£¬¶øÇÒÈÝÒ×¼ÇÒ䣬ÁíÍâÒ²ÌṩÁËÔÚËùÓÐGNU¹¤¾ßÖ®¼ä±£³ÖÒ»ÖÂÐԵĻú»á¡£GNU³¤Ñ¡ÏîÓÐ×Ô¼ºµÄÔ¼¶¨£º
¶ÔÓÚÒѾ×ñÑPOSIXÔ¼¶¨µÄGNU³ÌÐò£¬Ã¿¸ö¶ÌÑ
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
.tar
½â°ü£ºtar xvf FileName.tar
´ò°ü£ºtar cvf FileName.tar DirName
£¨×¢£ºtarÊÇ´ò°ü£¬²»ÊÇѹËõ£¡£©
———————————————
.gz
½âѹ1£ºgunzip FileName.gz
½âѹ2£ºgzip -d FileName.gz
ѹËõ£ºgzip FileName
.tar. ......
Ï̴߳¦ÓÚ·ÖÀë״̬ºó£¬µ±Ïß³ÌÍ˳öºó£¬ÔòÓвÙ×÷ϵͳÀ´¸ºÔðϵͳµÄ»ØÊÕ¡£
´´½¨·ÖÀë״̬Ï̵߳ķ½·¨ÓУº
1¡¢ÔÚÏ̺߳¯ÊýÖе÷Ó㬠pthread_detach(pthread_self());
2¡¢Ïß³ÌÊôÐÔµÄÉèÖú¯Êý
Õª×Ô£ºUnix »·¾³¸ß¼¶±à³Ì
int makethread(void *(*fn),void *arg)
{
int err;
&n ......
Ö»Òª¿´¿´ include/linux/init.hÖе͍Òå¾ÍÇå³þÁË£º
#define core_initcall(fn) __define_initcall("1",fn)
#define postcore_initcall(fn) __define_initcall("2",fn)
#define arch_initcall(fn) &n ......