¡¡¡¡shellÊÇÓû§ºÍLinux²Ù×÷ϵͳ֮¼äµÄ½Ó¿Ú¡£LinuxÖÐÓжàÖÖshell£¬ÆäÖÐȱʡʹÓõÄÊÇBash¡£±¾Õ½²Êö
ÁËshellµÄ¹¤×÷ÔÀí£¬shellµÄÖÖÀ࣬shellµÄÒ»°ã²Ù×÷¼°BashµÄÌØÐÔ¡£
¡¡¡¡Ê²Ã´ÊÇshell
¡¡¡¡LinuxϵͳµÄshell×÷Ϊ²Ù×÷ϵͳµÄÍâ¿Ç£¬ÎªÓû§ÌṩʹÓòÙ×÷ϵͳµÄ½Ó¿Ú¡£ËüÊÇÃüÁîÓïÑÔ¡¢ÃüÁî½âÊÍ
³ÌÐò¼°³ÌÐòÉè¼ÆÓïÑÔµÄͳ³Æ¡£
¡¡¡¡shellÊÇÓû§ºÍLinuxÄÚºËÖ®¼äµÄ½Ó¿Ú³ÌÐò£¬Èç¹û°ÑLinuxÄÚºËÏëÏó³ÉÒ»¸öÇòÌåµÄÖÐÐÄ£¬shell¾ÍÊÇΧÈÆ
Äں˵ÄÍâ²ã¡£µ±´Óshell»òÆäËû³ÌÐòÏòLinux´«µÝÃüÁîʱ£¬Äں˻á×ö³öÏàÓ¦µÄ·´Ó¦¡£
¡¡¡¡shellÊÇÒ»¸öÃüÁîÓïÑÔ½âÊÍÆ÷£¬ËüÓµÓÐ×Ô¼ºÄÚ½¨µÄshellÃüÁ£¬shellÒ²Äܱ»ÏµÍ³ÖÐÆäËûÓ¦ÓóÌÐòËùµ÷
Óá£Óû§ÔÚÌáʾ·ûÏÂÊäÈëµÄÃüÁÓÉshellÏȽâÊÍÈ»ºó´«¸øLinuxºËÐÄ¡£
¡¡¡¡ÓÐһЩÃüÁ±ÈÈç¸Ä±ä¹¤×÷Ŀ¼ÃüÁîcd£¬ÊÇ°üº¬ÔÚshellÄÚ²¿µÄ¡£»¹ÓÐһЩÃüÁÀýÈ翽±´ÃüÁîcpºÍÒÆ
¶¯ÃüÁîrm£¬ÊÇ´æÔÚÓÚÎļþϵͳÖÐij¸öĿ¼Ïµĵ¥¶ÀµÄ³ÌÐò¡£¶ÔÓû§¶øÑÔ£¬²»±Ø¹ØÐÄÒ»¸öÃüÁîÊǽ¨Á¢ÔÚshell
ÄÚ²¿»¹ÊÇÒ»¸öµ¥¶ÀµÄ³ÌÐò¡£
¡¡¡¡shell Ê×Ïȼì²éÃüÁîÊÇ·ñÊÇÄÚ²¿ÃüÁÈô²»ÊÇÔÙ¼ì²éÊÇ·ñÊÇÒ»¸öÓ¦ÓóÌÐò(ÕâÀïµÄÓ¦ÓóÌÐò¿ÉÒÔÊÇ
Linux±¾ÉíµÄʵÓóÌÐò£¬ÈçlsºÍrm£¬Ò²¿ÉÒÔÊǹºÂòµÄÉÌÒµ³ÌÐò£¬Èçxv£¬»òÕßÊÇ×ÔÓÉÈí¼þ£¬Èçemacs)¡£È»ºó
shellÔÚËÑË÷·¾¶ÀïÑ°ÕÒÕâЩӦÓóÌÐò(ËÑË÷·¾¶¾ÍÊÇÒ»¸öÄÜÕÒµ½¿ÉÖ´ÐгÌÐòµÄĿ¼Áбí)¡£Èç¹û¼üÈëµÄÃüÁî
²»ÊÇÒ»¸öÄÚ²¿ÃüÁî²¢ÇÒÔÚ·¾¶ÀïûÓÐÕÒµ½Õâ¸ö¿ÉÖ´ÐÐÎļþ£¬½«»áÏÔʾһÌõ´íÎóÐÅÏ¢¡£Èç¹ûÄܹ»³É¹¦ÕÒµ½Ãü
Á¸ÃÄÚ²¿ÃüÁî»òÓ¦ÓóÌÐò½«±»·Ö½âΪϵͳµ÷Óò¢´«¸ø LinuxÄںˡ£
¡¡¡¡shellµÄÁíÒ»¸öÖØÒªÌØÐÔÊÇËü×ÔÉí¾ÍÊÇÒ»¸ö½âÊÍÐ͵ijÌÐòÉè¼ÆÓïÑÔ£¬shell³ÌÐòÉè¼ÆÓïÑÔÖ§³Ö¾ø´ó¶àÊý
Ôڸ߼¶ÓïÑÔÖÐÄܼûµ½µÄ³ÌÐòÔªËØ£¬È纯Êý¡¢±äÁ¿¡¢Êý×éºÍ³ÌÐò¿ØÖƽṹ¡£shell±à³ÌÓïÑÔ¼òµ¥Ò×ѧ£¬ÈκÎÔÚ
Ìáʾ·ûÖÐÄܼüÈëµÄÃüÁÄܷŵ½Ò»¸ö¿ÉÖ´ÐеÄshell³ÌÐòÖС£
¡¡¡¡µ±ÆÕͨÓû§³É¹¦µÇ¼£¬ÏµÍ³½«Ö´ÐÐÒ»¸ö³ÆΪshellµÄ³ÌÐò¡£ÕýÊÇshell½ø³ÌÌṩÁËÃüÁîÐÐÌáʾ·û¡£×÷Ϊ
ĬÈÏÖµ(TurboLinuxϵͳĬÈϵÄshellÊÇBASH)£¬¶ÔÆÕͨÓû§Óá°$¡±×÷Ìáʾ·û£¬¶Ô³¬¼¶Óû§(root)Óá°#¡±×÷
Ìáʾ·û¡£
¡¡¡¡Ò»µ©³öÏÖÁËshellÌáʾ·û£¬¾Í¿ÉÒÔ¼üÈëÃüÁîÃû³Æ¼°ÃüÁîËùÐèÒªµÄ²ÎÊý¡£shell½«Ö´ÐÐÕâЩÃüÁî¡£Èç¹ûÒ»
ÌõÃüÁ·ÑÁ˺ܳ¤µÄʱ¼äÀ´ÔËÐУ¬»òÕßÔÚÆÁÄ»ÉϲúÉúÁË´óÁ¿µÄÊä³ö£¬¿ÉÒÔ´Ó¼üÅÌÉÏ°´ctrl+c·¢³öÖжÏÐźÅ
À´ÖжÏËü(ÔÚÕý³£½áÊø֮ǰ£¬ÖÐÖ¹ËüµÄÖ´ÐÐ)¡£
¡¡¡¡µ±Óû§×¼±¸½áÊøµÇ¼¶Ô»°½ø³Ìʱ£¬¿ÉÒÔ¼üÈëlogoutÃüÁî¡¢exitÃüÁî»òÎļþ½áÊø·û(EOF)(°´ctrl+dʵÏÖ)
£¬½áÊøµÇ¼¡£
¡¡¡¡ÎÒÃÇÀ´ÊµÏ°Ò»ÏÂshellÊÇÈçºÎ¹¤×÷µÄ¡£
¡¡¡¡$ make work
¡¡¡¡make:***No rule to make target ¡®work¡¯. Stop.
¡¡¡¡$
¡¡¡¡×¢ÊÍ£ºmakeÊÇϵͳÖÐÒ»¸öÃüÁîµÄÃû×Ö£¬ºóÃæ¸ú×ÅÃüÁî²ÎÊý¡£ÔÚ½ÓÊÕµ½Õâ¸öÃüÁîºó£¬shell±ãÖ´ÐÐËü¡£±¾
ÀýÖУ¬ÓÉÓÚÊäÈëµÄÃüÁî²ÎÊý²»ÕýÈ·£¬ÏµÍ³·µ»ØÐÅÏ¢ºóÍ£Ö¹¸ÃÃüÁîµÄÖ´ÐС£
¡¡¡¡ÔÚÀý×ÓÖУ¬shell»áÑ°ÕÒÃûΪmakeµÄ³ÌÐò£¬²¢ÒÔworkΪ²ÎÊýÖ´ÐÐËü¡£makeÊÇÒ»¸ö¾³£±»ÓÃÀ´±àÒë´ó³ÌÐò
µÄ³ÌÐò£¬ËüÒÔ²ÎÊý×÷ΪĿ±êÀ´½øÐбàÒë¡£ÔÚ ¡°make work¡±ÖУ¬make±àÒëµÄÄ¿±êÊÇwork¡£ÒòΪmakeÕÒ²»µ½
ÒÔworkΪÃû×ÖµÄÄ¿±ê£¬Ëü±ã¸ø³ö´íÎóÐÅÏ¢±íʾÔËÐÐʧ°Ü£¬Óû§Óֻص½ÏµÍ³Ìáʾ·ûÏ¡£
¡¡¡¡ÁíÍ⣬Óû§¼üÈëÓйØÃüÁîÐкó£¬Èç¹ûshellÕÒ²»µ½ÒÔÆäÖеÄÃüÁîÃûΪÃû×ֵijÌÐò£¬¾Í»á¸ø³ö´íÎóÐÅÏ¢¡£
ÀýÈ磬Èç¹ûÓû§¼üÈ룺
¡¡¡¡$ myprog
¡¡¡¡bash:myprog:command not found
¡¡¡¡$
¡¡¡¡¿ÉÒÔ¿´µ½£¬Óû§µÃµ½ÁËÒ»¸öûÓÐÕÒµ½¸ÃÃüÁîµÄ´íÎóÐÅÏ¢¡£Óû§ÇôíÃüÁîºó£¬ÏµÍ³Ò»°ã»á¸ø³öÕâÑùµÄ´í
ÎóÐÅÏ¢¡£
¡¡¡¡shellµÄÖÖÀà
¡¡¡¡Linux ÖеÄshellÓжàÖÖÀàÐÍ£¬ÆäÖÐ×î³£Óõļ¸ÖÖÊÇBourne shell(sh)¡¢C shell(csh)ºÍKorn shell
(ksh)¡£ÈýÖÖshell¸÷ÓÐÓÅȱµã¡£Bourne shellÊÇUNIX×î³õʹÓõÄshell£¬²¢ÇÒÔÚÿÖÖUNIXÉ϶¼¿ÉÒÔʹÓá£
Bourne shellÔÚshell±à³Ì·½ÃæÏ൱ÓÅÐ㣬µ«ÔÚ´¦ÀíÓëÓû§µÄ½»»¥·½Ãæ×öµÃ²»ÈçÆäËû¼¸ÖÖshell¡£Linux²Ù×÷
ϵͳȱʡµÄshellÊÇBourne Again shell£¬ËüÊÇBourne shellµÄÀ©Õ¹£¬¼ò³ÆBash£¬ÓëBourne shellÍêÈ«Ïòºó
¼æÈÝ£¬²¢ÇÒÔÚBourne shellµÄ»ù´¡ÉÏÔö¼Ó¡¢ÔöÇ¿Á˺ܶàÌØÐÔ¡£Bash·ÅÔÚ/bin/bashÖУ¬ËüÓÐÐí¶àÌØÉ«£¬¿ÉÒÔ
ÌṩÈçÃüÁȫ¡¢ÃüÁî±à¼ºÍÃüÁîÀúÊ·±íµÈ¹¦ÄÜ£¬Ëü»¹°üº¬Á˺ܶàC shellºÍKorn shellÖеÄÓŵ㣬ÓÐÁé»î
ºÍÇ¿´óµÄ±à³Ì½Ó¿Ú£¬Í¬Ê±ÓÖÓкÜÓѺõÄÓû§½çÃæ¡£
¡¡¡¡C shellÊÇÒ»ÖÖ±ÈBourne shell¸üÊÊÓÚ±à³ÌµÄshell£¬ËüµÄÓï·¨ÓëCÓïÑÔºÜÏàËÆ¡£ LinuxΪϲ»¶Ê¹ÓÃC
shellµÄÈËÌṩÁËTcsh¡£TcshÊÇC shellµÄÒ»¸öÀ©Õ¹°æ±¾¡£Tcsh°üÀ¨ÃüÁîÐб༡¢¿É±à³Ìµ¥´Ê²¹È«¡¢Æ´Ð´Ð£
Õý¡¢ÀúÊ·ÃüÁîÌæ»»¡¢×÷Òµ¿ØÖƺÍÀàËÆCÓïÑÔµÄÓï·¨£¬Ëü²»½öºÍBash shellÊÇÌáʾ·û¼æÈÝ£¬¶øÇÒ»¹Ìṩ±ÈBash
shell¸ü¶àµÄÌáʾ·û²ÎÊý¡£
¡¡¡¡Korn shell¼¯ºÏÁËC shellºÍBourne shellµÄÓŵ㲢ÇÒºÍBourne shellÍêÈ«¼æÈÝ¡£LinuxϵͳÌṩÁË
pdksh(kshµÄÀ©Õ¹)£¬ËüÖ§³ÖÈÎÎñ¿ØÖÆ£¬¿ÉÒÔÔÚÃüÁîÐÐÉϹÒÆ𡢺ǫִ́ÐС¢»½ÐÑ»òÖÕÖ¹³ÌÐò¡£
¡¡¡¡Linux ²¢Ã»ÓÐÀäÂäÆäËûshellÓû§£¬»¹°üÀ¨ÁËһЩÁ÷ÐеÄshellÈçash¡¢zshµÈ¡£Ã¿¸öshell¶¼ÓÐËüµÄÓÃ;
£¬ÓÐЩshellÊÇÓÐרÀûµÄ£¬ÓÐЩÄÜ´Ó InternetÍøÉÏ»òÆäËûÀ´Ô´»ñµÃ¡£Òª¾ö¶¨Ê¹ÓÃÄĸöshell£¬Ö»Ðè¶Áһϸ÷
ÖÖshellµÄÁª»ú°ïÖú£¬²¢ÊÔÓÃһϡ£
¡¡¡¡Óû§ÔڵǼµ½LinuxʱÓÉ/etc/passwdÎļþÀ´¾ö¶¨ÒªÊ¹ÓÃÄĸöshell¡£ÀýÈ磺
¡¡¡¡# fgrep lisa /etc/passwd
¡¡¡¡lisa:x:500:500:TurboLinux User:/home/lisa:/bin/bash
¡¡¡¡shell±»ÁÐÿÐеÄĩβ(/bin/bash)¡£
¡¡¡¡ÓÉÓÚBashÊÇLinuxÉÏȱʡµÄshell£¬±¾ÕÂÖ÷Òª½éÉÜBash¼°ÆäÏà¹Ø֪ʶ¡£
¡¡¡¡shellÃüÁî
¡¡¡¡ÃüÁîÐÐc
¡¡¡¡Óû§µÇ¼µ½Linuxϵͳʱ£¬¿ÉÒÔ¿´µ½Ò»¸öshellÌáʾ·û£¬±êʶÁËÃüÁîÐеĿªÊ¼¡£Óû§¿ÉÒÔÔÚÌáʾ·ûºóÃæ
ÊäÈëÈκÎÃüÁî¼°²ÎÊý¡£ÀýÈ磺
¡¡¡¡$ date
¡¡¡¡¶þ 11 23 01:34:58 CST 1999
¡¡¡¡$
¡¡¡¡Óû§µÇ¼ʱ£¬Êµ¼Ê½øÈëÁËshell£¬Ëü×ñÑÒ»¶¨µÄÓï·¨½«ÊäÈëµÄÃüÁî¼ÓÒÔ½âÊͲ¢´«¸øϵͳ¡£ÃüÁîÐÐÖÐÊäÈë
µÄµÚÒ»¸ö×Ö±ØÐëÊÇÒ»¸öÃüÁîµÄÃû×Ö£¬µÚ¶þ¸ö×ÖÊÇÃüÁîµÄÑ¡Ïî»ò²ÎÊý£¬ÃüÁîÐÐÖеÄÿ¸ö×Ö±ØÐëÓÉ¿Õ¸ñ»òTAB¸ô
¿ª£¬¸ñʽÈçÏ£º
¡¡¡¡$ Command Option Arguments
¡¡¡¡1. Ñ¡ÏîºÍ²ÎÊý
¡¡¡¡Ñ¡ÏîÊÇ°üÀ¨Ò»¸ö»ò¶à¸ö×ÖĸµÄ´úÂ룬ËüÇ°ÃæÓÐÒ»¸ö¼õºÅ(¼õºÅÊDZØÒªµÄ£¬LinuxÓÃËüÀ´Çø±ðÑ¡ÏîºÍ²ÎÊý)
£¬Ñ¡Ïî¿ÉÓÃÓڸıäÃüÁîÖ´ÐеĶ¯×÷µÄÀàÐÍ¡£ÀýÈ磺
¡¡¡¡$ ls
¡¡¡¡motd passwd
¡¡¡¡$
¡¡¡¡ÕâÊÇûÓÐÑ¡ÏîµÄlsÃüÁ¿ÉÁгöµ±Ç°Ä¿Â¼ÖÐËùÓÐÎļþ£¬Ö»Áгö¸÷¸öÎļþµÄÃû×Ö£¬¶ø²»ÏÔʾÆäËû¸ü¶àµÄ
ÐÅÏ¢¡£
¡¡¡¡$ ls -l
¡¡¡¡total 2
¡¡¡¡-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd
¡¡¡¡-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd
¡¡¡¡$
¡¡¡¡¼ÓÈë-lÑ¡Ï½«»áΪÿ¸öÎļþÁгöÒ»ÐÐÐÅÏ¢£¬ÖîÈçÊý¾Ý´óСºÍÊý¾Ý×îºó±»Ð޸ĵÄʱ¼ä¡£
¡¡¡¡´ó¶àÊýÃüÁ±»Éè¼ÆΪ¿ÉÒÔ½ÓÄɲÎÊý¡£²ÎÊýÊÇÔÚÃüÁîÐÐÖеÄÑ¡ÏîÖ®ºó¼üÈëµÄÒ»¸ö»ò¶à¸öµ¥´Ê£¬ÀýÈ磺
¡¡¡¡$ ls -l text
¡¡¡¡-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd
¡¡¡¡-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd
¡¡¡¡$
¡¡¡¡½«ÏÔʾtextĿ¼ÏµÄËùÓÐÎļþ¼°ÆäÐÅÏ¢¡£
¡¡¡¡ÓÐЩÃüÁÈçls¿ÉÒÔ´ø²ÎÊý£¬¶øÓÐһЩÃüÁî¿ÉÄÜÐèҪһЩ×îСÊýÄ¿µÄ²ÎÊý¡£ÀýÈ磬cpÃüÁîÖÁÉÙÐèÒªÁ½
¸ö²ÎÊý£¬Èç¹û²ÎÊýµÄÊýÄ¿ÓëÃüÁîÒªÇó²»·û£¬shell½«»á¸ø³ö³ö´íÐÅÏ¢¡£ÀýÈ磺
¡¡¡¡$ cp -i mydata newdata
¡¡¡¡×¢Ò⣺ÃüÁîÐÐÖÐÑ¡ÏîÏÈÓÚ²ÎÊýÊäÈë¡£
¡¡¡¡2. ÃüÁîÐÐÌØÕ÷
¡¡¡¡ÃüÁîÐÐʵ¼ÊÉÏÊÇ¿ÉÒԱ༵ÄÒ»¸öÎı¾»º³åÇø£¬ÔÚ°´»Ø³µÖ®Ç°£¬¿ÉÒÔ¶ÔÊäÈëµÄÎı¾½øÐб༡£±ÈÈçÀûÓÃ
BACKSPACE¼ü¿ÉÒÔɾ³ý¸Õ¼üÈëµÄ×Ö·û£¬¿ÉÒÔ½øÐÐÕûÐÐɾ³ý£¬»¹¿ÉÒÔ²åÈë×Ö·û£¬Ê¹µÃÓû§ÔÚÊäÈëÃüÁÓÈÆäÊÇ
¸´ÔÓÃüÁîʱ£¬Èô³öÏÖ¼üÈë´íÎó£¬ÎÞÐëÖØÐÂÊäÈëÕû¸öÃüÁֻҪÀûÓñ༲Ù×÷£¬¼´¿É¸ÄÕý´íÎó¡£
¡¡¡¡ÀûÓÃÉϼýÍ·¿ÉÒÔÖØÐÂÏÔʾ¸ÕÖ´ÐеÄÃüÁÀûÓÃÕâÒ»¹¦ÄÜ¿ÉÒÔÖظ´Ö´ÐÐÒÔÇ°Ö´ÐйýµÄÃüÁ¶øÎÞÐëÖØÐÂ
¼üÈë¸ÃÃüÁî¡£
¡¡¡¡bash ±£´æ×ÅÒÔÇ°¼üÈë¹ýµÄÃüÁîµÄÁÐ±í£¬ÕâÒ»ÁÐ±í±»³ÆΪÃüÁîÀúÊ·±í¡£°´¶¯ÉϼýÍ·£¬±ã¿ÉÒÔÔÚÃüÁîÐÐÉÏ
Öð´ÎÏÔʾ¸÷ÌõÃüÁͬÑù£¬°´¶¯Ï¼ýÍ·¿ÉÒÔÔÚÃüÁîÁбíÖÐÏòÏÂÒƶ¯£¬ÕâÑù¿ÉÒÔ½«ÒÔÇ°µÄ¸÷ÌõÃüÁîÏÔʾÔÚÃü
ÁîÐÐÉÏ£¬Óû§¿ÉÒÔÐ޸IJ¢Ö´ÐÐÕâЩÃüÁî¡£ÕâÒ»ÌØÕ÷½«ÔÚ10.4½ÚÖнøÐÐÏêϸµÄÂÛÊö¡£
¡¡¡¡ÔÚÒ»¸öÃüÁîÐÐÖл¹¿ÉÒÔÖÃÈë¶à¸öÃüÁÓ÷ֺŽ«¸÷¸öÃüÁî¸ô¿ª¡£ÀýÈ磺
¡¡¡¡$ ls -F;cp -i mydata newdata
¡¡¡¡Ò²¿ÉÒÔÔÚ¼¸¸öÃüÁîÐÐÖÐÊäÈëÒ»¸öÃüÁÓ÷´Ð±¸Ü½«Ò»¸öÃüÁîÐгÖÐøµ½ÏÂÒ»ÐС£
¡¡¡¡$ cp ¨Ci
¡¡¡¡mydata
¡¡¡¡newdata
¡¡¡¡ÉÏÃæµÄcpÃüÁîÊÇÔÚÈýÐÐÖÐÊäÈëµÄ£¬¿ªÊ¼µÄÁ½ÐÐÒÔ·´Ð±¸Ü½áÊø£¬°ÑÈýÐÐ×÷Ϊһ¸öÃüÁîÐС£
¡¡¡¡shellÖеÄÌØÊâ×Ö·û
¡¡¡¡shellÖгýʹÓÃÆÕͨ×Ö·ûÍ⣬»¹¿ÉÒÔʹÓÃһЩ¾ßÓÐÌØÊ⺬ÒåºÍ¹¦ÄܵÄÌØÊâ×Ö·û¡£ÔÚʹÓÃËüÃÇʱӦעÒâÆä
ÌØÊâµÄº¬ÒåºÍ×÷Ó÷¶Î§¡£ÏÂÃæ·Ö±ð¶ÔÕâЩÌØÊâ×Ö·û¼ÓÒÔ½éÉÜ¡£
¡¡¡¡1. ͨÅä·û
¡¡¡¡Í¨Åä·ûÓÃÓÚģʽƥÅ䣬ÈçÎļþÃûÆ¥Å䡢·¾ÃûËÑË÷¡¢×Ö·û´®²éÕҵȡ£³£ÓõÄͨÅä·ûÓÐ*¡¢?ºÍÀ¨ÔÚ·½À¨
ºÅ£Û £ÝÖеÄ×Ö·ûÐòÁС£Óû§¿ÉÒÔÔÚ×÷ΪÃüÁî²ÎÊýµÄÎļþÃûÖаüº¬ÕâЩͨÅä·û£¬¹¹³ÉÒ»¸öËùνµÄ¡°Ä£Ê½´®¡±
£¬ÔÚÖ´Ðйý³ÌÖнøÐÐģʽƥÅä¡£
¡¡¡¡* ´ú±íÈκÎ×Ö·û´®(³¤¶È¿ÉÒÔ²»µÈ)£¬ÀýÈ磺¡°f*¡±Æ¥ÅäÒÔf´òÍ·µÄÈÎÒâ×Ö·û´®¡£µ«Ó¦×¢Ò⣬ÎļþÃûÇ°µÄ
Ô²µã(.)ºÍ·¾ÃûÖеÄбÏß(/)±ØÐëÏÔʽƥÅä¡£ÀýÈç¡°*¡±²»ÄÜÆ¥Åä.file£¬¶ø¡°.*¡±²Å¿ÉÒÔÆ¥Åä.file¡£
¡¡¡¡? ´ú±íÈκε¥¸ö×Ö·û¡£
¡¡¡¡£Û£Ý´ú±íÖ¸¶¨µÄÒ»¸ö×Ö·û·¶Î§£¬Ö»ÒªÎļþÃûÖÐ£Û £ÝλÖô¦µÄ×Ö·ûÔÚ£Û£ÝÖÐÖ¸¶¨µÄ·¶Î§Ö®ÄÚ£¬ÄÇôÕâ¸ö
ÎļþÃû¾ÍÓëÕâ¸öģʽ´®Æ¥Åä¡£·½À¨ºÅÖеÄ×Ö·û·¶Î§¿ÉÒÔÓÉÖ±½Ó¸ø³öµÄ×Ö·û×é³É£¬Ò²¿ÉÒÔÓɱíʾÏÞ¶¨·¶Î§µÄ
Æðʼ×Ö·û¡¢ÖÕÖ¹×Ö·û¼°ÖмäµÄÁ¬×Ö·û(-)×é³É¡£ÀýÈ磬f £Ûa- d£Ý Óëf £Ûabcd£ÝµÄ×÷ÓÃÏàͬ¡£Shell½«°ÑÓë
ÃüÁîÐÐÖÐÖ¸¶¨µÄģʽ´®ÏàÆ¥ÅäµÄËùÓÐÎļþÃû¶¼×÷ΪÃüÁîµÄ²ÎÊý£¬ÐγÉ×îÖÕµÄÃüÁȻºóÔÙÖ´ÐÐÕâ¸öÃüÁî¡£
¡¡¡¡ÏÂÃæÎÒÃǸø³ö±í10-1˵Ã÷ÕâЩͨÅä·ûµÄ¾ßÌ庬Òå¡£
¡¡¡¡±í10-1¡¡Í¨Åä·ûº¬Òå¾ÙÀý
¡¡¡¡Ä£Ê½´®
¡¡¡¡Òâ Òå
¡¡¡¡*
¡¡¡¡µ±Ç°Ä¿Â¼ÏÂËùÓÐÎļþµÄÃû³Æ¡£
¡¡¡¡*Text*
¡¡¡¡µ±Ç°Ä¿Â¼ÏÂËùÓÐÎļþÃûÖаüº¬ÓÐTextµÄÎļþµÄÃû³Æ¡£
¡¡¡¡£Ûab-dm£Ý*
¡¡¡¡µ±Ç°Ä¿Â¼ÏÂËùÓÐÒÔa¡¢b¡¢c¡¢d¡¢m¿ªÍ·µÄÎļþµÄÃû³Æ¡£
¡¡¡¡£Ûab-dm£Ý?
¡¡¡¡µ±Ç°Ä¿Â¼ÏÂËùÓÐÒÔa¡¢b¡¢c¡¢d¡¢m¿ªÍ·ÇÒºóÃæÖ»¸úÓÐÒ»¸ö×Ö·ûµÄÎļþµÄÃû³Æ¡£
¡¡¡¡/usr/bin/??
¡¡¡¡Ä¿Â¼/usr/binÏÂËùÓÐÃû³ÆΪÁ½¸ö×Ö·ûµÄÎļþµÄÃû³Æ¡£
¡¡¡¡ÌرðÐèҪעÒâµÄÊÇ£¬Á¬×Ö·û¡°-¡±½öÔÚ·½À¨ºÅÄÚÓÐЧ£¬±íʾ×Ö·û·¶Î§£¬ÈçÔÚ·½À¨ºÅÍâÃæ¾Í³ÉΪÆÕͨ×Ö·û
ÁË¡£¶ø*ºÍ?Ö»ÔÚ·½À¨ºÅÍâÃæÊÇͨÅä·û£¬Èô³öÏÖÔÚ·½À¨ºÅÖ®ÄÚ£¬ËüÃÇҲʧȥͨÅä·ûµÄÄÜÁ¦£¬³ÉΪÆÕͨ×Ö·ûÁË
¡£ÀýÈ磬ģʽ¡°- a£Û*?£Ýabc¡±ÖÐÖ»ÓÐÒ»¶Ô·½À¨ºÅÊÇͨÅä·û£¬*ºÍ?¾ùΪÆÕͨ×Ö·û£¬Òò´Ë£¬ËüÆ¥ÅäµÄ×Ö·û´®
Ö»ÄÜÊÇ- a*abcºÍ- a?abc¡£
¡¡¡¡×îºó˵Ã÷Ò»ÏÂʹÓÃͨÅä·ûʱÐèҪעÒâµÄһЩÎÊÌâ¡£ÓÉÓÚ*¡¢?ºÍ£Û£Ý¶ÔÓÚshellÀ´Ëµ¾ßÓбȽÏÌØÊâµÄÒâÒå
£¬Òò´ËÔÚÕý³£µÄÎļþÃûÖв»Ó¦³öÏÖÕâЩ×Ö·û¡£ÌرðÊÇÔÚĿ¼ÃûÖв»Òª³öÏÖËüÃÇ£¬·ñÔòShellÆ¥ÅäÆðÀ´¿ÉÄÜ»á
ÎÞÇîµÄµÝ¹éÏÂÈ¥¡£ÁíÍâҪעÒâµÄÒ»µãÊÇ£ºÈç¹ûĿ¼ÖÐûÓÐÓëÖ¸¶¨µÄģʽ´®ÏàÆ¥ÅäµÄÎļþÃû£¬ÄÇôShell½«Ê¹
ÓôËģʽ´®±¾Éí×÷Ϊ²ÎÊý´«¸øÓйØÃüÁî¡£Õâ¿ÉÄܾÍÊÇÃüÁîÖгöÏÖÌØÊâ×Ö·ûµÄÔÒòËùÔÚ¡£
¡¡¡¡2. ÒýºÅ
¡¡¡¡ÔÚshellÖÐÒýºÅ·ÖΪÈýÖÖ£ºµ¥ÒýºÅ£¬Ë«ÒýºÅºÍ·´ÒýºÅ¡£
¡¡¡¡* µ¥ÒýºÅ ¡®
¡¡¡¡Óɵ¥ÒýºÅÀ¨ÆðÀ´µÄ×Ö·û¶¼×÷ΪÆÕͨ×Ö·û³öÏÖ¡£ÌØÊâ×Ö·ûÓõ¥ÒýºÅÀ¨ÆðÀ´ÒÔºó£¬Ò²»áʧȥÔÓÐÒâÒ壬¶ø
Ö»×÷ΪÆÕͨ×Ö·û½âÊÍ¡£ÀýÈ磺
¡¡¡¡$ string=¡¯$PATH¡¯
¡¡¡¡$ echo $string
¡¡¡¡$PATH
¡¡¡¡$
¡¡¡¡¿É¼û$±£³ÖÁËÆä±¾ÉíµÄº¬Ò壬×÷ΪÆÕͨ×Ö·û³öÏÖ¡£
¡¡¡¡* Ë«ÒýºÅ ¡°
¡¡¡¡ÓÉË«ÒýºÅÀ¨ÆðÀ´µÄ×Ö·û£¬³ý$¡¢¡¢¡¯¡¢ºÍ¡±Õ⼸¸ö×Ö·ûÈÔÊÇÌØÊâ×Ö·û²¢±£ÁôÆäÌØÊ⹦ÄÜÍ⣬ÆäÓà×Ö·ûÈÔ
×÷ΪÆÕͨ×Ö·û¶Ô´ý¡£¶ÔÓÚ$À´Ëµ£¬¾ÍÊÇÓÃÆäºóÖ¸¶¨µÄ±äÁ¿µÄÖµÀ´´úÌæÕâ¸ö±äÁ¿ºÍ$£»¶ÔÓÚ¶øÑÔ£¬ÊÇתÒå×Ö·û
£¬Ëü¸æËßshell²»Òª¶ÔÆäºóÃæµÄÄǸö×Ö·û½øÐÐÌØÊâ´¦Àí£¬Ö»µ±×÷ÆÕͨ×Ö·û¼´¿É¡£¿ÉÒÔÏë¼û£¬ÔÚË«ÒýºÅÖÐÐèÒª
ÔÚÇ°Ãæ¼ÓÉϵÄÖ»ÓÐËĸö×Ö·û$£¬£¬¡¯ºÍ¡±±¾Éí¡£¶ø¶Ô¡±ºÅ£¬ÈôÆäÇ°ÃæûÓмӣ¬ÔòShell»á½«Ëüͬǰһ¸ö¡±ºÅ
Æ¥Åä¡£
¡¡¡¡ÀýÈ磬ÎÒÃǼٶ¨PATHµÄֵΪ.:/usr/bin:/bin£¬ÊäÈëÈçÏÂÃüÁ
¡¡¡¡$ TestString£½¡±$PATH\¡±$PATH¡±
¡¡¡¡$ echo $TestString
¡¡¡¡.:/usr/bin:/ bin¡±$PATH
¡¡¡¡$
¡¡¡¡¶ÁÕß¿ÉÒÔ×Ô¼ºÊÔÒ»ÏÂÔÚµÚ¶þ¸öË«ÒýºÅ֮ǰ²»¼Ó»á²úÉúʲô½á¹û¡£
¡¡¡¡* ·´ÒýºÅ `
¡¡¡¡·´ÒýºÅ(`)Õâ¸ö×Ö·ûËù¶ÔÓ¦µÄ¼üÒ»°ãλÓÚ¼üÅ̵Ä×óÉϽǣ¬²»Òª½«Æäͬµ¥ÒýºÅ(¡¯)»ìÏý¡£·´ÒýºÅÀ¨ÆðÀ´µÄ
×Ö·û´®±»shell½âÊÍΪÃüÁîÐУ¬ÔÚÖ´ÐÐʱ£¬shellÊ×ÏÈÖ´ÐиÃÃüÁîÐУ¬²¢ÒÔËüµÄ±ê×¼Êä³ö½á¹ûÈ¡´úÕû¸ö·´Òý
ºÅ(°üÀ¨Á½¸ö·´ÒýºÅ)²¿·Ö¡£ÀýÈ磺
¡¡¡¡$ pwd
¡¡¡¡/home/xyz
¡¡¡¡$ string=¡±current directory is `pwd`¡±
¡¡¡¡$ echo $string
¡¡¡¡current directour is /home/xyz
¡¡¡¡$
¡¡¡¡shellÖ´ÐÐechoÃüÁîʱ£¬Ê×ÏÈÖ´ÐÐ`pwd`ÖеÄÃüÁîpwd£¬²¢½«Êä³ö½á¹û/home/xyzÈ¡´ú`pwd`Õⲿ·Ö£¬×îºó
Êä³öÌæ»»ºóµÄÕû¸ö½á¹û¡£
¡¡¡¡ÀûÓ÷´ÒýºÅµÄÕâÖÖ¹¦ÄÜ¿ÉÒÔ½øÐÐÃüÁîÖû»£¬¼´°Ñ·´ÒýºÅÀ¨ÆðÀ´µÄÖ´Ðнá¹û¸³Öµ¸øÖ¸¶¨±äÁ¿¡£ÀýÈ磺
¡¡¡¡$ today=`date`
¡¡¡¡$ echo Today is $today
¡¡¡¡Today is Mon Apr 15 16:20:13 CST 1999
¡¡¡¡$
¡¡¡¡·´ÒýºÅ»¹¿ÉÒÔǶÌ×ʹÓᣵ«Ðè×¢Ò⣬ǶÌ×ʹÓÃʱÄÚ²ãµÄ·´ÒýºÅ±ØÐëÓ÷´Ð±Ïß()½«ÆäתÒå¡£ÀýÈ磺
¡¡¡¡$ abc=`echo The number of users is `who| wc-l``
¡¡¡¡$ echo $abc
¡¡¡¡The number of users is 5
¡¡¡¡$
¡¡¡¡ÔÚ·´ÒýºÅÖ®¼äµÄÃüÁîÐÐÖÐÒ²¿ÉÒÔʹÓÃshellµÄÌØÊâ×Ö·û¡£ShellΪµÃµ½``ÖÐÃüÁîµÄ½á¹û£¬Ëüʵ¼ÊÉÏҪȥ
Ö´ÐÐ``ÖÐÖ¸¶¨µÄÃüÁî¡£Ö´ÐÐʱ£¬ÃüÁîÖеÄÌØÊâ×Ö·û£¬Èç$£¬¡±£¬?µÈÓÖ½«¾ßÓÐÌØÊ⺬Ò壬²¢ÇÒ``Ëù°üº¬µÄ¿É
ÒÔÊÇÈκÎÒ»¸öºÏ·¨µÄShellÃüÁÈ磺
¡¡¡¡$ ls
¡¡¡¡note readme.txt Notice Unix.dir
¡¡¡¡$ TestString£½¡±`echo $HOME ` ` ls £ÛnN£Ý*`¡±
¡¡¡¡$ echo $TestString
¡¡¡¡/home/yxz note Notice
¡¡¡¡$
¡¡¡¡ÆäËûÇé¿ö£¬¶ÁÕß¿É×ÔÐÐÊÔÖ®¡£
¡¡¡¡1. ×¢ÊÍ·û
¡¡¡¡ÔÚshell±à³ÌÖо³£Òª¶ÔijЩÕýÎÄÐнøÐÐ×¢ÊÍ£¬ÒÔÔö¼Ó³ÌÐòµÄ¿É¶ÁÐÔ¡£ÔÚShellÖÐÒÔ×Ö·û¡°#¡±¿ªÍ·µÄÕý
ÎÄÐбíʾעÊÍÐС£
¡¡¡¡´ËÍ⻹ÓÐһЩÌØÊâ×Ö·ûÈ磺ÓÃÓÚÊäÈë/Êä³öÖض¨ÏòÓë¹ÜµÀµÄ<¡¢>¡¢<<¡¢>>ºÍ|£»Ö´Ðкǫ́ÃüÁîµÄ&£»ÃüÁî
Ö´ÐвÙ×÷·û&&ºÍ||¼°±íʾÃüÁî×éµÄ{}½«ÔÚÏÂÃæ¸÷С½ÚÖмÓÒÔ½éÉÜ¡£ |