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

bash ±à³ÌÖ¸ÄÏ

·¢²¼Ê±¼ä:2006-03-20 00:18:55À´Ô´:ºìÁª×÷Õß:ccs
¡¡¡¡Ê²Ã´ÊÇ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 Ê×Ïȼì²éÃüÁîÊÇ·ñÊÇÄÚ²¿ÃüÁ²»ÊǵĻ°ÔÙ¼ì²éÊÇ·ñÊÇÒ»¸öÓ¦ÓóÌÐò£¬ÕâÀïµÄÓ¦ÓóÌÐò¿ÉÒÔÊÇ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

¡¡¡¡µ±ÄãÕâÑù×öÒÔºó£¬bash ½«°ïÄã²¹ÆëÃüÁî²¢ÏÔʾÔÚÆÁÄ»ÉÏ¡£µ«ÔÚÄã°´Ï»سµ¼üÒÔÇ°ÃüÁûÓб»Ö´ÐУ¬bash »áÈÃÄã¼ìÑé²¹ÆëµÄÃüÁîÊÇ·ñÊÇÄãÕæÕýÐèÒªµÄ¡£ÔÚÊäÈëÏóÕâÑù¶ÌµÄÃüÁîʱÄãÒ²Ðí¿´²»³öËüµÄ¼ÛÖµËùÔÚ£¬ÉõÖÁÔÚÃüÁîºÜ¶Ìʱ»¹»á¼òÂýÊäÈëµÄËٶȣ¬µ«Êǵ±ÄãÒªÊäÈëµÄÃüÁîÓе㳤ʱ£¬Äã»á·¢ÏÖÕâ¸öÌØÐÔÊǶàôµÄÃÀºÃ¡£
¡¡¡¡µ«Êǵ±Ä¿Â¼ÀïÓв»Ö¹Ò»¸öÒÔ×Öĸ t ¿ªÍ·µÄÎļþʱ»á·¢ÉúʲôÇé¿öÄØ£¿ÔÚÄãʹÓÃÃüÁî²¹Æëʱ»áÓÐÎÊÌ⣬ÈÃÎÒÃÇ¿´¿´ÏÂÃæµÄÇé¿ö£¬µ±Ç°Ä¿Â¼ÀïÓÐÏÂÁÐÄÚÈÝ£º

News/bin/ mail/samplefile test/tools/ working/

¡¡¡¡ÏÖÔÚÕâ¸öĿ¼ÀïÓÐÁ½¸öÒÔ×Öĸ t ¿ªÍ·µÄÎļþ¡£¼ÙÉèÄãÈÔÈ»Ïë½øÈë test ×ÓĿ¼£¬ÈçºÎʹÓÃÃüÁî²¹ÆëÄØ£¿Èç¹ûÄãÏóÏÈÇ°ÄÇÑù¼üÈ룺

cd t

¡¡¡¡bash ½«²»ÖªµÀÄãµ½µ×Ïë½øÈëÄĸö×ÓĿ¼£¬ÒòΪ¸ø³öµÄÐÅÏ¢²¢²»Î¨Ò»¡£Èç¹ûÄãÕâÑù×öÁ˵Ļ°£¬bash ½«·¢³öÒ»Éù·äÃùÌáÐÑÄãûÓÐ×ã¹»µÄÐÅÏ¢À´²¹ÆëÄãµÄÃüÁî¡£·äÃùÖ®ºóbash ²¢²»¸Ä±äÊäÈëµÄÃüÁÕ⽫ʹÄãÄÜÔÚÔ­À´µÄ»ù´¡ÉÏÔÙÊäÈë¸ü¶àµÄÐÅÏ¢£¬ÔÚÕâ¸öÀý×ÓÖÐÄã½öÐèÔÙ¼üÈëÒ»¸ö e ²¢ÔÙ°´Ò»Ï Tab ¼ü£¬Õâʱ bash ¾ÍÓÐ×ã¹»µÄÐÅÏ¢À´Íê³ÉÄãµÄÃüÁîÁË£º

cd test

¡¡¡¡µ±ÄãÊäÈëÃüÁîʱ²»ÂÛºÎʱ°´Ï Tab ¼ü£¬bash ¶¼½«¾¡ÆäËùÄܵØÊÔͼ²¹ÆëÃüÁ²»ÐеĻ°»á·¢³ö·äÃùÀ´ÌáÐÑÄãÐèÒª¸ü¶àµÄÐÅÏ¢¡£ÄãÐèÒª¼üÈë¸ü¶àµÄ×Ö·û£¬²¢Ôٴΰ´Ï Tab ¼ü£¬Öظ´Õâ¸ö¹ý³ÌÖ±ÖÁÄãÆÚÍûµÄÃüÁî³öÏÖ¡£

¡¡¡¡Í¨Åä·û
¡¡¡¡ÁíÒ»¸öʹÃüÁîÊäÈë±äµÃ¸ü¼òµ¥µÄ·½·¨ÊÇÔÚÃüÁîÖÐʹÓÃͨÅä·û¡£bash Ö§³ÖÈýÖÖͨÅä·û£º
¡¡¡¡*Æ¥ÅäÈκÎ×Ö·ûºÍÈκÎÊýÄ¿µÄ×Ö·û
¡¡¡¡?Æ¥ÅäÈκε¥×Ö·û
¡¡¡¡[...]Æ¥ÅäÈκΰüº¬ÔÚÀ¨ºÅÀïµÄµ¥×Ö·û
¡¡¡¡* ͨÅä·ûµÄʹÓÃÓÐЩÏóÃüÁî²¹Æë¡£ÀýÈ磬¼ÙÉ赱ǰĿ¼°üº¬ÒÔÏÂÎļþ£º

News/bin/ games/ mail/samplefile test/

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

cd t

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

cd t*

¡¡¡¡* Æ¥ÅäÈκÎ×Ö·ûºÍÈκÎÊýÄ¿µÄ×Ö·û£¬ËùÒÔ shell ½«°Ñ t* Ì滻Ϊ test£¨µ±Ç°Ä¿Â¼ÀïΨһºÍͨÅä·½°¸Æ¥ÅäµÄÎļþ£©¡£µ±Ç°Ä¿Â¼ÀïÖ»ÓÐÒ»¸öÎļþÒÔ×Öĸ t ¿ªÍ·µÄ»°Õ⽫ÊÇ¿É¿¿µÄ¡£µ«ÊÇÈç¹ûµ±Ç°Ä¿Â¼ÀïÓв»Ö¹Ò»¸öÎļþÒÔ×Öĸ t ¿ªÍ·£¬shell ½«ÊÔ׎øÈëµÚÒ»¸ö·ûºÏÆ¥Åä·½°¸µÄĿ¼£¬Õâ¸öĿ¼ÊÇÒÔ×Öĸ±íÅÅÐòµÄµÚÒ»¸öĿ¼£¬Õâ¸öĿ¼ҲÐíÊÇÒ²Ðí²»ÊÇÄãËùÆÚÍûµÄ¡£
¡¡¡¡Í¨Åä·û * µÄÒ»¸ö¸üʵ¼ÊµÄÓÃ;ÊÇͨÅäÄãÒªÖ´ÐеÄÃüÁîÖеĶà¸öÃû×ÖÏàËƵÄÎļþ¡£ÀýÈ磬¼ÙÉ赱ǰĿ¼Àï°üº¬ÒÔÏÂÎļþ£º

ch1.doc ch2.doc ch3.docchimpconfigmail/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 ÃüÁîûÓвÎÊýʱ£¬Õû¸öÀúÊ·ÃüÁîÁбíµÄÄÚÈݽ«±»ÏÔʾ³öÀ´¡£ÏÂÃæÊÇÒ»¸öÃüÁîÀúÊ·ÁбíµÄÀý×Ó£º

1mkdir /usr/games/pool
2cp XpoolTable-1.2.linux.tar.z /usr/games/pool
3cd /usr/games/pool/
4ls
5gunzip XpoolTable-1.2.linux.tar.z
6tar -xf XpoolTable-1.2.linux.tar
7ls
8cd Xpool
9ls
10xinit
11exit
12which zip
13zip
14more readme
15vi readme
16exit

¡¡¡¡Ê¹Óà 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 2> /dev/null&'

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

wc test
11 2 1

¡¡¡¡ÁíÒ»ÖÖ°ÑtestÎļþÄÚÈÝ´«¸ø wc ÃüÁîµÄ·½·¨ÊÇÖض¨Ïò wc µÄÊäÈë¡£

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

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

¡¡¡¡ºÜ¶àÇé¿ö϶¼¿ÉÒÔʹÓÃÕâÖÖ¹¦ÄÜ¡£ÀýÈ磬Èç¹û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±äÁ¿µÄÖµÀ´¸Ä±äÄãµÄȱʡÌáʾ·û
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ