Linux Shell¾ç±¾µÄ10¸öÓÐÓõġ°ÃæÊÔÎÊÌâÏ¢Õù´ð¡±
LinuxµÄÖÚ¶àÎÞÛó£¬Ê¹ÈË×ÜÄÜÿ´Î¶¼Ìá½»ÓëÖÚ²î±ðµÄÄÚÈÝ¡£ÕâЩÄÚÈݲ»µ«¶ÔËûÃǵÄÖ°ÒµÉúÑĺÜÓÐÓã¬Í¬Ê±Ò²ÈÃËûÃÇÔöÌí֪ʶ¡£ÔÚ´Ë£¬ÎÒÃǾÍʵÑéÕâôȥ×ö£¬ÖÁÓÚÄÜÈ¡µÃ¶à´óµÄÀֳɣ¬¾ÍÓÉÎÒÃǵĶÁÕßÅóÙÃÇÀ´Åжϰɡ£
ÔÚ´Ë£¬×÷Ϊshell¾ç±¾µÄ¸½¼ÓÄÚÈÝ£¬ÔÚ±¾ÎÄÖÐÎÒÃǽ«´ÓÃæÊԵĽǶȽâ¶ÁÓëLinux ShellÏà¹ØµÄÎÊÌâ¡£
1. ÔÚshell¾ç±¾ÀÖ³ÉÖ´ÐÐÇ°£¬ÔõÑùÖÐÖ¹¾ç±¾Ö´ÐУ¿
½â´ð£ºÎÒÃÇÐèҪʹÓá®exit¡¯ÏÂÁîÀ´ÊµÏÖÒÔÉÏÐÎòµÄÇé¾³¡£¡®exit¡¯ÏÂÁǿÖÆÊä³ö·Ç0ֵʱ£¬¾ç±¾»á±¨´í²¢Í˳ö¡£ÔÚUnixÇéÐÎϵÄshell¾ç±¾ÖУ¬0ÖµÌåÏÖÀÖ³ÉÖ´ÐС£Òò´Ë£¬Ôھ籾ÖÕֹǰִÐÐÒ»¸ö²»´øÒýºÅµÄ¡®exit -1¡¯ÏÂÁʹ¾ç±¾ÖÐÖ¹¡£
ÀýÈ磬½¨ÉèÒÔÏÂÒ»¸öÃûΪ¡°linuxmi.sh¡±µÄ¾ç±¾¡£
#!/bin/bash echo "Hello" exit-1 echo "bye"
µÇ¼ºó¸´ÖÆ
ÉúÑÄÎļþ²¢Ö´ÐУº
´ÓÉÏÃæµÄ¾ç±¾ÖпÉÒÔÇåÎúµØ¿´µ½£¬ÔÚexit -1ÏÂÁîÇ°£¬¾ç±¾Ö´Ðеúܺá£
2. ÔõÑùʹÓÃLinuxÏÂÁîÀ´ÒƳýÎļþÍ·£¿
½â´ð£ºµ±ÎÒÃÇÐèҪɾ³ýÎļþÖеÄÖ¸¶¨ÐÐʱ£¬¡®sed¡¯ÏÂÁî¿ÉÒÔÓÃÀ´½â¾ö¸ÃÎÊÌâ¡£
Õâ¸öÊÇÓÃÀ´É¾³ýÎļþÍ·£¨ÎļþµÄÊ×ÐУ©µÄ׼ȷÏÂÁî¡£
# sed '1 d' file.txt
µÇ¼ºó¸´ÖÆ
ÉÏÃæÏÂÁîµÄÎÊÌâÊÇ£¬Ëü»áÔÚ±ê×¼Êä³ö×°±¸ÉÏÊä³ö²»´øÊ×ÐеÄÎļþÄÚÈÝ¡£
ΪÁËÉúÑÄÊä³öµ½Îļþ£¬ÎÒÃÇÐèҪʹÓÃÖض¨Ïò²Ù×÷·û£¬Ëü½«×ÊÖúÄ㽫Êä³öÖض¨Ïòµ½Îļþ¡£
# sed '1 d' file.txt > new_file.txt
µÇ¼ºó¸´ÖÆ
ºÃ°É£¬×ÅʵsedÏÂÁîÄÚ½¨µÄ¡®-i¡¯¿ª¹Ø¾Í¿ÉÒÔ¸ÉÕâ»î£¬¾Í²»ÐèÒªÖض¨Ïò·ûÁË°É¡£
# sed -i '1 d' file.txt
µÇ¼ºó¸´ÖÆ
3. ÄãÔõô¼ì²éÒ»¸öÎı¾ÎļþÖÐijһÐеij¤¶È£¿
½â´ð£º¡®sed¡¯ÏÂÁîÒ²¿ÉÒÔÓÃÀ´²éÕÒÎı¾ÎļþÖеÄijһÐлòÕß¼ì²éÆ䳤¶È¡£
# sed -n 'n p' file.txt
µÇ¼ºó¸´ÖÆ
¿ÉÒÔ½â¾ö£¬
ÕâÀï¡®n¡¯ÌåÏÖÐкţ¬¡®p¡¯´òÓ¡³öÆ¥
ÅäÄÚÈÝ£¨µ½±ê×¼Êä³ö
£©£¬¸ÃÏÂÁîͨ³£Óë-nÏÂÁîÐÐÑ¡ÏîÁ¬Óá£
ÄÇô£¬ÔõÑùÀ´»ñÈ¡³¤¶È¼ÆÊýÄØ£¿
ºÜÏÔ×Å£¬ÎÒÃÇÐèҪͨ¹ý¹ÜµÀÊä³ö¸ø¡®wc¡¯ÏÂÁîÀ´ÅÌËã¡£
# sed ¨Cn 'n p' file.txt | wc ¨Cc
µÇ¼ºó¸´ÖÆ
Òª»ñµÃÎı¾Îļþ¡®linuxmi.txt¡¯µÄµÚÎåÐеij¤¶È£¬ÔËÐÐÈçÏÂÏÂÁ
# sed -n '5 p' linuxmi.txt | wc -c
µÇ¼ºó¸´ÖÆ
4. ¿ÉÒÔÔÚLinuxϵͳÉÏÉó²éµ½ËùÓзǴòÓ¡×Ö·ûÂð£¿ÄãÊÇÔõô×öµ½µÄ£¿
½â´ð£º¿ÉÒÔ¡£¿ÉÒÔÔÚLinuxÖÐÉó²éËùÓеķǴòÓ¡×Ö·û¡£ÒªÊµÏÖÉÏÃæËù½²µÄ¼Æ»®£¬ÎÒÃÇÐèÒª¡®vi¡¯±à¼Æ÷µÄ×ÊÖú¡£ÔõÑùÔÚ¡®vi¡¯±à¼Æ÷ÖÐÏÔʾ·Ç´òÓ¡×Ö·û£¿
·¿ªvi±à¼Æ÷¡£
ÏÈ°´[esc]¼ü£¬È»ºó°´¡®£º¡¯½øÈëµ½vi±à¼Æ÷µÄÏÂÁîģʽ¡£
×îºó£¬´Ó¡®vi¡¯±à¼Æ÷µÄÏÂÁî½çÃæÊäÈëset listÏÂÁî²¢Ö´ÐС£
×¢: ÕâÖÖ·½·¨¿ÉÒÔÉó²éÎı¾ÎļþÖеÄËùÓзǴòÓ¡×Ö·û£¬°üÀ¨ctrl+m£¨^M£©¡£
5. ÈôÊÇÄãÊÇÒ»¸öÔ±¹¤×éµÄÍŶÓÏòµ¼£¬Îªxyz¹«Ë¾ÊÂÇé¡£
¹«Ë¾ÒªÇóÄ㽨ÉèÒ»¸ö¡®dir_xyz¡¯Ä¿Â¼£¬ÈøÃ×é³ÉÔ±¶¼ÄÜÔÚ¸ÃĿ¼Ï½¨Éè»ò»á¼ûÎļþ£¬¿ÉÊdzýÁËÎļþ½¨ÉèÕßÖ®ÍâµÄÆäËûÈ˲»¿Éɾ³ýÎļþ£¬Äã»áÔõô×ö£¿
½â´ð£ºÕâÕæÊǸöÓÐȤµÄÊÂÇé¼Æ»®¡£ºÃ°É£¬ÉÏÃæËù½²µÄ¼Æ»®£¬ÎÒÃÇÐèҪͨ¹ýÏÂÃæµÄ°ì·¨À´ÊµÑé¡£
# mkdir dir_xyz # chmod g+wx dir_xyz # chmod +t dir_xyz
µÇ¼ºó¸´ÖÆ
µÚÒ»ÐÐÏÂÁÉèÁËÒ»¸öĿ¼£¨dir_xyz£©£¬ÉÏÃæµÄµÚ¶þÐÐÏÂÁîÈÃ×飨g£©¾ßÓС®Ð´¡¯ºÍ¡®Ö´ÐС¯µÄȨÏÞ£¬¶ø×îºóÒ»ÐÐÏÂÁ¡ªÈ¨ÏÞλ×îºóµÄ¡®+t¡¯ÊÇ¡®Õ³ÖÍλ¡¯£¬ËüÓÃÀ´Ìæ»»¡®x¡¯£¬Åú×¢ÔÚÕâ¸öĿ¼ÖУ¬ÎļþÖ»Äܱ»ËüÃǵÄÓµÓÐÕß¡¢Ä¿Â¼µÄÓµÓÐÕß»òÕßÊdz¬µÈÓû§rootɾ³ý¡£
6. ÄãÄܸæËßÎÒÒ»¸öLinuxÀú³ÌÂÄÀúµÄ¸÷¸ö½×¶ÎÂð£¿
½â´ð£ºÒ»¸öLinuxÀú³ÌÔÚËüµÄÒ»ÉúÖУ¬Í¨³£ÂÄÀúÁËËĸöÖ÷Òª½×¶Î¡£
ÕâÀïÊÇLinuxÀú³ÌÒªÂÄÀúµÄËĸö½×¶Î¡£
ÆÚ´ý£ºlinuxÀú³ÌÆÚ´ý×ÊÔ´¡£
ÔËÐУºLinuxÀú³ÌÄ¿½ñÕýÔÚÖ´ÐÐÖС£
×èÖ¹£ºLinuxÀú³ÌÔÚÀÖ³ÉÖ´Ðкó»òÊÕµ½É±ËÀÀú³ÌÐźźó×èÖ¹¡£
½©Ê¬£ºÈôÊǸÃÀú³ÌÒѾ¿¢Ê£¬µ«ÈÔÈ»ÁôÔÚÀú³Ì±íÖУ¬±»³ÆΪ¡®½©Ê¬¡¯¡£
7. LinuxÖÐcutÏÂÁîÔõôÓã¿
½â´ð£º¡®cut¡¯ÊÇÒ»¸öºÜÓÐÓõÄLinuxÏÂÁµ±ÎÒÃÇÒª½ØÈ¡ÎļþµÄÖ¸¶¨²¿·Ö²¢´òÓ¡µ½±ê×¼Êä³ö£¬µ±Îı¾ÇøÓòÒÔ¼°Îļþ×Ô¼ººÜ´óʱ£¬Õâ¸öÏÂÁîºÜÓÐÓá£
ÀýÈ磬½ØÈ¡¡®txt_linuxmi¡¯ÎļþµÄÇ°10ÁС£
# cut -c1-10 txt_linuxmi
µÇ¼ºó¸´ÖÆ
Òª½ØÈ¡¸ÃÎļþÖеĵڶþ£¬µÚÎåºÍµÚÆßÁС£
# cut -d;-f2 -f5 -f7 txt_linuxmi
µÇ¼ºó¸´ÖÆ
8. ¡®cmp¡¯ºÍ¡®diff¡¯ÏÂÁîµÄÇø±ðÊÇʲô£¿
½â´ð£º¡®cmp¡¯ºÍ¡®diff¡¯ÏÂÁîÓÃÀ´»ñÈ¡ÏàͬµÄ¹¤¾ß£¬µ«¸÷ÓÐ×ÅÖØ¡£
¡®diff¡¯ÏÂÁîÊä³öΪÁËʹÁ½¸öÎļþÒ»Ñù¶øÓ¦¸Ã×öµÄÐ޸ġ£¶ø¡®cmp¡¯ÏÂÁîÔò½«Á½¸öÎļþÖð×Ö½Ú±ÈÕÕ£¬²¢±¨¸æµÚÒ»¸ö²»Æ¥ÅäµÄÏî¡£
9. ¿ÉÒÔÓá®echo¡¯ÏÂÁîÀ´Ìæ»»¡®ls¡¯ÏÂÁîÂð£¿
½â´ð£º¿ÉÒԵġ£¡®ls¡¯ÏÂÁî¿ÉÒÔÓá®echo¡¯ÏÂÁîÀ´Ìæ»»¡£¡®ls¡¯ÏÂÁîÁгöĿ¼ÄÚÈÝ£¬´ÓÌæ»»ÉÏÊöÏÂÁîµÄ½Ç¶È½²£¬ÎÒÃÇ¿ÉÒÔʹÓá®echo *¡¯£¬Á½¸öÏÂÁîµÄÊä³öÍêÈ«Ò»Ñù¡£
10. Äã¿ÉÄÜÌý¹ýinode°É¡£ÄãÄܼòÒªÐÎòһÏÂinodeÂð£¿
½â´ð£º¡®inode¡¯ÊÇÒ»¸ö¡®Êý¾Ý½á¹¹¡¯£¬ÔÚLinuxÉÏÓÃÓÚÎļþ±êʶ¡£Ã¿¸öÎļþÔÚUnixϵͳÉÏÓÐÒ»¸ö×ÔÁ¦µÄ¡®inode¡¯ºÍÒ»¸ö¡®Î¨Ò»µÄ¡¯inodeºÅ¡£
ÒÔÉϾÍÊÇLinux Shell¾ç±¾µÄ10¸öÓÐÓõġ°ÃæÊÔÎÊÌâÏ¢Õù´ð¡±µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡