Ⅰ linux涓嬫渶甯哥敤鐨凷hell鍛戒護鐨勪粙緇
鏈変簺浜轟粛鐒朵細鏈夎繖縐嶆剼錩㈢殑鎯蟲硶錛屼粬浠璁や負浣跨敤Linux灝卞繀欏諱嬌鐢↙inux shell鍛戒護銆傝儭璇達紒浣犲彲浠ヤ笉鎳傚緱浠諱綍Linux鍛戒護錛屾瘮濡傝磒s錛実rep錛宭s絳夛紝浣嗘槸浣犱粛鐒跺彲浠ヤ嬌鐢ㄥ緢澶氱幇浠g殑Linux妗岄潰鍙戣岀増銆
Linux鐨勭郴緇熺$悊鍛樹笌妗岄潰鐢ㄦ埛涓嶄竴鏍鳳紝浠栦滑涓嶅儚妗岄潰鐢ㄦ埛涓鏍蜂嬌鐢–innamon錛孏NOME錛孶nity錛屾垨鑰匥DE錛屼粬浠鎵鏈夌殑鏃墮棿閮芥槸鐢↙inux鍛戒護銆
瀵逛簬妗岄潰鐢ㄦ埛鏉ヨ詫紝鑻ユ槸浜嗚В涓閮ㄥ垎Linux鍛戒護錛屼綘鍙浠ユ洿濂界殑浣跨敤Linux錛屼綋楠屽畠鐨勯瓍鍔涳紝涓嬮潰鍒椾婦鍑轟簡涓浜涳細
Shell鍩虹錛
浣犲彲浠ラ氳繃鎵撳紑Linux鐨則erminal錛堢粓絝錛夋潵鎵ц孲hell鍛戒護銆係hell鐨勭嶇被鏈夊緢澶氱嶏紝渚嬪侰SH錛孊ourne Shell錛孠orn Shell銆傚湪鐜板湪鐨勫ぇ澶氭暟Linux鍙戣岀増涓錛岄粯璁ょ殑Shell涓鑸閮芥槸Bourne again shell(bash)銆
鎯崇湅鐪嬩綘鐨凷hell鏄鍝涓縐嶏紝鎵ц屼笅闈㈢殑鍛戒護
echo $SHELL
鍦↙inux涓錛$絎﹀彿浠h〃涓涓猻hell鍙橀噺銆傛墍鏈夌殑shell閮界敤榪欑嶆柟寮忎嬌鐢ㄥ彉閲忋傛湁涓浜泂hell鍙橀噺鍦ㄤ綘鐨勭郴緇熷惎鍔ㄧ殑鏃跺欏氨鏈変簡榛樿ゅ箋備緥濡傦紝$SHELL錛$LOGNAME鏄浣犵殑鐧誨綍鍚嶏紝鑰$PATH鍙橀噺鎸囨槑浜嗕綘鐨剆hell鍛戒護鐨勬悳緔㈣寖鍥淬
echo鍛戒護鐨勪綔鐢ㄥ氨鏄鎵撳嵃鍑轟綘鐨勮緭鍏ャ傚傛灉浣犵殑杈撳叆鍏鋒湁shell鐨勭壒孌婃剰涔夛紝渚嬪俿hell鍙橀噺錛屼粬灝辮緭鍑哄彉閲忕殑鍊箋
涓涓閲嶈佺殑鍦版柟鏄錛屼綘瑕佹敞鎰忔枃鏈鐨勫ぇ灝忓啓銆備緥濡傦紝ls錛屾槸DOS鐨刣ir鍛戒護鐨凩inux鐗堟湰銆傝繖涓鍛戒護鍒楀嚭褰撳墠宸ヤ綔鐩褰曚笅鐨勬枃浠跺垪琛ㄣ傚傛灉浣犺緭鍏ョ殑鏄疞S錛屼綘寰楀埌鐨勫彧鑳芥槸鈥滄壘涓嶅埌鍛戒護鈥濈殑閿欒淇℃伅銆
鍙﹀栧湪Linux shell鍛戒護涓涓涓閲嶈佺殑鍦版柟鏄錛屼綘鍙浠ュ皢鍛戒護涓茶搗鏉ャ傝繖鏄疷nix/Linux浠庣涓澶╁紑濮嬪氨鏈夌殑宸у欑殑鐗圭偣銆傛渶綆鍗曠殑灝嗗懡浠よ繛璧鋒潵鐨勫姙娉曞氨鏄浣跨敤鈥渱鈥濓紝鎴戜滑縐頒箣涓衡減ipe鈥濄傜涓涓鍛戒護鐨勮緭鍑哄氨鏄涓嬩竴涓鍛戒護鐨勮緭鍏ャ
Linux鍛戒護鏈夎嚜宸辯殑璇娉曡勫垯錛
鍩烘湰鐨勮娉曞氨鍍忚繖鏍鳳細
command -option file
渚嬪傦細
ls -la
榪欒屽懡浠ょ殑鎰忎箟鏄杈撳嚭褰撳墠鐩褰曠殑鎵鏈夋枃浠剁殑鏂囦歡鍚嶏紝l浠h〃鈥渓ong鈥濓紝a浠h〃鈥渁ll鈥濓紝鏈変簡l閫夐」錛屼綘浼氬彂鐜幫紝杈撳嚭鐨勫唴瀹規瘮杈冧赴瀵岋紝涓嶅彧鍖呮嫭鏂囦歡 鍚嶏紝榪樻湁鏂囦歡鐨勮塊棶鏉冮檺錛屾墍鏈夎咃紝鎵灞炵粍絳夈備綘浼氬彂鐜拌繖涓鍛戒護浼氬湪灞忓箷涓婅緭鍑哄ぇ閲忕殑淇℃伅錛屽傛灉褰撳墠鐩褰曠殑鏂囦歡姣旇緝澶氱殑璇濄
鐜板湪灝辨槸鈥減ipe鈥濆嚭鍦虹殑鏃跺欎簡銆
ls -la | more
浣犱細鍦ㄥ睆騫曚笂鐪嬪埌濡備笅淇℃伅錛
浣犱篃鍙浠ュ湪澶у氭暟Linux鍛戒護涓浣跨敤閫氶厤絎︺傞氶厤絎﹀氨鏄鍙浠ヤ唬琛ㄦ枃浠跺悕涓浠諱綍鏈鐭ョ殑瀛楃︽垨瀛楃︿覆銆備緥濡傦紝*灝變唬琛ㄤ換鎰忓瓧絎︿覆錛岋紵浠h〃鍗曚釜瀛楃︺備緥濡傦細
ls -l a*
榪欎釜鍛戒護浼氬垪鍑哄湪褰撳墠宸ヤ綔鐩褰曚笅鎵鏈夌殑浠ュ皬鍐檃寮澶寸殑鏂囦歡錛屾瘮濡傝碼bc.txt錛宎lpha.jpg絳夌瓑銆
ls a錛焎d
榪欐潯鍛戒護浼氬垪鍑烘墍鏈変互灝忓啓a寮澶撮殧涓涓鏈鐭ュ瓧絎︿互灝忓啓cd緇撳熬鐨勬墍鏈夋枃浠躲備緥濡俛dcd錛宎xcd錛屼絾鏄涓嶄細鍒楀嚭adfdcd錛屼篃涓嶄細鍒楀嚭axcd.txt銆
涓浜涘父鐢ㄧ殑鍛戒護
man錛氬傛灉浣犳兂浜嗚В姣忎竴涓鍛戒護浠h〃浠涔堝惈涔変互鍙婁粬鐨勭敤娉曪紝浣犲氨鍙浠ヤ嬌鐢╩an(鎰忎箟涓簃anual)鍛戒護錛屼緥濡傦細
man ls
man杈撳嚭鐨勫唴瀹規槸涓虹郴緇熺$悊鍛樺拰寮鍙戣呯紪鍐欑殑錛屽傛灉浣犳兂浜嗚В鏇村氬懡浠ょ殑鐢ㄦ硶錛屼綘鍙浠ュ幓鎵劇綉緇滀笂鐨凩inux鍛戒護鏂囨。錛屾湁涓涓闈炲父鏂逛究鐨勫氨鏄涓瑰凹灝斅峰反闆風壒鐨凩inux鐨勮栫弽鎸囧崡銆
鍦ㄤ互鍓嶅傛灉浣犵湡鐨勬兂瀛︿範Linux鍜孶nix浣犲繀欏婚槄璇籱an鎵嬪唽銆傝屽湪2012騫寸殑浠婂ぉ錛岄潰瀵瑰傛ゅソ鐢ㄧ殑鍥懼艦鐣岄潰錛岃繖鍙ヨ瘽鏄懼緱涓嶆槸閭d箞鐨勯噸瑕侊紝浣嗘槸濡傛灉浣犳兂浜嗚ВLinux鏇存繁錛岄槄璇籱an鎵嬪唽浠嶇劧鏄涓涓濂界殑寮濮嬨
su鍜宻udo錛歴u鍛戒護鐨勪綔鐢ㄦ槸鍒囨崲鐢ㄦ埛錛岃繖涔熻縐頒負瓚呯駭鐢ㄦ埛錛屽洜涓哄湪鏈変簺緋葷粺涓璼u鍛戒護鍙浠ヤ嬌浣犱互緋葷粺鐨勬墍鏈夋潈闄愮敤鎴穜oot鐧誨綍銆傞櫎闈炰綘鏄緋葷粺綆$悊鍛橈紝鍚﹀垯鎴戠粷涓嶆帹鑽愪綘浣跨敤su鍒囨崲鍒皉oot錛屽洜涓鴻繖鍙鑳界粰浣犲甫鏉ュ緢澶氶夯鐑︺
涓涓鐩稿瑰畨鍏ㄧ殑澶氱殑鍔炴硶鏄浣跨敤sudo鍛戒護錛岃繖涓鍛戒護鍙浠ヤ笂浣犱互root鏉冮檺榪愯屼竴涓鍛戒護銆
榪欎袱涓鍛戒護閮介渶瑕佺郴緇熷瘑鐮併傚湪澶у氭暟Linux鐨勬岄潰鍙戣岀増涓榪欎袱涓鏄鐩稿悓鐨勶紝灝辨槸浣犵郴緇熺殑絎涓涓鐢ㄦ埛璁劇疆鐨勫瘑鐮併
grep錛歡rep鏄涓縐嶅己澶х殑鏂囨湰鎼滅儲宸ュ叿錛屽畠鑳戒嬌鐢ㄦe垯琛ㄨ揪寮忔悳緔㈡枃鏈錛屽苟鎶婂尮閰嶇殑琛屾墦鍗板嚭鏉ャ備緥濡傦細
grep foo /etc/passwd
榪斿洖鍦╬assword鏂囦歡涓鎵鏈夌殑鍚鏈塮oo鐨勮
grep -i 鈥渇oo鈥 /etc/passwd
-i閫夐」鏄蹇界暐澶у皬鍐欙紝榪欏氨鎰忓懗鐫鑻ユ煇涓琛屽惈鏈塅OO鎴朏Oo涔熶細琚鎼滅儲鍒般
grep榪樻敮鎸侀掑綊鎼滅儲錛
grep -r 鈥渇oo鈥 /home/sjvn
榪欐潯鍛戒護灝嗕細鎼滅儲/home/sjvn鐩褰曞強鍏跺瓙鐩褰曚笅鎵鏈夌殑鍖呭惈鈥渇oo鈥濈殑琛
grep涔熼氬父涓庡叾浠栧懡浠や覆榪炶搗鏉ヤ嬌鐢錛屼緥濡傦細
ls -la | grep foo*
鍒楀嚭褰撳墠鐩褰曚笅浠諱綍浠foo寮澶寸殑鏂囦歡鎴栫洰褰曘備緥濡傚備笅鏂囦歡灝嗚鍖歸厤錛歠oo錛宖oobar錛宖oolish.txt絳夌瓑銆
ps錛氭姤鍛婅繘紼嬬殑鐘舵併傛ゅ懡浠ゅ皢鏄劇ず鍝浜涚▼搴忔e湪榪愯屻傛垜浣跨敤PS鍜実rep姣斿叾浠栦換浣曞懡浠や嬌鐢ㄧ殑閮借佸氥
鐜板湪鍋囧備綘鏈変竴涓紼嬪簭榪愯屽嚭浜嗛敊璇錛屼綘涓嶈兘鍐嶆岄潰涓婃妸浠栧叧鎺夛紝錛堟垜鐪嬪噯浣犱簡錛岀伀鐙愶級錛屾垜榪愯屽備笅鍛戒護灝辮兘鏌ョ湅浠栫殑榪涚▼id錛
ps -ef | grep firefox
榪欐潯鍛戒護鍋氫簡濡備笅浜嬫儏錛
kill -9 1234
路絎涓錛屼粬鎵懼嚭鎵鏈夊綋鍓嶅湪鎴戠殑鐢佃剳涓婅繍琛岀殑紼嬪簭
路鐒跺悗grep鍛戒護鎵懼嚭榪欎簺鏂囦歡涓鍙鈥渇irefox鈥濈殑錛屾樉紺哄埌灞忓箷涓娿
路姣忎竴琛岄兘鏈変竴涓榪涚▼id鏁板瓧銆傛湁浜嗭紝鐜板湪鎴戝氨鍙浠ユ槸鐢...
kill錛氳繖鏉″懡浠ゅ氨鎯充粬鐨勫悕瀛椾竴鏍鳳紝浠栧彲浠ュ共鎺夋寚瀹氱殑榪涚▼銆傚共鎺夎繍琛岄敊璇鐨刦irefox鎴栬呭叾浠栨垜鎯沖共鎺夌殑榪涚▼銆
kill 1234
榪欏皢浼氬共鎺夋墍鏈夎繘紼媔d涓1234鐨勭▼搴忋備負浜嗙『淇濊繖涓紼嬪簭宸茬粡琚騫叉帀錛堝己琛岀粓姝錛夛紝鎴戜嬌鐢ㄤ笅闈㈢殑鍛戒護銆
clear錛氬傛灉浣犺夊緱浣犵殑灞忓箷涓婃湁澶澶氱殑涓滆タ錛岀湅璧鋒潵寰堣ㄥ帉錛屽彲浠ヤ嬌鐢╟lear鍛戒護娓呯┖銆
鏂囦歡/鐩褰曞懡浠
cp錛歝p浠h〃錛屽氨鏄澶嶅埗錛屼粬鍙浠ュ嶅埗涓涓鎴栧氫釜鏂囦歡鍒版寚瀹氱殑涓涓鎴栧氫釜鐩褰曚笅銆
涓涓閫氬父鐨勭敤娉曟槸錛
cp fred.txt ethel.txt
鎶奻red.txt涓鐨勫唴瀹瑰嶅埗鍒板綋鍓嶆枃浠跺す涓鍚嶄負ethel.txt涓
cp fred.txt /home/sjvn/docs/fred.txt
鎶奻red.txt澶嶅埗鍒版寚瀹氭枃浠朵腑銆
cp *.txt /home/sjvn/docs/
澶嶅埗褰撳墠鐩褰曚笅鎵鏈変互.txt緇撳熬鐨勬枃浠跺埌鎸囧畾鐨勭洰褰曚笅銆
cp -r /home/sjvn/docs/* /home/sjvn/backup
閫掑綊鐨勫嶅埗鍦/home/sjvn/docs/鐩褰曚笅鐨勬墍鏈夋枃浠跺埌鎸囧畾鐨勬枃浠跺す銆
hostname錛氭樉紺轟綘褰撳墠鐧誨綍榪涘幓鐨勮$畻鏈虹殑鍚嶇О銆
mv錛歮v錛堟剰涔変負move錛夐【鍚嶆濅箟灝辨槸縐誨姩錛屽彲浠ョЩ鍔ㄦ寚瀹氭枃浠跺埌鎸囧畾浣嶇疆銆傚綋鐒惰繖涓鍛戒護鏈夌殑鏃跺欒繕鍙浠ョ敤鏉ュ疄鐜伴噸鍛藉悕銆
渚嬪傦細
mv fred.txt ethel.txt
榪欐潯鍛戒護鐨勪綔鐢ㄤ綘鍙浠ョ畝鍗曠殑璁や負鏄閲嶅懡鍚峟red.txt涓篹thel.txt銆
褰撶劧姝ゅ懡浠よ繕鏈夊叾浠栫敤娉曪紝姝ゅ勪笉鍐嶄竴涓緗楀垪錛岀敤娉曚笌cp綾諱技錛屽彧鏄榪欐潯鍛戒護涓嶅啀淇濈暀鍘熸枃浠躲
rm錛歳m浠h〃remove錛屾槸鍒犻櫎鐨勬剰鎬濓紝鎵浠ユ垜榪愯岋細
rm fred.txt
鎴戝皢鍒犻櫎fred.txt銆
鎴戝己鐑堟帹鑽愪綘鍦ㄦ墽琛宺m鍛戒護鐨勬椂鍊欎嬌鐢-i閫夐」銆傝繖鍎塊夐」灝嗗湪浣犳墽琛屽懡浠ょ殑鏃跺欒㈤棶浣犳槸鍚﹁佺湡鐨勫垹闄ゆ枃浠躲傚氨鍍忚繖鏍鳳細
rm -i fred.txt
緋葷粺淇℃伅
uname錛歶name -a鍛戒護鐢ㄤ竴琛岀畝鐭鐨勭粰浣犳葷粨鐨勭數鑴戠殑鍩烘湰淇℃伅銆傝繖閫氬父鍖呮嫭浣犵殑鐢佃剳鍚嶇О錛孡inux鍐呮牳鐗堟湰錛屼綘鐨勫彂琛岀増鍚嶇О絳夈
瀵逛簬鏇磋︾粏鐨勪俊鎮錛屼綘鍙浠ヤ嬌鐢╟at鍛戒護錛屼粬鍙浠ユ樉紺轟綘鐨凩inux鐢佃剳涓鐨勬枃鏈淇℃伅銆
cat /proc/cpuinfo
灞曠ず浣犵殑CPU鐨勯噸瑕佺殑緇熻°
cat /proc/version
灞曠ず浣犵殑褰撳墠榪愯岀殑Linux鍙戣岀増鐨勮︾粏淇℃伅銆
cat /etc/printcap
灞曠ず浣犲綋鍓嶅畨瑁呯殑鎵撳嵃鏈恆
set | more錛 set|more
緇勫悎鍛戒護鍙浠ョ粰浣犳洿澶氱殑鍛㈠綋鍓嶇殑妗岄潰鐜澧冨彉閲忕殑淇℃伅銆傚崟濡傛灉浣犲彧鏄鎯崇煡閬撲綘緋葷粺鐜澧冨彉閲忎腑鐨勬煇涓涓鎴栦袱涓錛屽彲浠ユ墽琛屽備笅鍛戒護錛
echo $PATH
緇撴潫鎴栬呰存槸鍙︿竴涓寮濮
榪欓噷緇欎綘灞曠ず鐨勫彧涓嶈繃鏄疞inux鍛戒護鐨勮〃鐨銆傛垚鐧句笂鍗冪殑涔﹀拰緗戠珯鍙浠ョ粰浣犳洿澶氭洿澶嶆潅鐨勫備綍浣跨敤Linux鍛戒護鐨勫睍紺恆傛湰鏂囧彧鏄璁╀綘鍦ㄦ兂浜嗚В姣擫inux Gui鏇存繁涓灞傛椂鐨勫弬鑰冦
Ⅱ linux榛樿shell鏄浠涔坙inux榛樿shell
linux/bin/bash鏄浠涔堟剰鎬濓紵
/bin浠h〃鐨勬槸binary,浜岃繘鍒舵枃浠訛紝涓昏佸氨鏄涓浜涚郴緇熷懡浠わ紱榪樻湁涓涓甯哥敤鐨勭洰褰曟槸/usr/bin錛屽嚑涔庢墍鏈夌殑搴旂敤紼嬪簭鐨勫彲鎵ц屾枃浠墮兘瑁呰繖閲岀殑銆/bin/bash璇存槑浣犵殑shell綾誨瀷涓篵ash錛宐ashshell鏄鏈甯哥敤鐨勪竴縐峴hell,鏄澶у氭暟Linux鍙戣岀増榛樿ょ殑shell銆傛ゅ栬繕鏈塁shell絳夊叾瀹僺hell銆
linux涓榛樿ょ殑shell鏄浠涔堬紵
bash
Linux緋葷粺榛樿や嬌鐢ㄧ殑Shell鏄痓ash銆侺inuxshell錛歋hell鏄緋葷粺鐨勭敤鎴風晫闈錛屾彁渚涗簡鐢ㄦ埛涓庡唴鏍歌繘琛屼氦浜掓搷浣滅殑涓縐嶆帴鍙c傚畠鎺ユ敹鐢ㄦ埛杈撳叆鐨勫懡浠ゅ苟鎶婂畠閫佸叆鍐呮牳鍘繪墽琛屻傚疄闄呬笂Shell鏄涓涓鍛戒護瑙i噴鍣錛屽畠瑙i噴鐢辯敤鎴瘋緭鍏ョ殑鍛戒護騫朵笖鎶婂畠浠閫佸埌鍐呮牳銆
linux鍛戒護涓鐨剆h鏄浠涔堟剰鎬濓紵
Bourneshell(sh)鍙浠ヨ存槸涓涓騫沖彴.鐩存帴閫氬悜鍐呮牳鐨.浣犺緭鍏SH絳変簬鏀瑰彉浜嗕綘鐨剆helllinux榛樿ょ殑shell鏄痓ash浣犳敼鎴愪簡,bourneshell浣犺緭浜哹ash灝辨敼鍥炴潵鍟.$絎︿唬琛ㄦ櫘閫氱敤鎴.
鍦╨inux涓嬩粈涔堟槸bash.浠涔堝張鏄痵hell錛
bash鏄涓涓涓篏NU欏圭洰緙栧啓鐨刄nixshell錛屼篃灝辨槸linux鐢ㄧ殑shell銆
Shell淇楃О澹籌紙鐢ㄦ潵鍖哄埆浜庡唴鏍革級錛屾槸鎸団滄彁渚涗嬌鐢ㄨ呬嬌鐢ㄧ晫闈⑩濈殑杞浠訛紝灝辨槸涓涓鍛戒護琛岃В閲婂櫒銆
BASH鏄瘲HELL鐨勪竴縐嶏紝鏄澶у氭暟LINUX鍙戣岀増榛樿ょ殑SHELL錛岄櫎BASHSHELL澶栬繕鏈塁SHELL絳夊叾瀹冪被鍨嬬殑SHELL銆
Ⅲ 鍦↙inux鍛戒護琛屼笅鏌ヨ㈠綋鍓嶆墍浣跨敤鐨剆hell鐗堟湰涓庣嶇被鐨勬柟娉
鏈夊氱嶆柟寮忓彲浠ユ煡鐪嬩綘鐩鍓嶅湪浣跨敤浠涔 shell錛屾渶綆鍗曠殑鏂規硶灝辨槸閫氳繃浣跨敤 shell 鐨勭壒孌婂弬鏁般
鍏朵竴錛屼竴涓鍚嶄負 "$$" 鐨勭壒孌婂弬鏁 琛ㄧず褰撳墠浣犳e湪榪愯岀殑 shell 瀹炰緥鐨 PID銆傛ゅ弬鏁版槸鍙璇葷殑錛屼笉鑳借淇鏀廣傛墍浠ワ紝涓嬮潰鐨勫懡浠や篃灝嗘樉紺轟綘姝e湪榪愯岀殑 shell 鐨勫悕瀛楋細
浠g爜濡備笅:
$ ps -p $$
PID TTY TIME CMD
21666 pts/4 00:00:00 bash
涓婅堪鍛戒護鍙鍦ㄦ墍鏈夊彲鐢ㄧ殑 shell 涓宸ヤ綔銆
濡傛灉浣犱笉浣跨敤 csh錛屾壘鍒板綋鍓嶄嬌鐢ㄧ殑 shell 鐨勫彟澶栦竴涓鍔炴硶鏄浣跨敤鐗規畩鍙傛暟 鈥$0鈥 錛屽畠琛ㄧず褰撳墠姝e湪榪愯岀殑 shell 鎴 shell 鑴氭湰鐨勫悕縐般傝繖鏄 Bash 鐨勪竴涓鐗規畩鍙傛暟錛屼絾涔熷彲鐢ㄥ湪鍏朵粬 shell 涓錛屽 sh銆亃sh銆乼csh 鎴 dash銆備嬌鐢 echo 鍛戒護鍙浠ユ煡鐪嬩綘鐩鍓嶆e湪浣跨敤鐨 shell 鐨勫悕縐般
浠g爜濡備笅:
$ echo $0
bash
涓嶈佽涓涓鍙鍋 $SHELL 鐨勫崟鐙鐨勭幆澧冨彉閲忔墍榪鋒儜錛屽畠琚璁劇疆涓轟綘鐨勯粯璁 shell 鐨勫畬鏁磋礬寰勩傚洜姝わ紝榪欎釜鍙橀噺騫朵笉涓瀹氭寚鍚戜綘褰撳墠浣跨敤鐨 shell銆備緥濡傦紝鍗充嬌浣犲湪緇堢涓璋冪敤涓嶅悓鐨 shell錛$SHELL 涔熶繚鎸佷笉鍙樸
浠g爜濡備笅:
$ echo $SHELL
/bin/shell
銆鍥犳わ紝鎵懼嚭褰撳墠鐨剆hell錛屼綘搴旇ヤ嬌鐢 $$ 鎴 $0錛屼絾涓嶆槸 $SHELL銆
鎵懼嚭褰撳墠 Shell 鐨勭増鏈
涓鏃︿綘鐭ラ亾浣犱嬌鐢ㄧ殑鏄鍝涓 shell錛屼綘鍙鑳芥兂鐭ラ亾姝 shell 鐨勭増鏈銆備負姝わ紝鍦ㄥ懡浠よ屼腑杈撳叆 shell 騫跺湪鍚庨潰鍔犱笂 鈥--version鈥 鍙傛暟鍙浠ユ煡鐪嬬増鏈淇℃伅銆備緥濡傦細
瀵逛簬 bash shell :
浠g爜濡備笅:
$ bash --version
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
瀵逛簬 zsh shell:
p$ zsh --version
zsh 5.0.7 (x86_64-pc-linux-gnu)
瀵逛簬 tcsh shell: $ tcsh --version
浠g爜濡備笅:
tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,nd,color,filec
瀵逛簬鏌愪簺 shell錛屼綘榪樺彲浠ヤ嬌鐢 shell 鐗瑰畾鐨勫彉閲(渚嬪傦紝$BASHVERSION 鎴 $ZSHVERSION)銆
浠g爜濡備笅:
$ echo $BASH_VERSION
4.3.8(1)-release
Ⅳ linux中shell分多少種,都有什麼區別
Shell是一種腳本語言,那麼,就必須有解釋器來執行這些腳本,常見的腳本解釋器有:
bash:是Linux標准默認的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內部命令一共有40個。
sh: 由Steve Bourne開發,是Bourne Shell的縮寫,sh 是Unix 標准默認的shell。
另外還有:ash、 csh、 ksh等。
(4)shell命令默認shell擴展閱讀:
常見的編程語言分為兩類:一個是編譯型語言,如:c/c++/java等,它們遠行前全部一起要經過編譯器的編譯。另一個解釋型語言,執行時,需要使用解釋器一行一行地轉換為代碼,如:awk, perl, python與shell等。
Shell 經過了POSIX的標准化,所以它是可以在不同的linux系統上進行移植。
關於注釋的問題: 在shell中使用#進行注釋,注意,sh裡面沒有多行注釋,只能每一行加一個#號;
Ⅳ linux下的shell是什麼
什麼是shell
shell是用戶和Linux
操作系統
之間的
介面
。Linux中有多種shell,其中預設使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的
特性
。
什麼是shell
Linux系統的shell作為操作系統的
外殼
,為用戶提供使用操作系統的介面。它是
命令語言
、命令
解釋程序
及
程序設計語言
的統稱。
shell是用戶和
Linux內核
之間的介面
程序
,如果把Linux內核想像成一個
球體
的中心,shell就是圍繞
內核
的外層。當從shell或其他程序向Linux傳遞命令時,內核會做出相應的反應。
shell是一個命令語言
解釋器
,它擁有自己內建的shell命令集,shell也能被系統中其他
應用程序
所調用。用戶在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。
Shell是一種具備
特殊功能
的程序,
它是介於使用者和
UNIX/linux
操作系統之核心
程序(kernel)間的一個介面。為什麼我們說
shell
是一種介於系統核心程序與使用者
間的中介者呢?讀過操作系統概論的讀者們都知道操作系統是一個
系統資源
的管理者與分
配者,當您有需求時,您得向系統提出;從操作系統的角度來看,它也必須防止使用者因
為錯誤的操作而造成系統的傷害?眾所周知,對
計算機
下命令得透過命令(command)
或
是程序(program);程序有編譯器(compiler)將程序轉為
二進制代碼
,可是命令呢?
其實shell
也是一支程序,它由
輸入設備
讀取命令,再將其轉為計算機可以了解的機械碼,
然後執行它。
各種操作系統都有它自己的
shell,以
DOS
為例,它的
shell
就是
command.com文
件。如同
DOS
下有
NDOS,4DOS,DRDOS
等不同的命令解譯程序可以取代標準的
command.com
,UNIX
下除了
Bourne
shell(/bin/sh)
外還有
C
shell(/bin/csh)、
Korn
shell(/bin/ksh)、Bourne
again
shell(/bin/bash)、Tenex
C
shell(tcsh)
等其它的
shell。UNIX/linux將
shell
獨立於核心程序之外,
使得它就如同一般的應用
程序,
可以在不影響操作系統本身的情況下進行修改、更新版本或是添加新的功能。
有一些命令,比如改變工作目錄命令cd,是包含在shell
內部
的。還有一些命令,例如
拷貝
命令cp和移動命令rm,是存在於
文件系統
中某個目錄下的單獨的程序。對用戶而言,不必關心一個命令是建立在shell內部還是一個單獨的程序。
shell首先檢查命令是否是
內部命令
,若不是再檢查是否是一個應用程序(這里的應用程序可以是Linux本身的
實用程序
,如ls和rm,也可以是購買的商業程序,如xv,或者是
自由軟體
,如emacs)。然後shell在搜索
路徑
里尋找這些應用程序(搜索路徑就是一個能找到可執行程序的目錄列表)。如果鍵入的命令不是一個內部命令並且在路徑里沒有找到這個
可執行文件
,將會顯示一條錯誤信息。如果能夠成功找到命令,該內部命令或應用程序將被分解為
系統調用
並傳給Linux內核。
shell的另一個重要特性是它自身就是一個解釋型的程序設計語言,shell程序設計語言支持絕大多數在
高級語言
中能見到的程序
元素
,如
函數
、
變數
、
數組
和程序控制結構。shell
編程語言
簡單易學,任何在提示符中能鍵入的命令都能放到一個可執行的shell程序中。
當普通用戶成功登錄,系統將執行一個稱為shell的程序。正是shell進程提供了命令行提示符。作為默認值(TurboLinux系統默認的shell是BASH),對普通用戶用「$」作提示符,對超級用戶(root)用「#」作提示符。
一旦出現了shell提示符,就可以鍵入
命令名稱
及命令所需要的
參數
。shell將執行這些命令。如果一條命令花費了很長的時間來運行,或者在屏幕上產生了大量的輸出,可以從
鍵盤
上按ctrl+c發出中斷
信號
來中斷它(在正常結束之前,中止它的執行)。
當用戶准備結束登錄對話進程時,可以鍵入logout命令、exit命令或文件結束符(EOF)(按ctrl+d實現),結束登錄。
Ⅵ Windows 7下常用shell命令介紹
Windows7相對Vista的系統提升是較大的,穩定性、兼容性、人性化等都有較。而Windows7中的shell命令行,則是許多用戶都沒有發現的又一重要更新,Windows7 shell是Win7系統的控制台。對於熟悉了命令行的人來說,用鍵盤調用程序比滑鼠更快更省力。用戶可以用「Shell:」命令調用一切可以用資源管理器打開的項目一次完需要很多步驟才能完成的任務,並且使用時的語法也很簡單。但許多用戶都不知道shell命令有哪些,與可實現的操作,那麼接下來我們將對Vista之家下常用shell命令進行全面解析,幫助用戶了解新系統下的新命令。
shell:Profile
該命令可以打開凱塌肆用戶的總目錄。在常規安裝的情況下,位置是c:usersusername。你也可以通過點擊系統開始菜單上的用戶名稱訪問。也可以通過系統環境變數%userprofile%訪問。
shell:Personal
這個命令可以打開當前用戶的文檔文盯轎件夾。也可以通過點擊開始菜單中的我的文檔進行訪問。
shell:SendTo
這個命令可以訪問系統「發送到」文件夾。如果你進入你的個人文件夾,會發現這個文件夾是隱藏的,如果試圖雙擊進入,就會顯示錯誤信息,通過 shell命令則可以正常訪問。這是因為這個快捷方式實際上是個跳轉入口,為了向後兼容所創建。而真正的SendTo文件夾是隱藏在AppData文件夾下的若乾子文件夾。
shell:Public
這個命令可以打開公用共享文件夾。如果你使用了家庭組功能,這個命令可以在一個窗口之內先是信息。
shell:Common Startup和shell:Startup
這個命令可以顯示哪些程序在系統啟動時會自動啟動。有時程序安裝的時候會自動在啟動菜單中建立一個快捷方式。
shell:ConnectionsFolder
這個命令可以顯示當前網路連接。這個命令應該是查看當前網路連接最快捷的方式了。通常的方法是單擊網路和共享中心,然後選擇更改適配器設置查看。
shell:programs和shell:Common Programs
這兩個命令可以訪問當前用戶和系統用戶開始菜單中的程序列表。
shell:AppData和shell:Local AppData
這兩個命令可以打開Roaming Application Data(漫遊應用數據文件夾)Local Application Data(本地應用數據文件夾)。這兩個文件夾在日常應用中不常用到,你可以發現,像Firefox之類的應用程序在這個文件夾下存儲配置信息。
shell:Cookies和shell:cache
這兩個命令是查看Internet Explorer存儲信息最快捷的方式。
shell:Profile
當前登錄用戶的根目錄
shell:UsersFilesFolder
與shell:profile相同
shell:Personal
當前登錄用戶的「我的文檔」文件夾
shell:My Music
當前登錄用戶的「我的音樂」文件夾
shell:My Pictures
當前登錄用戶的「我的圖片」文件夾
shell:My Video
當前登錄用戶的「我的視頻」文件夾
shell:Contacts
當前登錄用戶的聯系人文件夾
shell:Desktop
當前登錄用戶的桌面文件夾
shell:Downloads
當前登錄用戶的下載文件夾
shell:Favorites
當前登錄用戶的Internet Explorer瀏覽器收藏夾
shell:Searches
當前登錄用戶的搜索文件夾,保存了已經存儲過的搜索結果
shell:Links
當前登錄用戶的衫神鏈接文件夾,保存了Internet Explorer瀏覽器的導航面板
shell:Public
訪問共享用戶文件夾
shell:Common Desktop
共享用戶桌面
shell:Common Documents
共享用戶我的文檔
shell:CommonDownloads
共享用戶下載文件夾
shell:CommonMusic
共享用戶音樂文件夾
shell:CommonPictures
共享用戶圖片文件夾