bash

ǰÑÔ


    ±¾ÎÄÒë×Ô¡¶Slackware Linux Unleashed¡·£¨µÚÈý°æ£©Ò»ÊéµÄ bash Ò»Õ£¬µ«×öÁËһЩ±ØÒªµÄɾ½Ú£¬²¢ÇÒÓеĵط½¸ù¾Ýʵ¼ÊÇé¿ö×÷Á˽ϴóµÄ¸Ä¶¯£¬±ØÒªµÄ»°Çë²Î¿¼Ô­ÎÄ¡£¶Ô±¾ÎÄÓÐÈκÎÎÊÌâµÄ»°ÇëÓëÎÒÁªÏµ£ºcon@nease.net

¼ò½é


 


    ±¾ÎĽ«½ÏΪÏêϸµØ½éÉÜ Linux ÏÂ×î³£ÓÃµÄ shell£¬bash¡£bash(Bourne Again Shell) ÊÇ Linux µÄȱʡ shell£¬²¢±»´ó¶àÊýÓû§ËùʹÓã¬ÔÚ±¾ÎÄÖÐÄ㽫ѧ»á£º

    ʲôÊÇshell

    LinuxÉÏ×î³£¼ûµÄshell

    ÃüÁî²¹Æë(Command-line completion)ºÍͨÅä

    ÃüÁîÀúÊ·¼Ç¼(Command history)ºÍ±ðÃû

    ÖØ¶¨ÏòºÍ¹ÜµÀ

    ¸Ä±äÌáʾ·û

    ½ø³Ì¿ØÖÆ(Job control)

    ÈçºÎÓû§»¯ÅäÖÃÄãµÄbash shell

    ÁíÍâÄ㻹½«¿´µ½Ò»Ð©×î³£ÓõÄbashÃüÁîºÍÄÚ´æ±äÁ¿µÄÓ÷¨£¬¶ÁÍê±¾ÎĺóÄ㽫Äܸü¿ìºÍ¸üÓÐЧµØÊ¹ÓÃbash¡£

Shells in a Nutshell

    ʲôÊÇshell£¿×ÜÖ®Õâ¸ö´ÊºÃÏó×ÜÊdzöÏÖÔÚ Linux Àµ«ºÜ¶àÐÂÓû§²¢²»Çå³þËüµÄÃ÷È·µÄº¬Òå¡£±¾½Ú½«¸ø³öÒ»¸öÈ·ÇеĽâÊͲ¢ËµÃ÷ΪʲôÔÚLinuxÖÐËüÏÔµÃÈç´ËµÄÖØÒª¡£

ʲôÊÇShell?


 


      shellÊÇÄ㣨Óû§£©ºÍLinux£¨»òÕ߸ü׼ȷµÄ˵£¬ÊÇÄãºÍLinuxÄںˣ©Ö®¼äµÄ½Ó¿Ú³ÌÐò¡£ÄãÔÚÌáʾ·ûÏÂÊäÈëµÄÿ¸öÃüÁî¶¼ÓÉshellÏȽâÊÍÈ»ºó´«¸øLinuxÄںˡ£



×¢Òâ: Èç¹ûÄãÊìϤm$-dos£¬Ä㽫ÈϳöÕâºÜÏóDOS Óû§ºÍ COMMAND.COMÖ®¼äµÄ¹ØÏµ¡£Î¨
      Ò»µÄÇø±ðÊÇcommand.com µÄ¹¦ÄÜÔ¶²»ÄܺÍshell ÏàÌá²¢ÂÛ¡£

     shell ÊÇÒ»¸öÃüÁîÓïÑÔ½âÊÍÆ÷£¨command-language interpreter£©¡£ÓµÓÐ×Ô¼ºÄÚ½¨µÄ shell ÃüÁ¡£´ËÍ⣬shellÒ²Äܱ»ÏµÍ³ÖÐÆäËûÓÐЧµÄLinux ʵÓóÌÐòºÍÓ¦ÓóÌÐò£¨utilities and application programs£©Ëùµ÷Óá£

    ²»ÂÛºÎʱÄã¼üÈëÒ»¸öÃüÁËü¶¼±»Linux shellËù½âÊÍ¡£Ò»Ð©ÃüÁ±ÈÈç´òÓ¡µ±Ç°¹¤×÷Ŀ¼ÃüÁpwd£©£¬Êǰüº¬ÔÚLinux bashÄÚ²¿µÄ£¨¾ÍÏóDOSµÄÄÚ²¿ÃüÁ¡£ÆäËûÃüÁ±ÈÈ翽±´ÃüÁcp£©ºÍÒÆ¶¯ÃüÁrm£©£¬ÊÇ´æÔÚÓÚÎļþϵͳÖÐij¸öĿ¼Ïµĵ¥¶ÀµÄ³ÌÐò¡£¶ø¶ÔÓû§À´Ëµ£¬Äã²»ÖªµÀ£¨»òÕß¿ÉÄܲ»¹ØÐÄ£©Ò»¸öÃüÁîÊǽ¨Á¢ÔÚshellÄÚ²¿»¹ÊÇÒ»¸öµ¥¶ÀµÄ³ÌÐò¡£

    ¸½Í¼Õ¹Ê¾ÁË shell ÊÇÈçºÎÖ´ÐÐÃüÁî½âÊ͵ģ¬shell Ê×Ïȼì²éÃüÁîÊÇ·ñÊÇÄÚ²¿ÃüÁ²»ÊǵϰÔÙ¼ì²éÊÇ·ñÊÇÒ»¸öÓ¦ÓóÌÐò£¬ÕâÀïµÄÓ¦ÓóÌÐò¿ÉÒÔÊÇLinux±¾ÉíµÄʵÓóÌÐò£¬±ÈÈçls ºÍ rm£¬Ò²¿ÉÒÔÊǹºÂòµÄÉÌÒµ³ÌÐò£¬±ÈÈç xv£¬»òÕßÊǹ«ÓÃÈí¼þ£¨public domain software£©£¬¾ÍÏó ghostview¡£È»ºóshellÊÔ×ÅÔÚËÑË÷·¾¶ÀïѰÕÒÕâЩӦÓóÌÐò¡£ËÑË÷·¾¶ÊÇÒ»¸öÄÜÕÒµ½¿ÉÖ´ÐгÌÐòµÄĿ¼ÁÐ±í¡£Èç¹ûÄã¼üÈëµÄÃüÁî²»ÊÇÒ»¸öÄÚ²¿ÃüÁî²¢ÇÒÔÚ·¾¶ÀïûÓÐÕÒµ½Õâ¸ö¿ÉÖ´ÐÐÎļþ£¬½«»áÏÔʾһÌõ´íÎóÐÅÏ¢¡£¶øÈç¹ûÃüÁî±»³É¹¦µÄÕÒµ½µÄ»°£¬shellµÄÄÚ²¿ÃüÁî»òÓ¦ÓóÌÐò½«±»·Ö½âΪϵͳµ÷Óò¢´«¸øLinuxÄںˡ£

    shellµÄÁíÒ»¸öÖØÒªÌØÐÔÊÇËü×ÔÉí¾ÍÊÇÒ»¸ö½âÊÍÐ͵ijÌÐòÉè¼ÆÓïÑÔ£¬shell ³ÌÐòÉè¼ÆÓïÑÔÖ§³ÖÔڸ߼¶ÓïÑÔÀïËùÄܼûµ½µÄ¾ø´ó¶àÊý³ÌÐò¿ØÖƽṹ£¬±ÈÈçÑ­»·£¬º¯Êý£¬±äÁ¿ºÍÊý×é¡£shell ±à³ÌÓïÑÔºÜÒ×ѧ£¬²¢ÇÒÒ»µ©ÕÆÎÕºóËü½«³ÉΪÄãµÄµÃÁ¦¹¤¾ß¡£ÈκÎÔÚÌáʾ·ûÏÂÄܼüÈëµÄÃüÁîÒ²Äܷŵ½Ò»¸ö¿ÉÖ´ÐеÄshell³ÌÐòÀÕâÒâζ×ÅÓÃshellÓïÑÔÄܼòµ¥µØÖظ´Ö´ÐÐijһÈÎÎñ¡£

 shell ÈçºÎÆô¶¯

    shellÔÚÄã³É¹¦µØµÇ¼½øÈëϵͳºóÆô¶¯£¬²¢Ê¼ÖÕ×÷ΪÄãÓëϵͳÄں˵Ľ»»¥ÊÖ¶ÎÖ±ÖÁÄãÍ˳öϵͳ¡£ÄãϵͳÉϵÄÿλÓû§¶¼ÓÐÒ»¸öȱʡµÄshell¡£Ã¿¸öÓû§µÄȱʡshellÔÚϵͳÀïµÄpasswdÎļþÀï±»Ö¸¶¨£¬¸ÃÎļþµÄ·¾¶ÊÇ/etc/passwd¡£passwdÎļþÀﻹ°üº¬ÓÐÆäËû¶«Î÷£ºÃ¿¸öÈ˵ÄÓû§IDºÅ£¬Ò»¸ö¿ÚÁî¼ÓÃܺóµÄ¿½±´ºÍÓû§µÇ¼ºóÁ¢¼´Ö´ÐеijÌÐò£¬£¨×¢£ºÎªÁ˼ÓÇ¿°²È«ÐÔ£¬ÏÖÔÚµÄϵͳһ°ã¶¼°Ñ¼ÓÃܵĿÚÁî·ÅÔÚÁíÒ»¸öÎļþ--shadowÖУ¬¶øpasswdÖдæ·Å¿ÚÁîµÄ²¿·ÖÒÔÒ»¸öx×Ö·û´úÌæ£©ËäȻûÓÐÑϸñ¹æ¶¨Õâ¸ö³ÌÐò±ØÐëÊÇij¸öLinux shell£¬µ«´ó¶àÊýÇé¿ö϶¼Èç´Ë¡£
 

 ×î³£ÓõÄshell

    ÔÚLinux ºÍ UNIXϵͳÀï¿ÉÒÔʹÓöàÖÖ²»Í¬µÄshell¿ÉÒÔʹÓá£×î³£Óõļ¸ÖÖÊÇ Bourne shell (sh), C shell (csh), ºÍ Korn shell (ksh)¡£ÈýÖÖshell ¶¼ÓÐËüÃǵÄÓŵãºÍȱµã¡£Bourne shell µÄ×÷ÕßÊÇ Steven Bourne¡£ËüÊÇ UNIX ×î³õʹÓõÄshell ²¢ÇÒÔÚÿÖÖ UNIX É϶¼¿ÉÒÔʹÓá£Bourne shell ÔÚ shell ±à³Ì·½ÃæÏ൱ÓÅÐ㣬µ«ÔÚ´¦ÀíÓëÓû§µÄ½»»¥·½Ãæ×÷µÃ²»ÈçÆäËû¼¸ÖÖ shell¡£

    C shell ÓÉ Bill Joy Ëùд£¬Ëü¸ü¶àµÄ¿¼ÂÇÁËÓû§½çÃæµÄÓѺÃÐÔ¡£ËüÖ§³ÖÏóÃüÁî²¹Æë£¨command-line completion£©µÈһЩ Bourne shell Ëù²»Ö§³ÖµÄÌØÐÔ¡£ÆÕ±éÈÏΪC shell µÄ±à³Ì½Ó¿Ú×öµÄ²»Èç Bourne shell, µ« C shell ±»ºÜ¶à C  ³ÌÐòԱʹÓÃÒòΪ C shellµÄÓï·¨ºÍ CÓïÑԵĺÜÏàËÆ£¬ÕâÒ²ÊÇC shellÃû³ÆµÄÓÉÀ´¡£

    Korn shell (ksh) ÓÉ Dave Korn Ëùд¡£Ëü¼¯ºÏÁËC shell ºÍ Bourne shell µÄÓŵ㲢ÇÒºÍ Bourne shell ÍêÈ«¼æÈÝ¡£

    ³ýÁËÕâЩ shell ÒÔÍ⣬Ðí¶àÆäËûµÄ shell ³ÌÐòÎüÊÕÁËÕâЩԭÀ´µÄ shell ³ÌÐòµÄÓÅµã¶ø³ÉΪÐ嵀 shell ¡£ÔÚ Linux Éϳ£¼ûµÄÓÐ tcsh (csh µÄÀ©Õ¹)£¬Bourne Again shell(bash, sh µÄÀ©Õ¹), ºÍPublic Domain Korn shell (pdksh, ksh µÄÀ©Õ¹)¡£bash ÊÇ´ó¶àÊýLinux ϵͳµÄȱʡ shell¡£

 The Bourne Again Shell


 
 

    Bourne Again shell (bash), ÕýÈçËüµÄÃû×ÖËù°µÊ¾µÄ£¬ÊÇ Bourne shell µÄÀ©Õ¹¡£bash Óë Bourne shell ÍêÈ«Ïòºó¼æÈÝ£¬²¢ÇÒÔÚ Bourne shell µÄ»ù´¡ÉÏÔö¼ÓºÍÔöÇ¿Á˺ܶàÌØÐÔ¡£bash Ò²°üº¬Á˺ܶà C ºÍ Korn shell ÀïµÄÓŵ㡣bash ÓкÜÁé»îºÍÇ¿´óµÄ±à³Ì½Ó¿Ú£¬Í¬Ê±ÓÖÓкÜÓѺõÄÓû§½çÃæ¡£

    ΪʲôҪÓà bash À´´úÌæ sh ÄØ£¿Bourne shell ×î´óµÄȱµãÔÚÓÚËü´¦ÀíÓû§µÄÊäÈë·½Ãæ¡£ÔÚ Bourne shell Àï¼üÈëÃüÁî»áºÜÂé·³£¬ÓÈÆäµ±Äã¼üÈëºÜ¶àÏàËÆµÄÃüÁîʱ¡£¶ø bash ×¼±¸Á˼¸ÖÖÌØÐÔʹÃüÁîµÄÊäÈë±äµÃ¸üÈÝÒס£

ÃüÁî²¹Æë£¨Command-Line Completion£©

    ͨ³£ÄãÔÚ bash £¨»òÈÎºÎÆäËûµÄ shell£©ÏÂÊäÈëÃüÁîʱÄã²»±Ø°ÑÃüÁîÊäÈ« shell ¾ÍÄÜÅжϳöÄãËùÒªÊäÈëµÄÃüÁî¡£ÀýÈ磬¼Ù¶¨µ±Ç°µÄ¹¤×÷Ŀ¼°üº¬ÒÔϵÄÎļþºÍ×ÓĿ¼£º

News/ bin/ games/ mail/ samplefile test/
    Èç¹ûÄãÒª½øÈë test ×ÓĿ¼£¬Ä㽫»áÊäÈëÒÔϵÄÃüÁ
cd test
    Õâ¸öÃüÁîÄܹ»Âú×ãÄãµÄÐèÒª£¬µ« bash»¹ÌṩÁËÉÔ΢²»Í¬µÄ·½·¨À´Íê³ÉͬÑùµÄÊ¡£ÒòΪ test Êǵ±Ç°Ä¿Â¼ÀïΨһÒÔ×Öĸ t¿ªÍ·µÄ×ÓĿ¼£¬bashÔÚÄãÖ»ÊäÈë×Öĸ tºó¾ÍÄÜÅжϳöÄãÒª×öʲôÁË£º
cd t
    ÔÚÄã¼üÈëÄǸö×Öĸºó£¬Î¨Ò»µÄ¿ÉÄܾÍÊÇ test ¡£ÏëÈà bash °ïÄã½áÊøÃüÁîµÄ»°£¬°´Ï Tab ¼ü£º
 
cd t<tab>
    µ±ÄãÕâÑù×öÒÔºó£¬bash ½«°ïÄã²¹ÆëÃüÁî²¢ÏÔʾÔÚÆÁÄ»ÉÏ¡£µ«ÔÚÄã°´Ï»سµ¼üÒÔǰÃüÁûÓб»Ö´ÐУ¬bash »áÈÃÄã¼ìÑé²¹ÆëµÄÃüÁîÊÇ·ñÊÇÄãÕæÕýÐèÒªµÄ¡£ÔÚÊäÈëÏóÕâÑù¶ÌµÄÃüÁîʱÄãÒ²Ðí¿´²»³öËüµÄ¼ÛÖµËùÔÚ£¬ÉõÖÁÔÚÃüÁîºÜ¶Ìʱ»¹»á¼òÂýÊäÈëµÄËÙ¶È£¬µ«Êǵ±ÄãÒªÊäÈëµÄÃüÁîÓе㳤ʱ£¬Äã»á·¢ÏÖÕâ¸öÌØÐÔÊǶàôµÄÃÀºÃ¡£

    µ«Êǵ±Ä¿Â¼ÀïÓв»Ö¹Ò»¸öÒÔ×Öĸ t ¿ªÍ·µÄÎļþʱ»á·¢ÉúʲôÇé¿öÄØ£¿ÔÚÄãʹÓÃÃüÁî²¹Æëʱ»áÓÐÎÊÌ⣬ÈÃÎÒÃÇ¿´¿´ÏÂÃæµÄÇé¿ö£¬µ±Ç°Ä¿Â¼ÀïÓÐÏÂÁÐÄÚÈÝ£º

News/  bin/   mail/  samplefile   test/  tools/ working/
    ÏÖÔÚÕâ¸öĿ¼ÀïÓÐÁ½¸öÒÔ×Öĸ t ¿ªÍ·µÄÎļþ¡£¼ÙÉèÄãÈÔÈ»Ïë½øÈë test ×ÓĿ¼£¬ÈçºÎʹÓÃÃüÁî²¹ÆëÄØ£¿Èç¹ûÄãÏóÏÈǰÄÇÑù¼üÈ룺
cd t<tab>
    bash ½«²»ÖªµÀÄãµ½µ×Ïë½øÈëÄĸö×ÓĿ¼£¬ÒòΪ¸ø³öµÄÐÅÏ¢²¢²»Î¨Ò»¡£Èç¹ûÄãÕâÑù×öÁ˵ϰ£¬bash ½«·¢³öÒ»Éù·äÃùÌáÐÑÄãûÓÐ×ã¹»µÄÐÅÏ¢À´²¹ÆëÄãµÄÃüÁî¡£·äÃùÖ®ºóbash ²¢²»¸Ä±äÊäÈëµÄÃüÁÕ⽫ʹÄãÄÜÔÚÔ­À´µÄ»ù´¡ÉÏÔÙÊäÈë¸ü¶àµÄÐÅÏ¢£¬ÔÚÕâ¸öÀý×ÓÖÐÄã½öÐèÔÙ¼üÈëÒ»¸ö e ²¢ÔÙ°´Ò»Ï Tab ¼ü£¬Õâʱ bash ¾ÍÓÐ×ã¹»µÄÐÅÏ¢À´Íê³ÉÄãµÄÃüÁîÁË£º
cd test
    µ±ÄãÊäÈëÃüÁîʱ²»ÂÛºÎʱ°´Ï Tab ¼ü£¬bash ¶¼½«¾¡ÆäËùÄܵØÊÔͼ²¹ÆëÃüÁ²»Ðеϰ»á·¢³ö·äÃùÀ´ÌáÐÑÄãÐèÒª¸ü¶àµÄÐÅÏ¢¡£ÄãÐèÒª¼üÈë¸ü¶àµÄ×Ö·û£¬²¢Ôٴΰ´Ï Tab ¼ü£¬Öظ´Õâ¸ö¹ý³ÌÖ±ÖÁÄãÆÚÍûµÄÃüÁî³öÏÖ¡£

ͨÅä·û


 


    ÁíÒ»¸öʹÃüÁîÊäÈë±äµÃ¸ü¼òµ¥µÄ·½·¨ÊÇÔÚÃüÁîÖÐʹÓÃͨÅä·û¡£bash Ö§³ÖÈýÖÖͨÅä·û£º

*      Æ¥ÅäÈκÎ×Ö·ûºÍÈκÎÊýÄ¿µÄ×Ö·û

?      Æ¥ÅäÈκε¥×Ö·û

[...]  Æ¥ÅäÈκΰüº¬ÔÚÀ¨ºÅÀïµÄµ¥×Ö·û

    * ͨÅä·ûµÄʹÓÃÓÐЩÏóÃüÁî²¹Æë¡£ÀýÈ磬¼ÙÉ赱ǰĿ¼°üº¬ÒÔÏÂÎļþ£º

News/  bin/   games/   mail/  samplefile   test/

    Èç¹ûÄãÏë½øÈë test Ŀ¼£¬Ä㽫¼üÈë cd test, »òÕßÄãÏëÓÃÃüÁî²¹Æë£º

cd t<tab>

    ÏÖÔÚÓеÚÈýÖÖ·½·¨À´×öͬÑùµÄÊ¡£ÒòΪ½öÓÐÒ»¸öÎļþÒÔ×Öĸ t ¿ªÍ·£¬ÄãÒ²ÄÜÓà * ͨÅä·ûÀ´½øÈë¸ÃĿ¼¡£¼üÈëÏÂÁÐÃüÁ

cd t*

    * Æ¥ÅäÈκÎ×Ö·ûºÍÈκÎÊýÄ¿µÄ×Ö·û£¬ËùÒÔ shell ½«°Ñ t* Ìæ»»Îª test£¨µ±Ç°Ä¿Â¼ÀïΨһºÍͨÅä·½°¸Æ¥ÅäµÄÎļþ£©¡£µ±Ç°Ä¿Â¼ÀïÖ»ÓÐÒ»¸öÎļþÒÔ×Öĸ t ¿ªÍ·µÄ»°Õ⽫Êǿɿ¿µÄ¡£µ«ÊÇÈç¹ûµ±Ç°Ä¿Â¼ÀïÓв»Ö¹Ò»¸öÎļþÒÔ×Öĸ t ¿ªÍ·£¬shell ½«ÊÔ׎øÈëµÚÒ»¸ö·ûºÏÆ¥Åä·½°¸µÄĿ¼£¬Õâ¸öĿ¼ÊÇÒÔ×Öĸ±íÅÅÐòµÄµÚÒ»¸öĿ¼£¬Õâ¸öĿ¼ҲÐíÊÇÒ²Ðí²»ÊÇÄãËùÆÚÍûµÄ¡£

    ͨÅä·û * µÄÒ»¸ö¸üʵ¼ÊµÄÓÃ;ÊÇͨÅäÄãÒªÖ´ÐеÄÃüÁîÖеĶà¸öÃû×ÖÏàËÆµÄÎļþ¡£ÀýÈ磬¼ÙÉ赱ǰĿ¼Àï°üº¬ÒÔÏÂÎļþ£º

ch1.doc   ch2.doc   ch3.doc  chimp  config    mail/  test/  tools/

    Èç¹ûÄãÐèÒª´òÓ¡ËùÓÐÀ©Õ¹ÃûÊÇ .doc µÄÎļþ£¬ÄãÄÜʹÓÃÏóÕâÑù¼ò»¯µÄÃüÁ

lpr *.doc

    ÔÚÕâ¸öÀý×ÓÖУ¬bash ½«°Ñ *.doc Ìæ»»Îªµ±Ç°Ä¿Â¼ÏÂËùÓÐÎļþÃû·ûºÏͨÅä·½°¸µÄÎļþ¡£ÔÚ bash ½øÐÐÁËÌæ»»ºó£¬¸ÃÃüÁ±»´¦ÀíΪ£º

lpr ch1.doc ch2.doc ch3.doc

    lpr ÃüÁÒÔch1.doc, ch2.doc, ºÍ ch3.docΪ²ÎÊý±»µ÷Óá£



    ×¢Ò⣺ ³ýÁËÒÔÉϸø³öµÄÀý×ÓÍ⣬»¹Óм¸ÖÖ·½·¨£º
           lpr *doc
           lpr *oc
           lpr *c

    ͨÅä·û ? ³ýÁËÖ»ÄÜÆ¥Åäµ¥¸ö×Ö·ûÍ⣬ÆäËû¹¦Äܶ¼ÓëͨÅä·û *  Ïàͬ£¬Èç¹ûÓÃͨÅä·û ? À´´òÓ¡Ç°ÃæÌáµ½µÄÄǸöĿ¼ÀïËùÓÐÀ©Õ¹ÃûÊÇ .doc µÄÎļþµÄ»°£¬¼üÈëÏÂÃæµÄÃüÁ

lpr ch?.doc

    ͨÅä·û[...]ÄÜÆ¥ÅäÀ¨ºÅÖиø³öµÄ×Ö·û»ò×Ö·û·¶Î§¡£Í¬ÑùÒÔÇ°ÃæµÄĿ¼ΪÀý£¬´òÓ¡ÄǸöĿ¼ÀïËùÓÐÀ©Õ¹ÃûÊÇ .doc µÄÎļþ£¬Äã¿ÉÒÔ¼üÈëÏÂÁÐÃüÁîÖ®Ò»£º

lpr ch[123].doc

»òÕߣº

lpr ch[1-3].doc

ÃüÁîÀúÊ·¼Ç¼

 


    bash Ò²Ö§³ÖÃüÁîÀúÊ·¼Ç¼¡£ÕâÒâζ×Å bash ±£ÁôÁËÒ»¶¨ÊýÄ¿µÄÄãÏÈǰÒѾ­ÔÚshell ÀïÊäÈë¹ýµÄÃüÁî¡£Õâ¸öÊýĿȡ¾öÓÚÒ»¸ö½Ð×öHISTSIZEµÄ±äÁ¿¡£ÓÐ¹Ø HISTSIZE µÄ¸ü¶àÐÅÏ¢£¬Çë¿´±¾ÎĺóÃæµÄ¡°bash ±äÁ¿¡±Ò»½Ú¡£

    bash °ÑÄãÏÈǰÊäÈëµÄÃüÁîÎı¾±£´æÔÚÒ»¸öÀúÊ·ÁбíÖС£µ±ÄãÓÃÄãµÄÕʺŵǼºóÀúÊ·ÁÐ±í½«¸ù¾ÝÒ»¸öÀúÊ·Îļþ±»³õʼ»¯¡£ÀúÊ·ÎļþµÄÎļþÃû±»Ò»¸ö½Ð HISTFILE µÄ bash±äÁ¿Ö¸¶¨¡£ÀúÊ·ÎļþµÄȱʡÃû×ÖÊÇ .bash_history¡£Õâ¸öÎļþͨ³£ÔÚÄãµÄÓû§Ä¿Â¼ÖС££¨×¢Òâ¸ÃÎļþµÄÎļþÃûÒÔÒ»¸ö¾äºÅ¿ªÍ·£¬ÕâÒâζ×ÅËüÊÇÒþº¬µÄ£¬½öµ±Äã´ø -a »ò -A²ÎÊýµÄ ls ÃüÁîÁÐĿ¼ʱ²Å¿É¼û£©

    ½ö½«ÏÈǰµÄÃüÁî´æÔÚÀúÊ·ÎļþÀïÊÇûÓÐÓõģ¬ËùÒÔ bash ÌṩÁ˼¸ÖÖ·½·¨À´µ÷ÓÃËüÃÇ¡£Ê¹ÓÃÀúÊ·¼Ç¼Áбí×î¼òµ¥µÄ·½·¨ÊÇÓÃÉÏ·½Ïò¼ü¡£°´ÏÂÉÏ·½Ïò¼üºó×îºó¼üÈëµÄÃüÁ³öÏÖÔÚÃüÁîÐÐÉÏ¡£ÔÙ°´Ò»ÏÂÔòµ¹ÊýµÚ¶þÌõÃüÁî»á³öÏÖ£¬ÒÔ´ËÀàÍÆ¡£Èç¹ûÉÏ·­¶àÁ˵Ļ°Ò²¿ÉÒÔÓÃÏòϵķ½Ïò¼üÀ´Ï·­¡££¨ºÍ DOS ʵÓóÌÐòdoskeyÒ»Ñù£©Èç¹ûÐèÒªµÄ»°£¬ÏÔʾÔÚÃüÁîÐÐÉϵÄÀúÊ·ÃüÁî¿ÉÒÔ±»±à¼­¡£

    ÁíÒ»¸öʹÓÃÃüÁîÀúÊ·ÎļþµÄ·½·¨ÊÇÓà bash µÄÄÚ²¿ÃüÁî history ºÍ fc(fix ÃüÁî)ÃüÁîÀ´ÏÔʾºÍ±à¼­ÀúÊ·ÃüÁî¡£history ÃüÁîÄÜÒÔÁ½ÖÖ²»Í¬µÄ·½·¨À´µ÷ÓᣵÚÒ»ÖÖÊÇ£º

history [n]

    µ± history ÃüÁîûÓвÎÊýʱ£¬Õû¸öÀúÊ·ÃüÁîÁбíµÄÄÚÈݽ«±»ÏÔʾ³öÀ´¡£ÏÂÃæÊÇÒ»¸öÃüÁîÀúÊ·ÁбíµÄÀý×Ó£º

1  mkdir /usr/games/pool

2  cp XpoolTable-1.2.linux.tar.z /usr/games/pool

3  cd /usr/games/pool/

4  ls

5  gunzip XpoolTable-1.2.linux.tar.z

6  tar -xf XpoolTable-1.2.linux.tar

7  ls

8  cd Xpool

9  ls

10  xinit

11  exit

12  which zip

13  zip

14  more readme

15  vi readme

16  exit

    ʹÓà n ²ÎÊýµÄ×÷ÓÃÊǽöÓÐ×îºó n ¸öÀúÊ·ÃüÁî»á±»Áгö¡£ÀýÈ磬history 5 ÏÔʾ×îºó 5 ¸öÃüÁî¡£
    µ÷Óà history ÃüÁîµÄµÚ¶þÖÖ·½·¨ÓÃÓÚÐÞ¸ÄÃüÁîÀúÊ·ÁбíÎļþµÄÄÚÈÝ¡£ÃüÁîµÄÓï·¨ÈçÏ£º

history [-r|w|a|n] [filename]

    ÕâÖÖÐÎʽÖУ¬-r Ñ¡Ïî¸æËß history ÃüÁî¶ÁÃüÁîÀúÊ·ÁбíÎļþµÄÄÚÈݲ¢ÇÒ°ÑËüÃǵ±×÷µ±Ç°µÄÃüÁîÀúÊ·ÁÐ±í¡£-w Ñ¡Ï°Ñµ±Ç°µÄÃüÁîÀúÊ·¼Ç¼дÈëÎļþÖв¢¸²¸ÇÎļþÔ­À´µÄÄÚÈÝ¡£-a Ñ¡Ïî°Ñµ±Ç°µÄÃüÁîÀúÊ·¼Ç¼׷¼Óµ½ÎļþÖС£-n Ñ¡Ï¶ÁÈ¡ÎļþÖеÄÄÚÈݲ¢¼ÓÈëµ½µ±Ç°ÀúÊ·ÃüÁîÁбíÖС£Èç¹û filename Ñ¡ÏîûÓб»Ö¸¶¨£¬history ÃüÁÓñäÁ¿HISTFILE µÄÖµÀ´´úÌæ¡£

    fc ÃüÁîÄÜÓÃÁ½ÖÖ·½·¨À´±à¼­ÀúÊ·ÃüÁî¡£µÚÒ»ÖÖʹÓÃÏÂÁÐÓï·¨£º

fc [-e editor_name] [-n] [-l] [-r] [first] [last]

    ÕâÀïËùÓвÎÊý¶¼ÊÇ¿ÉÑ¡µÄ¡£-e editor_name Ñ¡ÏîÓÃÀ´Ö¸¶¨ÓÃÓڱ༭ÃüÁîµÄÎı¾±à¼­Æ÷¡£ first ºÍ last Ñ¡ÏîÓÃÓÚÑ¡ÔñÁгöÀúÊ·ÃüÁîµÄ·¶Î§£¬¼È¿ÉÒÔÊÇÊý×ÖÒ²¿ÉÒÔÊÇ×Ö·û´®¡£-n Ñ¡Ïî½ûÖ¹ÁгöÃüÁîµÄ±àºÅ¡£-r Ñ¡Ïî·´ÏòÁгöÆ¥ÅäµÄÃüÁî¡£-l Ñ¡Ïî°ÑÆ¥ÅäµÄÃüÁîÐÐÁÐÔÚÆÁÄ»ÉÏ£¨¶ø²»ÊÇÔڱ༭Æ÷ÖУ©¡£Èç¹û-e editor_name²ÎÊýûÓб»Ö¸¶¨£¬ÔòÒÔ±äÁ¿FCEDITµÄÖµÀ´´úÌæ£¬Èç¹û¸Ã±äÁ¿²»´æÔڵϰ£¬ÔòÓñäÁ¿EDITORµÄÖµÀ´´úÌæ£¬¶¼²»´æÔڵϰ½«Ê¹ÓÃvi±à¼­Æ÷¡£

±ðÃû

    bash µÄÁíÒ»¸öʹÄãµÄ¹¤×÷±äµÃÇáËɵķ½·¨ÊÇÃüÁî±ðÃû¡£ÃüÁî±ðÃûͨ³£ÊÇÆäËûÃüÁîµÄËõд£¬ÓÃÀ´¼õÉÙ¼üÅÌÊäÈë¡£ÀýÈ磬Äã¾­³£Òª¼üÈëÈçϵÄÃüÁÄãÒ²Ðí»áÇãÏòÓÚΪËü½¨Á¢Ò»¸ö±ðÃûÀ´¼õÉÙ¹¤×÷Á¿£º

cd /usr/X11/lib/X11/fvwm/sample-configs

    ¼ÙÈçΪÕâ¸ö³¤ÃüÁÁ¢Ò»¸öÃûΪgoconfigµÄ±ðÃû£¬ÔÚbashÌáʾ·ûϼüÈëÈçÏÂÃüÁ

alias goconfig='cd /usr/X11/lib/X11/fvwm/sample-configs'

    ÏÖÔÚ£¬³ý·ÇÄãÍ˳öbash£¬¼üÈëgoconfig½«ºÍÔ­À´µÄ³¤ÃüÁîÓÐͬÑùµÄ×÷Óá£Èç¹ûÏëÈ¡Ïû±ðÃû£¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ

unalias goconfig

    ÕâÊÇһЩºÜ¶àÓû§ÈÏΪÓÐÓõıðÃû£¬Äã¿ÉÒÔ°ÑËüÃÇдÈëÄãµÄ.profileÎļþÖÐÌá¸ß¹¤×÷Ч £º

    alias ll='ls -l'

    alias log='logout'

    alias ls='ls -F'

    Èç¹ûÄãÊÇÒ»ÃûDOSÓû§²¢ÇÒϰ¹ßÁËDOSÃüÁÄãÄÜÏÂÃæµÄ±ðÃû¶¨ÒåʹÄãµÄ Linux ±íÏÖµÃÏóDOS Ò»Ñù£º

    alias dir='ls'

    alias copy='cp'

    alias rename='mv'

    alias md='mkdir'

    alias rd='rmdir'



    ×¢Ò⣺ ÔÚ¶¨Òå±ðÃûʱ£¬µÈºÅµÄÁ½Í·²»ÄÜÓпոñ£¬·ñÔò shell ²»Äܾö¶¨ÄãÐèÒª×ö            ʲô¡£½öÔÚÄãµÄÃüÁîÖаüº¬Óпոñ»òÌØÊâ×Ö·ûʱ²ÅÐèÒªÒýºÅ¡£

    Èç¹ûÄã¼üÈë²»´øÈκβÎÊýµÄaliasÃüÁ½«ÏÔʾËùÓÐÒѶ¨ÒåµÄ±ðÃû£¬ÀýÈ磺

alias dir='ls'

alias ll='ls -l'

alias ls='ls -F'

alias md='mkdir'

alias net='term < /dev/modem > /dev/modem 2> /dev/null&'

alias rd='rmdir'

ÊäÈëÖØ¶¨Ïò

     ÊäÈëÖØ¶¨ÏòÓÃÓڸıäÒ»¸öÃüÁîµÄÊäÈëÔ´¡£Ò»Ð©ÃüÁîÐèÒªÔÚÃüÁîÐÐÀïÊäÈë×ã¹»µÄÐÅÏ¢²ÅÄܹ¤×÷¡£±ÈÈç rm£¬Äã±ØÐëÔÚÃüÁîÐÐÀï¸æËß rm ËüÄãҪɾ³ýµÄÎļþ¡£ÁíһЩÃüÁîÔòÐèÒª¸üÏêϸµÄÊäÈ룬ÕâЩÃüÁîµÄÊäÈë¿ÉÄÜÊÇÒ»¸öÎļþ¡£±ÈÈçÃüÁî wc ͳ¼ÆÊäÈë¸øËüµÄÎļþÀïµÄÎļþÀïµÄ×Ö·ûÊý£¬µ¥´ÊÊýºÍÐÐÊý¡£Èç¹ûÄã½öÔÚÃüÁîÐÐÉϼüÈë wc <enter> £¬wc ½«µÈ´ýÄã¸æËßËüҪͳ¼ÆÊ²Ã´£¬Õâʱ bash ¾ÍºÃÏóËÀÁËÒ»Ñù£¬Äã¼üÈëµÄÿÑù¶«Î÷¶¼³öÏÖÔÚÆÁÄ»ÉÏ£¬µ«Ê²Ã´ÊÂÒ²²»»á·¢Éú¡£ÕâÊÇÒòΪ wc ÃüÁîÕýÔÚΪ×Ô¼ºÊÕ¼¯ÊäÈë¡£Èç¹ûÄã°´ÏÂCtrl-D£¬wc ÃüÁîµÄ½á¹û½«±»Ð´ÔÚÆÁÄ»ÉÏ¡£Èç¹ûÄãÊäÈëÒ»¸öÎļþÃû×ö²ÎÊý£¬ÏóÏÂÃæµÄÀý×ÓÒ»Ñù£¬wc ½«·µ»ØÎļþËù°üº¬µÄ×Ö·ûÊý£¬µ¥´ÊÊý£¬ºÍÐÐÊý£º

wc test

11 2 1

    ÁíÒ»ÖÖ°ÑtestÎļþÄÚÈÝ´«¸ø wc ÃüÁîµÄ·½·¨ÊÇÖØ¶¨Ïò wc µÄÊäÈë¡£< ·ûºÅÔÚbashÀïÓÃÓڰѵ±Ç°ÃüÁîµÄÊäÈëÖØ¶¨ÏòΪָ¶¨µÄÎļþ¡£ËùÒÔ¿ÉÒÔÓÃÏÂÃæµÄÃüÁîÀ´°Ñ wc ÃüÁîµÄÊäÈëÖØ¶¨ÏòΪ test Îļþ£º

wc < test

11 2 1

    ÊäÈëÖØ¶¨Ïò²¢²»¾­³£Ê¹ÓÃÒòΪ´ó¶àÊýÃüÁî¶¼ÒÔ²ÎÊýµÄÐÎʽÔÚÃüÁîÐÐÉÏÖ¸¶¨ÊäÈëÎļþµÄÎļþÃû¡£¾¡¹ÜÈç´Ë£¬µ±ÄãʹÓÃÒ»¸ö²»½ÓÊÜÎļþÃûΪÊäÈë²ÎÊýµÄÃüÁ¶øÐèÒªµÄÊäÈëÓÖÊÇÔÚÒ»¸öÒÑ´æÔÚµÄÎļþÀïʱ£¬Äã¾ÍÄÜÓÃÊäÈëÖØ¶¨Ïò½â¾öÎÊÌâ¡£

 Êä³öÖØ¶¨Ïò


 


    Êä³öÖØ¶¨Ïò±ÈÊäÈëÖØ¶¨Ïò¸ü³£Óá£Êä³öÖØ¶¨ÏòʹÄãÄܰÑÒ»¸öÃüÁîµÄÊä³öÖØ¶¨Ïòµ½Ò»¸öÎļþÀ¶ø²»ÊÇÏÔʾÔÚÆÁÄ»ÉÏ¡£

    ºÜ¶àÇé¿ö϶¼¿ÉÒÔʹÓÃÕâÖÖ¹¦ÄÜ¡£ÀýÈ磬Èç¹ûij¸öÃüÁîµÄÊä³öºÜ¶à£¬ÔÚÆÁÄ»Éϲ»ÄÜÍêÈ«ÏÔʾ£¬ÄãÄܰÑËüÖØ¶¨Ïòµ½Ò»¸öÎļþÖУ¬ÉÔºóÔÙÓÃÎı¾±à¼­Æ÷À´´ò¿ªÕâ¸öÎļþ£»µ±ÄãÏë±£´æÒ»¸öÃüÁîµÄÊä³öʱҲ¿ÉÒÔʹÓÃÕâÖÖ·½·¨¡£»¹ÓУ¬Êä³öÖØ¶¨Ïò¿ÉÒÔÓÃÓÚ°ÑÒ»¸öÃüÁîµÄÊä³öµ±×÷ÁíÒ»¸öÃüÁîµÄÊäÈëʱ¡££¨»¹ÓÐÒ»ÖÖ¸ü¼òµ¥µÄ·½·¨¿ÉÒÔ°ÑÒ»¸öÃüÁîµÄÊä³öµ±×÷ÁíÒ»¸öÃüÁîµÄÊäÈ룬¾ÍÊÇʹÓùܵÀ£¬¹ÜµÀµÄʹÓý«ÔÚ±¾Îĵġ°¹ÜµÀ¡±Ò»½Ú½éÉÜ£©
    Êä³öÖØ¶¨ÏòµÄʹÓÃÓëÊäÈëÖØ¶¨ÏòºÜÏàËÆ£¬µ«ÊÇÊä³öÖØ¶¨ÏòµÄ·ûºÅÊÇ > ¡£



    ×¢Ò⣺¼ÇÒäÊäÈ룯Êä³öÖØ¶¨Ïò·ûºÅµÄ×îºÃ·½·¨ÊǰÑ<¿´×÷ÊÇÒ»¸ö©¶·£¬Â©¶·µÄС¿Ú           Ö¸ÏòÐèÒªÊäÈëµÄÃüÁÒòΪÐèÒª½ÓÊÜÊäÈëµÄÃüÁî»áÔÚ <µÄ×óÊֱߣ©£¬¶ø°Ñ>           µ±×÷Ò»¸ö´ó¿ÚÖ¸ÏòÓÐÊä³öµÄÃüÁîµÄ©¶·¡£

    ÖØ¶¨Ïò¾ÙÀý£¬µ±ÄãÒª°Ñ ls ÃüÁîµÄÊä³ö±£´æÎªÒ»¸öÃûΪ directory.out µÄÎļþʱ£¬Äã¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ

ls > directory.out

¹ÜµÀ


 


    ¹ÜµÀ¿ÉÒÔ°ÑһϵÁÐÃüÁîÁ¬½ÓÆðÀ´¡£ÕâÒâζ×ŵÚÒ»¸öÃüÁîµÄÊä³ö»áͨ¹ý¹ÜµÀ´«¸øµÚ¶þ¸öÃüÁî¶ø×÷ΪµÚ¶þ¸öÃüÁîµÄÊäÈ룬µÚ¶þ¸öÃüÁîµÄÊä³öÓÖ»á×÷ΪµÚÈý¸öÃüÁîµÄÊäÈë £¬ÒÔ´ËÀàÍÆ¡£¶ø¹ÜµÀÐÐÖÐ×îºóÒ»¸öÃüÁîµÄÊä³ö²Å»áÏÔʾÔÚÆÁÄ»ÉÏ£¨Èç¹ûÃüÁîÐÐÀïʹÓÃÁËÊä³öÖØ¶¨ÏòµÄ»°£¬½«»á·Å½øÒ»¸öÎļþÀ¡£
    ÄãÄÜͨ¹ýʹÓùܵÀ·û | À´½¨Á¢Ò»¸ö¹ÜµÀÐУ¬ÏÂÃæµÄʾÀý¾ÍÊÇÒ»¸ö¹ÜµÀÐУº

cat sample.text | grep "High" | wc -l

    Õâ¸ö¹ÜµÀ½«°Ñ cat ÃüÁÁгöÒ»¸öÎļþµÄÄÚÈÝ£©µÄÊä³öË͸øgrepÃüÁî¡£grep ÃüÁîÔÚÊäÈëÀï²éÕÒµ¥´Ê High£¬grepÃüÁîµÄÊä³öÔòÊÇËùÓаüº¬µ¥´Ê HighµÄÐУ¬Õâ¸öÊä³öÓÖ±»Ë͸ø wcÃüÁî¡£´ø -lÑ¡ÏîµÄ wcÃüÁͳ¼ÆÊäÈëÀïµÄÐÐÊý¡£¼ÙÉè sample.txtµÄÄÚÈÝÈçÏ£º

Things to do today:

Low: Go grocery shopping

High: Return movie

High: Clear level 3 in Alien vs. Predator

Medium: Pick up clothes from dry cleaner
 

    ¹ÜµÀÐн«·µ»Ø½á¹û 2£¬Ö¸³öÄã½ñÌìÓÐÁ½¼þºÜÖØÒªµÄÊÂÒª×ö£º

cat sample.text | grep "High" | wc -l

2

Ìáʾ·û


 


    bash ÓÐÁ½¼¶Óû§Ìáʾ·û¡£µÚÒ»¼¶ÊÇÄã¾­³£¿´µ½µÄ bash ÔڵȴýÃüÁîÊäÈëʱµÄÌáʾ·û¡£È±Ê¡µÄÒ»¼¶Ìáʾ·ûÊÇ×Ö·û$£¨Èç¹ûÊdz¬¼¶Óû§£¬ÔòÊÇ#ºÅ£©¡£Äã¿ÉÒÔͨ¹ý¸Ä±äbash µÄPS1±äÁ¿µÄÖµÀ´¸Ä±äÄãµÄȱʡÌáʾ·û£¬ÀýÈ磺

PS1="Please enter a command"

    °Ñbash shell µÄÌáʾ·û¸ÃΪָ¶¨µÄ×Ö·û´®¡£

    µ±bash ÆÚ´ýÊäÈë¸ü¶àµÄÐÅÏ¢ÒÔÍê³ÉÃüÁîʱÏÔʾµÚ¶þ¼¶Ìáʾ·û¡£È±Ê¡µÄµÚ¶þ¼¶Ìáʾ·ûÊÇ >¡£ ¹ûÄãÒª¸Ä±äµÚ¶þ¼¶Ìáʾ·û£¬¿ÉÒÔͨ¹ýÉèÖÃPS2±äÁ¿µÄÖµÀ´ÊµÏÖ£º

PS2="I need more information"

    ÁíÍâÄ㻹¿ÉÒÔÓÃÌØÊâµÄ×Ö·ûÀ´¶¨ÒåÄãµÄÌáʾ·û£¬ÏÂÃæµÄÁбíÁгöÁË×î³£ÓõÄÌØÊâ×Ö·û¡£

 Ìáʾ·ûÌØÊâ×Ö·û´úÂë
 ×Ö·û      º¬Òå
 \!       ÏÔʾ¸ÃÃüÁîµÄÀúÊ·¼Ç¼±àºÅ¡£

 \#       ÏÔʾµ±Ç°ÃüÁîµÄÃüÁî±àºÅ¡£

 \$       ÏÔʾ$·û×÷ΪÌáʾ·û£¬Èç¹ûÓû§ÊÇrootµÄ»°£¬ÔòÏÔʾ#ºÅ¡£

 \\       ÏÔʾ·´Ð±¸Ü¡£

 \d       ÏÔʾµ±Ç°ÈÕÆÚ¡£

 \h       ÏÔʾÖ÷»úÃû¡£

 \n       ´òÓ¡ÐÂÐС£

 \nnn     ÏÔʾnnnµÄ°Ë½øÖÆÖµ¡£

 \s       ÏÔʾµ±Ç°ÔËÐеÄshellµÄÃû×Ö¡£

 \t       ÏÔʾµ±Ç°Ê±¼ä¡£

 \u       ÏÔʾµ±Ç°Óû§µÄÓû§Ãû¡£

 \W       ÏÔʾµ±Ç°¹¤×÷Ŀ¼µÄÃû×Ö¡£

 \w       ÏÔʾµ±Ç°¹¤×÷Ŀ¼µÄ·¾¶¡£
 

    ÕâÐ©ÌØÊâ×Ö·ûÄÜ×éºÏ³ÉºÜ¶àÖÖÓÐÓõÄÌáʾ·û·½°¸£¨Ò²¿ÉÒÔ×éºÏΪºÜÆæÒìµÄ·½°¸£©£¬ÀýÈç°Ñ PS1 ÉèΪ£º

PS1="\t"

    Õâµ¼ÖÂÌáʾ·ûÏÔʾµ±Ç°µÄʱ¼ä£¬¾ÍÏóÏÂÃæµÄÏÔʾһÑù£¨Ìáʾ·ûºóÃæ½«²»»áÓпոñ£©£º

02:16:15
 

    ¶øÏÂÃæµÄÉèÖãº

PS1=\t

    ½«µ¼ÖÂÌáʾ·û±ä³ÉÏÂÃæµÄÑù×Ó£º

t

    ÕâÏÔʾÁËÉèÖÃÖÐÒýºÅµÄÖØÒªÐÔ£¬ÏÂÃæµÄÌáʾ·û´®£º

PS1="\t\\ "

    »áʹÌáʾ·û¿´ÆðÀ´ÏóÕâ¸öÑù×Ó£º

02:16:30\

    ÕâÖÖÇé¿öÏ£¬Ìáʾ·ûºóÃæ»áÓÐÒ»¸ö¿Õ¸ñ£¬ÒòΪÒýºÅÀïÓÐÒ»¸ö¿Õ¸ñ¡£

×÷Òµ¿ØÖÆ£¨Job Control£©


 


    ×÷Òµ¿ØÖÆÄܹ»¿ØÖƵ±Ç°ÕýÔÚÔËÐеĽø³ÌµÄÐÐΪ¡£ÌØ±ðµØ£¬ÄãÄܰÑÒ»¸öÕýÔÚÔËÐеĽø³Ì¹ÒÆð£¬ÉÔºóÔÙ»Ö¸´ËüµÄÔËÐС£bash ±£³Ö¶ÔËùÓÐÒÑÆô¶¯µÄ½ø³ÌµÄ¸ú×Ù£¬ÄãÄÜÔÚÒ»¸öÕýÔÚÔËÐеĽø³ÌµÄÉúÃüÆÚÄÚµÄÈκÎʱºò°ÑËü¹ÒÆð»òÊÇʹËü»Ö¸´ÔËÐС£

    °´Ï Ctrl-Z ʹһ¸öÔËÐеĽø³Ì¹ÒÆð¡£bg ÃüÁîʹһ¸ö±»¹ÒÆðµÄ½ø³ÌÔÚºǫ́»Ö¸´ÔËÐУ¬·´Ö® fg ÃüÁîʹ½ø³ÌÔÚǰ̨»Ö¸´ÔËÐС£Õ⼸¸öÃüÁîÔÚµ±Óû§ÏëÔÚºǫ́ÔËÐжøÒâÍâµÄ°ÑËü·Åµ½ÁËǰ̨ʱ£¬¾­³£±»Óõ½¡£µ±Ò»¸öÃüÁîÔÚǰ̨±»ÔËÐÐʱ£¬Ëü»á½ûÖ¹Óû§Óë shell µÄ½»»¥£¬Ö±µ½¸ÃÃüÁî½áÊø¡£Õâͨ³£²»»áÔì³ÉÂé·³£¬ÒòΪ´ó¶àÊýÃüÁîºÜ¿ì¾ÍÖ´ÐÐÍêÁË¡£Èç¹ûÄãÒªÔËÐеÄÃüÁîÒª»¨·ÑºÜ³¤µÄʱ¼äµÄ»°£¬ÎÒÃÇͨ³£»á°ÑËü·Åµ½ºǫ́£¬ÒÔʹÎÒÃÇÄÜÔÚǰ̨¼ÌÐøÊäÈëÆäËûÃüÁî¡£ÀýÈ磬ÄãÊäÈëÕâ¸öÃüÁ

command find / -name "test" > find.out

    Ëü½«Ñ°ÕÒÕû¸öÎļþϵͳÖеÄÃûΪtest µÄÎļþ²¢°Ñ½á¹û±£´æÔÚÒ»¸ö½Ðfing.outµÄÎļþÀï¡£Èç¹ûÔÚǰ̨ÔËÐеϰ£¬¸ù¾ÝÎļþϵͳµÄ´óС£¬ÄãµÄshell½«ÓÐÊýÃëÉõÖÁÊý·ÖÖÓ²»ÄÜʹÓã¬Äã²»ÏëÕâÑùµÄ»°¿ÉÒÔÔÙÊäÈëÒÔÏÂÃæµÄÄÚÈÝ£º

control-z

bg

    find ÃüÁîÊ×Ïȱ»¹ÒÆð£¬ÔÙÔÚºǫ́¼ÌÐø±»Ö´ÐУ¬²¢ÇÒÄãÄÜÂíÉϻص½bashÏ¡£
 

 Óû§»¯ÅäÖÃbash

    ±¾ÎÄÒѾ­ÃèÊöÁËÐí¶àÓû§»¯ÅäÖÃbashµÄ·½·¨¡£µ«ÖªµÀÏÖÔÚΪֹ£¬ÎÒÃÇËù×öµÄ¸Ä¶¯¶¼½öÔÚµ±Ç°ÔËÐеÄbashϲÅÓÐЧ¡£Ò»µ©Í˳öϵͳ£¬ËùÓеĸĶ¯Ò²ËæÖ®ÏûʧÁË¡£ÎªÁ˱£´æÕâЩÓû§»¯ÅäÖã¬Äã±ØÐë°ÑËüÃDZ£´æµ½Ò»¸öbashµÄ³õʼ»¯ÎļþÀï¡£

    ÄãÄܰÑÈκÎÏëÿ´Î½øÈëcash¶¼Ö´ÐеÄÃüÁî·Åµ½³õʼ»¯ÎļþÀï¡£Õâ¸öÎļþÀï×î³£¼ûµ½µÄÃüÁîͨ³£ÊÇaliasºÍ±äÁ¿µÄ³õʼ»¯¡£bashµÄ³õʼ»¯Îļþ½Ð×ö profile¡£Ã¿¸öʹÓÃbashµÄÓû§¶¼ÓÐÒ»¸ö .profileÎļþÔÚËûµÄÓû§Ä¿Â¼Àï¡£bashÔÚÿ´ÎÆô¶¯Ê±¶¼¶ÁÈ¡Õâ¸öÎļþ£¬²¢Ö´ÐÐËùÓаüº¬µÄÃüÁî¡£

    ÏÂÃæµÄ´úÂëÊÇȱʡµÄ.profileÎļþµÄÄÚÈÝ¡£Õâ¸öÎļþµÄλÖÃÔÚ /etcĿ¼¡£Èç¹ûÄãÏëÉèÖÃ×Ô¼ºµÄbash µÄ»°°ÑËü¿½µ½ÄãµÄÓû§Ä¿Â¼ÀÈç¹û»¹Ã»Óеϰ£©²¢ÃüÃûΪ.profile¡£



     ×¢Ò⣺ ÓÐЩsetup³ÌÐò»áÔÚ½¨Á¢Óû§Ê±×Ô¶¯·ÅÒ»¸ö.profileÎļþµÄ¿½±´ÔÚÄãµÄÓà           »§Ä¿Â¼Àï¡£µ«ÊDz¢²»ÊÇËùÓеͼÕâô×ö£¬ËùÒÔ×îºÃÏȼì²éÒ»ÏÂÄãµÄÓû§Ä¿            ¼¡£¼ÇסËùÓÐÒÔ¾äµã¿ªÍ·µÄÎļþ¶¼ÊÇÒþº¬µÄ£¬Ö»ÓÐÓÃls -a»òls -AÃüÁî²Å            ÄÜÁгö¡£


 

# commands common to all logins

export OPENWINHOME=/usr/openwin

export MINICOM="-c on"

export MANPATH=/usr/local/man:/usr/man/preformat:/usr/man:/X11/man:/usr/openwin /m
an

export HOSTNAME="`cat /etc/HOSTNAME`"

PATH="$PATH:/usr/X11/bin:$OPENWINHOME/bin:/usr/games:."

LESS=-MM

# I had problems using 'eval test' instead of 'TERM=', but you might want to # try
 it anyway. I think with the right /etc/termcap it would work great.  # eval 'tset
 -sQ "$TERM"'if [ "$TERM" = "" -o "$TERM" =
"unknown"]; then

TERM=linux

#PS1=''hostname':'pwd'# `

if [ "$SHELL" = "/bin/pdksh" -o "$SHELL" = "/bin/ksh" ]; then

 PS1="! $"

elif [ "$SHELL" = "/bin/zsh" ]; then

 PS1="%m:%~%# "

elif [ "$SHELL" = "/bin/ash" ]; then

 PS1="$ "

else

PS1='\h:\w\$ `

fi

PS2='> `

ignoreeof=10

export PATH DISPLAY LESS TERM PS1 PS2 ignoreeof

umask 022

# set up the color-ls environment variables:

if [ "$SHELL" = "/bin/zsh" l; then

  eval 'dircolors -z'

elif [ "$SHELL" = "/bin/ash" l; then

  eval 'dircolors -s'

else

  eval 'dircolors -b'

fi

echo

fortune

echo

export TAPE="/dev/nftape"

 bash ÃüÁî¸ÅÒª

    ÕâÊǼ¸¸ö×îÓÐÓõÄbashÄÚ²¿ÃüÁ

alias:  ÉèÖÃbash±ðÃû¡£

bg:     ʹһ¸ö±»¹ÒÆðµÄ½ø³ÌÔÚºǫ́¼ÌÐøÖ´ÐС£

cd:     ¸Ä±äµ±Ç°¹¤×÷Ŀ¼¡£

exit:   ÖÕÖ¹shell¡£

export: ʹ±äÁ¿µÄÖµ¶Ôµ±Ç°shellµÄËùÓÐ×Ó½ø³Ì¶¼¿É¼û ¡£

fc:     ÓÃÀ´±à¼­ÀúÊ·ÃüÁîÁбíÀïµÄÃüÁî¡£

fg:     ʹһ¸ö±»¹ÒÆðµÄ½ø³ÌÔÚǰ̨¼ÌÐøÖ´ÐС£

help:   ÏÔʾbashÄÚ²¿ÃüÁîµÄ°ïÖúÐÅÏ¢¡£

kill:   ÖÕֹij¸ö½ø³Ì¡£

pwd:    ÏÔʾµ±Ç°¹¤×÷Ŀ¼¡£

unalias: ɾ³ýÒѶ¨ÒåµÄ±ðÃû¡£

    bash »¹ÓÐÐí¶àÃüÁµ«ÕâЩÊÇ×î³£Óõģ¬ÏëÁ˽â¸üÏêϸµÄÇé¿ö£¬Çë²Î¿¼bashµÄÊÖ²á--ÔÚÌáʾ·ûϼüÈë man bash¡£

bash ±äÁ¿

    ÕâÀïÊǼ¸¸ö×îÓÐÓõÄbash±äÁ¿£¬°üÀ¨±äÁ¿ÃûºÍ¼òµ¥ÃèÊö¡£

EDITOR, FCEDIT: bsah fc ÃüÁîµÄȱʡ±à¼­Æ÷¡£

HISTFILE: ÓÃÓÚÖü´æÀúÊ·ÃüÁîµÄÎļþ¡£

HISTSIZE: ÀúÊ·ÃüÁîÁбíµÄ´óС¡£

HOME: µ±Ç°Óû§µÄÓû§Ä¿Â¼¡£

OLDPWD: ǰһ¸ö¹¤×÷Ŀ¼¡£

PATH: bashѰÕÒ¿ÉÖ´ÐÐÎļþµÄËÑË÷·¾¶¡£

PS1: ÃüÁîÐеÄÒ»¼¶Ìáʾ·û¡£

PS2: ÃüÁîÐеĶþ¼¶Ìáʾ·û¡£

PWD: µ±Ç°¹¤×÷Ŀ¼¡£

SECONDS: µ±Ç°shell¿ªÊ¼ºóËùÁ÷ÊŵÄÃëÊý¡£

  À