Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux shell I/OÖØ¶¨ÏòÏê½â

 I/OÖØ¶¨ÏòÏê½â¼°Ó¦ÓÃʵÀý
1¡¢ »ù±¾¸ÅÄÕâÊÇÀí½âºóÃæµÄ֪ʶµÄǰÌᣬÇëÎñ±ØÀí½â£©
a¡¢ I/OÖØ¶¨Ïòͨ³£Óë FDÓйأ¬shellµÄFDͨ³£Îª10¸ö£¬¼´ 0¡«9£»
b¡¢ ³£ÓÃFDÓÐ3¸ö£¬Îª0£¨stdin£¬±ê×¼ÊäÈ룩¡¢1£¨stdout£¬±ê×¼Êä³ö£©¡¢2£¨stderr£¬±ê×¼´íÎóÊä³ö£©£¬Ä¬ÈÏÓëkeyboard¡¢monitor¡¢monitorÓйأ»
c¡¢ Óà < À´¸Ä±ä¶Á½øµÄÊý¾ÝÐŵÀ(stdin)£¬Ê¹Ö®´ÓÖ¸¶¨µÄµµ°¸¶Á½ø£»
d¡¢ Óà > À´¸Ä±äËͳöµÄÊý¾ÝÐŵÀ(stdout, stderr)£¬Ê¹Ö®Êä³öµ½Ö¸¶¨µÄµµ°¸£»
e¡¢ 0 ÊÇ < µÄĬÈÏÖµ£¬Òò´Ë < Óë 0<ÊÇÒ»ÑùµÄ£»Í¬Àí£¬> Óë 1> ÊÇÒ»ÑùµÄ£»
f¡¢ ÔÚIOÖØ¶¨Ïò ÖУ¬stdout Óë stderr µÄ¹ÜµÀ»áÏÈ×¼±¸ºÃ£¬²Å»á´Ó stdin ¶Á½ø×ÊÁÏ£»
g¡¢ ¹ÜµÀ“|”(pipe line):ÉÏÒ»¸öÃüÁîµÄ stdout ½Óµ½ÏÂÒ»¸öÃüÁîµÄ stdin;
h¡¢ tee ÃüÁîÊÇÔÚ²»Ó°ÏìÔ­±¾ I/O µÄÇé¿öÏ£¬½« stdout ¸´ÖÆÒ»·Ýµ½µµ°¸È¥;
i¡¢ bash£¨ksh£©Ö´ÐÐÃüÁîµÄ¹ý³Ì£º·ÖÎöÃüÁ±äÁ¿ÇóÖµ£­ÃüÁîÌæ´ú£¨``ºÍ$( )£©£­Öض¨Ïò£­Í¨Åä·ûÕ¹¿ª£­È·¶¨Â·¾¶£­Ö´ÐÐÃüÁ
j¡¢ ( ) ½« command group ÖÃÓÚ sub-shell È¥Ö´ÐУ¬Ò²³Æ nested sub-shell£¬ËüÓÐÒ»µã·Ç³£ÖØÒªµÄÌØÐÔÊÇ£º¼Ì³Ð¸¸shellµÄStandard input, output, and error plus any other open file descriptors¡£
k¡¢ exec ÃüÁ³£ÓÃÀ´Ìæ´úµ±Ç° shell ²¢ÖØÐÂÆô¶¯Ò»¸ö shell£¬»»¾ä»°Ëµ£¬²¢Ã»ÓÐÆô¶¯×Ó shell¡£Ê¹ÓÃÕâÒ»ÃüÁîʱÈκÎÏÖÓл·¾³¶¼½«»á±»Çå³ý¡£exec ÔÚ¶ÔÎļþÃèÊö·û½øÐвÙ×÷µÄʱºò£¬Ò²Ö»ÓÐÔÚÕâʱ£¬exec ²»»á¸²¸ÇÄ㵱ǰµÄ shell »·¾³¡£
2¡¢ »ù±¾IO
cmd > file °Ñ stdout ÖØ¶¨Ïòµ½ file ÎļþÖÐ
cmd >> file °Ñ stdout ÖØ¶¨Ïòµ½ file ÎļþÖÐ(×·¼Ó)
cmd 1> fiel °Ñ stdout ÖØ¶¨Ïòµ½ file ÎļþÖÐ
cmd > file 2>&1 °Ñ stdout ºÍ stderr Ò»ÆðÖØ¶¨Ïòµ½ file ÎļþÖÐ
cmd 2> file °Ñ stderr ÖØ¶¨Ïòµ½ file ÎļþÖÐ
cmd 2>> file °Ñ stderr ÖØ¶¨Ïòµ½ file ÎļþÖÐ(×·¼Ó)
cmd >> file 2>&1 °Ñ stderr ºÍ stderr Ò»ÆðÖØ¶¨Ïòµ½ file ÎļþÖÐ(×·¼Ó)
cmd < file >file2 cmd ÃüÁîÒÔ file Îļþ×÷Ϊ stdin£¬ÒÔ file2 Îļþ×÷Ϊ stdout
cat <>file ÒÔ¶ÁдµÄ·½Ê½´ò¿ª file
cmd < file cmd ÃüÁîÒÔ file Îļþ×÷Ϊ stdin
cmd << delimiter Here document£¬´Ó stdin ÖжÁÈ룬ֱÖÁÓöµ½ delimiter ·Ö½ç·û
3¡¢ ½ø½×IO
>&n ʹÓÃϵͳµ÷Óà dup (2) ¸´ÖÆÎļþÃèÊö·û n ²¢°Ñ½á¹ûÓÃ×÷±ê×¼Êä³ö
<&


Ïà¹ØÎĵµ£º

viviÓëLinux kernelµÄ²ÎÊý´«µÝÇé¾°·ÖÎö £¨×ª£©

ÔÚÉÏÒ»²¿·ÖÌáµ½¹ýÁË£¬vivi×÷Ϊbootloader£¬ÏòÄں˴«µÝÆô¶¯²ÎÊýÊÇÆä±¾Ö°¹¤×÷Ö®Ò»¡£Òª°ÑÕâ¸öÇé¾°·ÖÎöÇå³þ£¬²»½ö½öÐèÒª·ÖÎöviviµÄ²ÎÊý»ú ÖÆ£¬¶øÇÒÒª·ÖÎöLinux kernelµÄ½ÓÊÕ»úÖÆ¡£ÒòΪÕâÊÇÒ»¸ö¼òµ¥µÄͨÐŹý³Ì£¬±ÈÆð±¾¿ÆËùѧϰµÄTCP/IPÀ´¼òµ¥µÄ¶à£¬µ«ÊÇÒòΪ¼òµ¥£¬ËùÒÔÔÚЭÒéÉϲ¢²»¹æ·¶£¬Àí½âÉÏ·´¶ø²»Èç TCP/IPЭÒé¡£ÏÂÃæ¾Í·ÖΪÁ½ ......

linux ϸ÷ÖÖѹËõ¸ñʽµÄ½âѹºÍѹËõ

 £¨ËùÓеÄ#²»ÊÇÒªÊäÈëµÄÃüÁÊǶÔĿ¼µÄÊ¡ÂÔ£¬Îļþ¼ÐÒªºÍ¶ÔÓ¦µÄĿ¼Ïàͬ Èç ÄãµÄÎļþ¼Ð·ÅÔÚÁËdowload Ï£¬¾ÍÒª»Øµ½dowloadĿ¼Ï£¬Ò»°ãÎļþ¼ÐµÄÃüÃû²»ÒªÓúºÓ
¶ÔÓÚ¸Õ¸Õ½Ó´¥LinuxµÄÈËÀ´Ëµ£¬Ò»¶¨»á¸øLinuxÏÂÒ»´ó¶Ñ¸÷ʽ¸÷ÑùµÄÎļþÃû¸ø¸ãÔΡ£±ð
¸ö²»Ëµ£¬µ¥µ¥¾ÍѹËõÎļþΪÀý£¬ÎÒÃÇÖªµÀÔÚWindowsÏÂ×î³£¼ûµÄѹËõÎļþ¾ÍÖ ......

VVϸ˵ Ubuntu Linux Èí¼þÔ´


Ò»¿ªÊ¼×°ubuntuµÄʱºò£¬ºÃ¶à³õѧÕß²»ÖªµÀÈçºÎÌí¼ÓÔ´£¬Èç´ËÎÊÌâ·´·´¸´¸´£¬ÐÂÊÖÓÖ²»ÔõôȥGOOGLE£¬ÏÖÔÚÎÒ°ÑÕâЩÎÊÌâÕûÀíÏ£¬°ïÖúÐÂÊÖÀí½â²¢Ê¹Óãº
ʲôÊÇ Ubuntu Linux Èí¼þÔ´
Ô´£¬ÔÚubuntuÏ£¬Ëü¾ÍÏ൱ÓÚÈí¼þ¿â£¬ÐèҪʲôÈí¼þ£¬Ö»Òª¼ÇµÃÕýÈ·µÄÈí¼þÃû²¢ÇÒÈ·¶¨ÔÚubuntuÏ¿϶¨ÓеÄÈí¼þ£¬¾Í¿ÉÒÔʹÓÃÃüÁîÀ´°²×°Èí¼þµÄ£¨µ±È»Ò² ......

linuxµÄѹËõ/½âѹËõÃüÁî(tar,gzipµÈ)¼°Ê¾Àý

linuxµÄѹËõ/½âѹËõÃüÁî(tar,gzipµÈ)¼°Ê¾Àý
2008-08-18 15:43
tarÃüÁî
[root@linux ~]# tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿ÉÍ¬Ê ......

dz̸linuxÄÚºËÖеÄlist.h[2]

Á´±íµÄɾ³ý
83/*
84 * Delete a list entry by making the prev/next entries
85 * point to each other.
86 *
87 * This is only for internal list manipulation where we know
88 * the prev/next entries already!
89 */
90static inline void __list_del(struct list_head * prev, struct list_head * next)
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ