ºìÁªLinuxÃÅ»§
Linux°ïÖú

ºÅ³Æ×îÅ£BµÄSHELLÃüÁî

·¢²¼Ê±¼ä:2010-07-23 14:54:47À´Ô´:ºìÁª×÷Õß:linuxcui
¡¡1.ÓÃÄã×îϲ»¶µÄ±à¼­Æ÷À´ÇÃÃüÁî

¡¡¡¡command

¡¡¡¡ÔÚÒѾ­ÇÃÍêµÄÃüÁîºó°´£¬»á´ò¿ªÒ»¸öÄãÖ¸¶¨µÄ±à¼­Æ÷£¨±ÈÈçvim£¬Í¨¹ý»·¾³±ä Á¿$EDITORÖ¸¶¨£©£¬ÀïÃæ¾ÍÊÇÄã¸ÕÊäÈëµÄÃüÁȻºó°®Ôõô±à¼­¾ÍÔõô±à¼­°É£¬ÌرðÊÇÄÇЩ²ÎÊýÒì³£¸´ÔӵijÌÐò£¬±ÈÈç mencoder/ffmpeg£¬Ò»¸öÃüÁéü3¡¢4Ðеģ¬ÒªÐÞ¸ÄÆäÖеIJÎÊý£¬Õâ¸ö·½·¨×îºÏÊʲ»¹ýÁË£¬±£´æÍ˳öºó×Ô¶¯Ö´ÐÐÕâ¸ö³ÌÐò¡£

¡¡¡¡Êµ¼ÊÉÏÕâÊÇreadline ¿âµÄ¹¦ÄÜ£¬ÔÚĬÈÏÇé¿öÏ£¬bashʹÓõÄÊÇemacsģʽµÄÃüÁîÐвÙ×÷·½Ê½£¬ÊÇ µ÷ÓÃÕâ¸ö¹¦ÄܵÄÒ»¸ö°ó¶¨¡£Èç¹ûÄãÏ°¹ßʹÓÃviģʽ£¬°´¿ÉÒÔʵÏÖͬÑù¹¦ÄÜ¡£

¡¡¡¡Èç¹ûÄãϲ»¶±ðµÄ±à¼­Æ÷£¬¿ÉÒÔÔÚ~/.bashrcÀïÃæ·ÅÉϱÈÈçexport EDITOR=nanoµÄÃüÁî¡£

¡¡¡¡ÁíÍâÒ»¸öÐÞ¸ÄÃüÁîµÄ·½·¨ÊÇʹÓÃfcÃüÁFix Command£©£¬Ôڱ༭Æ÷ÀïÃæ´ò¿ªÉÏÒ»¾äÃüÁî¡£ÎÒÃǵĵÚÒ»¼­Á¬ÔØÌá¹ýÒ»¸ö^foo^bar^Ãü Áî¿ÉÒÔÓÃfcÀ´ÊµÏÖ£ºfc -s foo=bar¡£

¡¡¡¡2.Çå¿Õ»ò´´½¨Ò»¸öÎļþ

¡¡¡¡> file.txt

¡¡¡¡>ÔÚshellÀïÃæÊDZê×¼Êä³öÖض¨Ïò·û£¬¼´°Ñ£¨Ç°²¿¸öÃüÁîµÄ£©ÃüÁîÐÐÊä³öתÍùÒ»¸öÎļþÄÚ£¬µ«ÕâÀïûÓС°Ç°²¿Ãü Á£¬Êä³öΪ¿Õ£¬ÓÚÊǾ͸²¸Ç£¨»ò´´½¨£©³ÉÒ»¸ö¿ÕÎļþÁË¡£

¡¡¡¡ÓÐЩ½Å±¾µÄд·¨ÊÇ:>file.txt£¬ÒòΪ:ÊÇbashĬÈÏ´æÔڵĿպ¯Êý¡£

¡¡¡¡µ¥´¿´´½¨ÎļþÒ²¿ÉÒÔÓÃ$touch file.txt£¬touch±¾À´ÊÇÓÃ×÷ÐÞ¸ÄÎļþµÄʱ¼ä´Á£¬µ«Èç¹ûÎļþ²»´æÔÚ£¬¾Í×Ô ¶¯´´½¨ÁË¡£

¡¡¡¡3.ÓÃssh´´½¨¶Ë¿Úת·¢Í¨µÀ

¡¡¡¡ssh -N -L2001:remotehost:80 user@somemachine

¡¡¡¡Õâ¸öÃüÁîÔÚ±¾»ú´ò¿ªÁË2001¶Ë¿Ú£¬¶Ô±¾»ú2001¶Ë¿ÚµÄÇëÇóͨ¹ýsomemachine×÷ΪÌø°å£¬×ªµ½remotehostµÄ 80¶Ë¿ÚÉÏ¡£

¡¡¡¡ÊµÏÖЧ¹û¸úÊõÓï·´Ïò´úÀíÊÇÏàËƵģ¬Êµ¼ÊÉϾÍÊǶ˿Úת·¢£¬×¢ÒâÉÏÃæµÄÃèÊöÉæ¼°ÁË3̨Ö÷»ú£¬µ«µ±È»somemachine¿É ÒÔ±ä³Élocalhost¡£

¡¡¡¡Õâ¸öÃüÁî±È½Ï³éÏ󣬵«ÓÐʱºòÊǺÜÓÐÓõģ¬±ÈÈçÒòΪÖÚËùÖÜÖªµÄÔ­Òò¹úÄÚµÄIPµÄ80¶Ë¿ÚÎÞ·¨Ê¹Óã¬ÓÖ»òÕß¹«Ë¾µÄ·À»ðǽֻ¸øÍâÍø¿ªÁËssh¶Ë¿Ú£¬ÐèÒª·Ã ÎÊÄÚ²¿·þÎñÆ÷Ò»¸öwebÓ¦Óã¬ÒÔ¼°ÐèÒª·ÃÎÊijЩÏÞ¶¨ÁËÀ´Ô´IPµÄ·þÎñ£¬¾Í¿ÉÒÔÓÃÉÏÕâ¸ö·½·¨ÁË¡£

¡¡¡¡¾ÙÒ»¸ö¾ßÌåÀý×Ó£¬ÔËÐУº

¡¡¡¡2

¡¡¡¡ssh -f -N -L 0.0.0.0:443:twitter.com:443 shell.cjb.netssh -f -N -L 0.0.0.0:80:twitter.com:80 shell.cjb.net

¡¡¡¡È»ºóÔÚ/etc/hostsÀïÃæÌí¼Ó127.0.0.1 twitter.com£¬ºÃ°ÉʣϵÄÄ㶮µÄ¡£

¡¡¡¡µ±È»Í¨³£×öÕâ¸ö¹¦Äܵķ´Ïò´úÀí£¬Ó¦¸ÃÒªÓÃsquid¡¢nginxÖ®À࣬ssh¾ÍËãÊÇÇáÁ¿¼¶µÄ³¢ÊÔ°É£¡

¡¡¡¡4.ÖØÖÃÖÕ¶Ë

¡¡¡¡reset

¡¡¡¡Èç¹ûÄãÊÔ¹ý²»Ð¡ÐÄcatÁËij¸ö¶þ½øÖÆÎļþ£¬ºÜ¿ÉÄÜÕû¸öÖն˾ÍɵµôÁË£¬¿ÉÄܲ»»á»»ÐУ¬Ã»·¨»ØÏÔ£¬´ó¶ÑÂÒÂëÖ®ÀàµÄ£¬ÕâʱºòÇÃÈëreset»Ø³µ£¬²»¹ÜÃüÁî ÓÐûÓÐÏÔʾ£¬¾ÍÄܻظ´Õý³£ÁË¡£

¡¡¡¡Êµ¼ÊÉÏresetÃüÁîÖ»ÊÇÊä³öÁËһЩÌØÊâ×Ö·û£¬ÎÒÃÇ¿´BusyBoxÀïÃæ×î¼òµ¥µÄreset³ÌÐòµÄʵÏÖ£º

¡¡¡¡printf("\033c\033(K\033[J\033[0m\033[?25h");

¡¡¡¡Êä³öµÄÕâЩ×Ö·û¶ÔShellÊÇÓÐÌØÊâÒâÒåµÄ£º

¡¡¡¡\033c: ¡°ESC c¡± - ·¢ËÍÖØÖÃÃüÁî;

¡¡¡¡\033(K: ¡°ESC ( K¡± - ÖØÔØÖն˵Ä×Ö·ûÓ³Éä;

¡¡¡¡\033[J: ¡°ESC [ J¡± - Çå¿ÕÖÕ¶ËÄÚÈÝ;

¡¡¡¡\033[0m: ¡°ESC [ 0 m¡± - ³õʼ»¯×Ö·ûÏÔʾÊôÐÔ;

¡¡¡¡\033[?25h: ¡°ESC [ ? 25 h¡± - Èùâ±ê¿É¼û;

¡¡¡¡ÆäÖÐ×Ö·ûÏÔʾÊôÐÔ¾­³£ÓÃÀ´É趨´òÓ¡×Ö·ûµÄÑÕÉ«µÈ£¬¿É²Î¿¼Õâ ¸ö²©ÎÄ¡£

¡¡¡¡5.ÔÚÎçÒ¹µÄʱºòÖ´ÐÐijÃüÁî

¡¡¡¡echo cmd | at midnight

¡¡¡¡ËµµÄ¾ÍÊÇatÕâ¸ö×é¼þ£¬Í¨³£¸úcronÏàÌá²¢ÂÛ£¬²»¹ýatÖ÷ÒªÓà ÓÚ¶¨Ê±Ò»´ÎÐÔÈÎÎñ£¬¶øcron¶¨Ê±ÖÜÆÚÐÔÈÎÎñ¡£

¡¡¡¡atµÄ²ÎÊý±È½ÏÈËÐÔ»¯£¬¸úÓ¢ÓïÓï·¨Ò»Ñù£¬¿ÉÒÔtomorrow, next weekÖ®ÀàµÄ£¬ÏêϸµÄ²é¿´ÊÖ²áman at¡£

¡¡¡¡6.Ô¶³Ì´«ËÍÂó¿Ë·çÓïÒô

¡¡¡¡dd if=/dev/dsp | ssh username@host dd of=/dev/dsp

¡¡¡¡Ã»´í¾ÍÊÇʵÏÖÒ»¸öº°»°Æ÷µÄ¹¦ÄÜ¡£

¡¡¡¡/dev/dspÊÇLinuxÏÂÉù¿¨µÄÎļþÓ³É䣨Digital Signal Proccessor£©£¬´ÓÆäÖжÁÊý¾Ý¾ÍÊǼÒô£¬ÍùÀïÃæдÊý¾Ý¾ÍÊDz¥·Å£¬Ï൱¼òµ¥£¡

¡¡¡¡ddÊdz£ÓõÄÊý¾Ý¿½±´³ÌÐò£¬Èç¹û²»Í¬Ê±Ö¸¶¨if¡¢of£¬¾ÍÖ±½ÓʹÓÃstdin/stdoutÀ´´«Êä¡£

¡¡¡¡Èç¹ûÄãûÓÐÔ¶³ÌÖ÷»ú£¬¿ÉÒÔÊÔÊÔÕâÑù£º

¡¡¡¡dd if=/dev/dsp of=/dev/dsp

¡¡¡¡Ö±½Ó»Ø·ÅÂó¿Ë·çµÄÉùÒô£¬Ö»ÊÇÓÐÒ»µãÑÓʱ¡£

¡¡¡¡µ«ÊÇÈç¹ûÓбðµÄ³ÌÐòÕýÔÚʹÓÃÉù¿¨£¬Õâ¸ö·½·¨¾Í²»´ÕЧÁË£¬ÒòΪһ°ãµÄÉù¿¨¶¼²»ÔÊÐí¶à¸öÒôƵÁ÷ͬʱ´¦Àí£¬¿ÉÒÔ½èÓÃalsa×é¼þµÄ¹¤¾ß£¬arecord¸ú aplay:

¡¡¡¡arecord | ssh username@host aplay

¡¡¡¡±¾µØ»Ø·Å¾ÍÊÇ£º

¡¡¡¡arecord | aplay

¡¡¡¡Èç¹ûÄãÏëÏÅÏűðÈË£º

¡¡¡¡cat /dev/urandom | ssh username@host aplay

¡¡¡¡7.Ó³ÉäÒ»¸öÄÚ´æĿ¼

¡¡¡¡mount -t tmpfs -o size=1024m tmpfs /mnt/ram

¡¡¡¡Õâ¸öÃüÁÁËÒ»¿é1GÄÚ´æÀ´µ±Ä¿Â¼Óᣲ»¹ý·ÅÐÄ£¬Èç¹ûÀïÃæûÎļþ£¬ÊDz»»áÕ¼ÓÃÄÚ´æµÄ£¬ÓöàÉÙÕ¼¶àÉÙ¡£

¡¡¡¡²»¹ýÒ»°ãÀ´ËµÃ»±ØÒªÊÖ¶¯¹ÒÔØ£¬ÒòΪ¶àÊý·¢Ðа涼»áÔÚfstabÄÚÔ¤ÁôÁËÒ»¸öÄÚ´æĿ¼£¬¹ÒÔØÔÚ/dev/shm£¬Ö±½ÓʹÓà ¼´¿É£»

¡¡¡¡×î³£¼ûµÄÓÃ;ÊÇÓÃÄÚ´æ¿Õ¼äÀ´·ÅFirefoxµÄÅäÖ㬿ÉÒÔÈÃÂýÍÌÍ̵ÄFF¿ìºÜ¶à£¬²Î¼ûShellexµÄ²©ÎÄ£ºÓà tmpfsÈÃFirefoxÔÚÄÚ´æÖзɳۣ¬ÒÔ¼°ºóÀ´µÄ¸Ä½ø£ºÓà tmpfsÈÃFirefoxÔÚÄÚ´æÖзɳÛII£¬ÆäÖÐÌáµ½µÄ½Å±¾À´×Ôspeeding up firefox with tmpfs and automatic rsync¡£

¡¡¡¡ÄǸöÆÆÀÃLinuxQQÒ²¿ÉÒÔÓÃÕâ¸ö·½·¨£¬¼õÉÙÒòΪ´óÁ¿´ÅÅÌIOµ¼ÖµÄÎÊÌâ¡£

¡¡¡¡8.ÓÃdiff¶Ô±ÈÔ¶³ÌÎļþ¸ú±¾µØÎļþ

¡¡¡¡ssh user@host cat /path/to/remotefile | diff /path/to/localfile -

¡¡¡¡diffͨ³£µÄÓ÷¨ÊÇ´Ó²ÎÊý¶ÁÈëÁ½¸öÎļþ£¬¶øÃüÁîÀïÃæµÄ-ÔòÊÇÖ¸´Óstdin¶ÁÈëÁË¡£

¡¡¡¡ÉÆÓÃssh¿ÉÒÔÈÃweb¿ª·¢¼õÉٺܶ෱Ëö£¬»¹ÓбÈÈçsshfs£¬¿ÉÒԴӱ༭-ÉÏ´«-±à¼­-ÉÏ´«µÄ È˹¤Ñ­»·ÀïÃæ½âÍѳöÀ´¡£

¡¡¡¡9.²é¿´ÏµÍ³ÖÐÕ¼Óö˿ڵĽø³Ì

¡¡¡¡netstat -tulnp

¡¡¡¡NetstatÊǺܳ£ÓõÄÓÃÀ´²é¿´LinuxÍøÂçϵͳµÄ¹¤¾ßÖ®Ò»£¬Õâ¸ö²ÎÊý¿ÉÒÔ±³ÏÂÀ´£º

¡¡¡¡-t: ÏÔʾTCPÁ´½ÓÐÅÏ¢

¡¡¡¡-u: ÏÔʾUDPÁ´½ÓÐÅÏ¢

¡¡¡¡-l: ÏÔʾ¼àÌý״̬µÄ¶Ë¿Ú

¡¡¡¡-n: Ö±½ÓÏÔʾip£¬²»×öÃû³Æת»»

¡¡¡¡-p: ÏÔʾÏàÓ¦µÄ½ø³ÌPIDÒÔ¼°Ãû³Æ£¨ÒªrootȨÏÞ£©

¡¡¡¡Èç¹ûÒª²é¿´¹ØÓÚsockets¸üÏêϸռÓÃÐÅÏ¢µÈ£¬¿ÉÒÔʹÓÃlsof¹¤¾ß¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. wangyu ÓÚ 2010-07-23 17:46:43·¢±í:

    ռλ