锘军?xml version="1.0" encoding="UTF-8"?> 涓嬮潰浠嬬粛鐨勯兘鏄竴浜涘懡浠よ宸ュ叿锛岃繖浜涘伐鍏峰湪鍑犱綅鍥炵瓟鑰呯殑鏃ュ父宸ヤ綔涓兘寰堟湁鐢ㄣ€傚浜庝换浣曚笉浜嗚В鐨勫懡浠わ紝璇蜂娇鐢ㄢ€渕an 鈥滄煡鐪嬶紝鎴栬€呬娇鐢℅oogle銆傛湁浜涘懡浠ら渶瑕佸厛鐢 yum, apt-get install 鍛戒护瀹夎銆侟/p>
鍩烘湰鍛戒护 浜嗚В鍩烘湰鐨刡ash 閫氳鏁翠釜bash man page. 瀛︿範vim 鍦↙inux绯荤粺涓婏紝铏界劧浣犳湁Emacs鍜孍clipse锛屼絾鏄疺IM浠嶇劧鏄棤鍑哄叾鍙崇殑鍒╁櫒銆侟/p>
浜嗚ВSSH锛屽熀鏈殑鏃犲瘑鐮侀獙璇佹柟寮忋€侟/p>
渚嬪閫氳繃ssh-agent, ssh-add绛夈€ 銆婄伒鐘€蹇楄叮銆嬪钩鏃堕兘浣跨敤濡備笅鑴氭湰瀹屾垚鏃犲瘑鐮侀獙璇侊紝鐪佷簨鐪佸姏銆侟/p>
鎵ц鏂瑰紡 sh nopasswd USER REMOTE_HOST 鎵ц姝よ剼鏈墠锛岃纭锛欬/p>
鏈満涓婂凡鏈堻span style="color: #ff0000;"> id_dsa.pub ,鑻ユ棤锛 浣跨敤鍛戒护 ssh-keygen -t dsa 鑾峰緱銆侟/p>
杩滅▼鏈轰笂鐧诲綍鐢ㄦ埛瀹剁洰褰曚笅锛屽凡缁忔湁 .ssh 鏂囦欢澶癸紝鑻ユ棤鍒涘缓涔嬨€侟/p>
$ cat nopasswd #!/bin/shscp ~/.ssh/id_dsa.pub $1@$2:~/ssh $1@$2 ” touch ~/.ssh/authorized_keys ; cat ~/id_dsa.pub >> ~/.ssh/authorized_keys; chmod 644聽 ~/.ssh/authorized_keys; exit” 鐔熸倝Bash涓父鐢ㄧ殑浠诲姟绠$悊鍛戒护 &,Ctrl-Z,Ctrl-C,jobs,fg,bg,kill 绛夈€侟/p>
鍩烘湰鐨勬枃浠剁鐞嗗懡浠|/p>
ls, ls-l, less, head, tail, tail -f, ln, ln -s, chmod, chown, du, du -sk *, df, mount 鍩烘湰鐨勭綉缁滅鐞嗗懡浠|/p>
ipconfig, ifconfig, dig 鐔熸倝姝e垯琛ㄨ揪寮忥紝浠ュ強 grep锛宔grep鐢ㄥ埌鐨勯€夐」 -o, -A, -B 杞欢瀹夎鍛戒护浜嗚В apt-get yum cat -n 鍙互甯姪鏄剧ず琛屽彿銆侟/p>
!!
鍐嶆鎵ц涓婁竴鏉″懡浠|/p>
!$
涓婁竴鏉″懡浠ょ殑鏈€鍚庝竴涓崟璇岦/p>
{a..b}
鎸夌収浠巃鍒癰椤哄簭鐨勪竴涓暟瀛楀垪琛?/p>
{a,b,c}
涓変釜璇峚,b,c. 鍙互杩欐牱浣跨敤 touch /tmp/{foo,bar,baz}
{$1-$9}
鎵цshell鑴氭湰鏃剁殑鍛戒护琛屽弬鏁?/p>
$0
姝e湪鎵ц鐨勫懡浠ゅ悕绉?/p>
$#
褰撳墠鍚姩鐨勫懡浠や腑浼犲叆鐨勫弬鏁颁釜鏁?/p>
$?
涓婁竴鏉″懡浠ょ殑鎵ц杩斿洖鍊笺€侟/p>
$$
璇hell鐨勮繘绋嬪彿銆侟/p>
$*
浠?1寮€濮嬶紝鍚姩璇hell鑴氭湰鐨勬墍鏈夊弬鏁般€侟/p>
Ctrl-R
鍦╞ash涓紝 Ctrl-R鐢ㄤ簬鍦ㄥ巻鍙插懡浠や腑鎼滅储Ctrl-W, Ctrl-U, Alt-BackSpace bash涓紝Ctrl-W鍒犻櫎鏈€鍚庝竴涓瘝锛孋trl-U鍒犻櫎鏈€鍚庝竴琛? Alt-BackSpace 鍒犻櫎鍏夋爣鍓嶇殑涓€涓瘝 man readline 涓寘鍚簡澶ч噺bash涓殑榛樿鐑敭缁戝畾.
cd –
杩斿洖鍓嶄竴涓伐浣滆矾寰凕/p>
xargs
闈炲父寮哄ぇ鐨勫懡浠ゃ€傚鏋滀綘杩樹笉纭畾鏄惁鑳芥纭殑鎵ц浠诲姟锛屽彲浠ュ厛鐢▁args echo鏌ョ湅銆備笅闈㈡槸涓€涓敤璇ュ姛鑳界殑渚嬪瓙锛欬/p>
find . -name \*.py | xargs grep some_function cat hosts | xargs -l {} ssh root@{} hostname
parallel
涓€涓洿鍔犲己澶х殑鍛戒护. 鍙互瀹炵幇骞惰鎵ц浠诲姟,骞跺彲浠ュ垎鍓茶緭鍏ユ枃浠? 鎸囧畾澶氫釜鑺傜偣鍚屾椂杩愯鍛戒护绛夊姛鑳?璇︾粏鐨勫姛鑳藉彲浠ュ弬鑰冭繖涓摼鎺?
pstree -p
鎵撶敤杩涚▼鏍戠殑寰楀姏宸ュ叿
pgrep,pkill
浣跨敤鍚嶅瓧鏌ユ壘杩涚▼锛屾垨鑰呯洿鎺ュ悜鎸囧畾鍚嶅瓧鐨勮繘绋嬪彂閫佷俊鍙枫€備簡瑙g敤鎴疯兘鍙戦€佺粰杩涚▼鐨勪竴浜涗俊鍙枫€傛瘮濡 kill -STOP [pid] 锛岃pid杩涚▼鎸傝捣銆侟/p>
nohup锛宒isown,screen, tmux
褰撲綘闇€瑕佸皢杩涚▼姘歌繙澶勫湪鍚庡彴杩愯鏄紝杩欎袱涓懡浠ゅ緢鏈夌敤銆侟/p>
lsof, netstat -lntp
鏌ヨ褰撳墠浠€涔堣繘绋嬪湪鐩戝惉浠€涔堢鍙c€侟/p>
set
鍦╞ash鑴氭湰涓紝 浣跨敤set -x鑾峰緱debug杈撳嚭锛屼娇鐢 set -e 鑾峰緱閿欒杈撳嚭銆侟/p>
;
鍒嗗彿鐢ㄤ簬寮€鍚竴涓瓙shell骞惰繍琛岃嚦缁撴潫鍚庡叧闂€ 渚嬪锛欬/p>
#鍦ㄥ綋鍓嶈矾寰勪笅鎵ц涓€浜涘懡浠|/p>
(cd /some/other/dir; other-command)
# 宸ヤ綔璺緞浠嶇劧鏄綋鍓嶇洰褰旤/p>
浜嗚Вshell涓殑澶氱鍙傛暟琛ㄨ揪寮廃/p>
${name:?error message}
妫€鏌ユ煇涓彉閲忔槸鍚﹀瓨鍦紝鑻ヤ笉瀛樺湪杈撳嚭 error message銆侟/p>
${var%suffix}, ${var#prefix}
杈撳嚭var鍙橀噺闄ゅ墠缂€鎴栬€呭悗缂€澶栫殑閮ㄥ垎銆傚涓嬮潰鐨勪唬鐮佽緭鍑轰负foo.txt.
var = foo.pdf
echo ${var%pdf}.txt
<,>
杈撳叆杈撳嚭閲嶅畾鍚戞搷浣溿€侟/p>
some_command > logfile 2>&1
灏 some_command 杩愯杩囩▼涓殑鏍囧噯杈撳嚭鍜屾爣鍑嗛敊璇緭鍑洪兘杈撳嚭鍒版枃浠秎ogfile涓€侟/p>
man ascii
鑾峰緱涓€涓ソ鐢ㄧ殑ASCII琛ㄦ牸锛屽寘鍚?0杩涘埗鍜?6杩涘埗鐨勫€笺€侟/p>
screen,dtach
鍦ㄨ繙绋媠sh缁樼敾涓紝浣跨敤杩欎袱涓懡浠ゅ彲浠ヤ繚瀛樹綘鐨勪細璇濓紝閬垮厤鍥犱负缃戠粶闂瀵艰嚧涓柇銆侟/p>
curl, curl -l, wget
鍦╳eb椤甸潰璋冭瘯涓紝杩欏嚑涓懡浠よ兘甯綘涓嬭浇缃戦〉浠g爜锛屽緢鏈夌敤銆侟/p>
lynx -dump -stdin
灏咹TML杞崲涓烘枃鏈?/p>
xmlstarlet
闇€瑕佸鐞哫ML鏃讹紝杩欎釜鍛戒护寰堟湁鐢ㄣ€侟/p>
ssh -L, ssh -D
闇€瑕佸埄鐢ㄨ繙绋嬫湇鍔″櫒璁块棶缃戦〉鏃讹紝杩欏懡浠ゅ彲浠ュ府鍔╀綘鍦ㄨ繙绋嬫湇鍔″櫒鍜屼綘鐨勬満鍣ㄤ箣闂村缓绔媠sh 闅ч亾銆侟/p>
ssh杩炴帴浼樺寲
濡備笅閰嶇疆鑳藉府浣犻伩鍏嶉摼鎺ヤ涪澶憋紝涓嶉渶瑕佹瘡娆¢兘杈撳叆yes纭鍜岃繙绋嬫湇鍔″櫒鐨勯摼鎺ワ紝浠ュ強鍦ㄩ摼鎺ヤ腑鍚敤鍘嬬缉銆傚缓璁皢瀹冩斁鍒?ssh/config涓€侟/p>
TCPKeepAlive=yes
ServerAliveInterval=15
ServerAliveCountMax=6
StrictHostKeyChecking=no
Compression=yes
ForwardAgent=yes
鍦ㄦ杈撳叆鐨勫懡浠ゅ墠鍔?
鍛戒护宸茬粡杈撳叆涓€鍗婏紝蹇界劧闂存敼涓绘剰鎯冲皯鏀惰繍琛屾椂锛 鍙互浣跨敤 Alt-#鍦ㄥ懡浠ゅ墠鍔犫€?鈥欙紝灏嗘暣涓懡浠ゅ彉鎴愭敞閲娿€傝繖鏍蜂綘绋嶅悗灏辫兘鍦ㄥ懡浠ゅ巻鍙蹭腑鎵惧埌璇ュ懡浠や簡銆侟/p>
cron
鍙互甯姪浣犲埗瀹氫竴浜涘畾鏃舵墽琛岀殑璁″垝浠诲姟銆侟/p>
Ctrl-S Ctrl-C
灏嗕竴涓嶅皬蹇冮渶瑕佸ぇ閲忚緭鍑烘枃鏈椂锛屼緷娆¤緭鍏ヨ繖涓や釜鎿嶄綔锛 姣斿崟绾殑棰戠箒鎸塁trl-C鑳芥洿蹇绋嬪簭缁堟銆侟/p>
sort,uniq, uniq -u, uniq -d
浜嗚В杩欎簺鎺掑簭鍛戒护
cut,paste, join
浜嗚В杩欎簺鏂囨湰鏂囦欢鐨勭淮鎶ゅ伐鍏枫€傚緢澶氫汉閮藉湪浣跨敤cut鍚庯紝蹇樿join
浣跨敤sort/uniq杩涜闆嗗悎鐨勪氦銆佸苟銆佽ˉ杩愮畻=
鍋囪a鍜宐鏄袱涓枃鏈枃浠讹紝鍏朵腑鐨勮閮芥槸鍞竴鐨勩€ 濡備笅鍑犱釜鍛戒护鍙互蹇€熺殑瀹炵幇涓€浜涢泦鍚堟搷浣溿€侟/p>
cat a b | sort | uniq > c # c is a union b
cat a b | sort | uniq -d > c # c is a intersect b
cat a b b | sort | uniq -u > c # c is set difference a – b
浣跨敤LC_ALL=C
Linux涓湁鍏砽ocale鐨勮缃細褰卞搷澶ч噺鐨勫懡浠よ宸ュ叿锛屽叾涓寘鎷帓搴忓伐鍏枫€ 澶氭暟瀹夎鐨凩inux绯荤粺閮藉皢LANG鎴栬€呭叾浠栫殑locale榛樿璁剧疆鎴怳S English銆 浣嗚繖鍙兘浼氬鑷存帓搴忓強鍏朵粬鍛戒护鎱笂濂藉嚑鍊嶃€傚洜姝xport LCALL=C鑳介伩鍏嶄娇鐢╥18n褰㈠紡澶勭悊鏁版嵁锛屽甫鏉ユ€ц兘鎻愬崌銆侟/p>
awk,sed
杩欎袱涓伐鍏疯兘瀹炵幇澶嶆潅鐨勬暟鎹浛鎹㈠拰淇敼銆侟/p>
渚嬪锛屼笅闈㈢殑鍛戒护瀹炵幇瀵规枃鏈枃浠朵腑浣庝笁鍒楃殑鏁版嵁姹傛€诲拰銆 浣跨敤shell瀹屾垚姝よ繍绠楁瘮鐢≒ython蹇?鍊嶃€侟/p>
awk ‘{ x += $3 } END { print x }’
shuf
璇ュ懡浠ゅ彲浠ヤ粠灏嗕竴涓枃浠朵腑鐨勮娣锋礂锛屾垨鑰呬粠涓殢鏈洪€夊嚭涓€浜涜銆侟/p>
sort
浜嗚Вsort鐨勫父鐢ㄩ€夐」(-t锛?k锛 -s锛夊浣曞伐浣溿€ 娉ㄦ剰-k1,1鍙細鎺掑簭绗竴鍒楋紝 鑰?k1浼氭牴鎹暣涓鎺掑簭銆 -s鑳藉疄鐜扮ǔ瀹氭帓搴忋€ 渚嬪锛屽厛浣跨敤绗簩涓煙鎺掑簭锛屽啀鎸夌収鍩熶竴鎺掑簭锛屽彲浠ョ敤杩欐鍛戒护瀹炵幇
cat INPUT_FILE | sort -k1,1 | sort -s -k2,2
鍒惰〃绗︾殑杈撳叆
鍦╞ash鐨勫懡浠よ涓紝濡傝嫢闇€瑕佽緭鍏ュ埗琛ㄧ锛屽彲浠ヤ娇鐢 Ctrl-V 鎴栬€ $鈥橽t鈥 瀹炵幇
hd,bvi
瀵逛簬浜岃繘鍒舵枃浠讹紝杩欎袱涓懡浠ゅ垎鍒疄鐜?6杩涘埗鎶藉彇锛屼簩杩涘埗缂栬緫鎿嶄綔銆侟/p>
strings,grep
鍙互甯姪鍦ㄤ簩杩涘埗鏂囦欢涓鎵炬枃鏈€侟/p>
iconv,uconv
鍙互甯姪杞崲鏂囨湰缂栫爜
split,csplit
鍒嗗埆鍙互瀹炵幇灏嗘枃浠舵寜鐓уぇ灏忓垎鍓诧紝浠ュ強鎸夌収鐗瑰畾鐨勬ā寮忓垎鍓层€侟/p>
iostat,netstat,top,atop,htop,dstat
鍙互甯姪浜嗚В纭洏锛孋PU锛屽唴瀛橈紝缃戠粶鐨勭姸鎬併€ 杩欒兘甯綘瀵圭郴缁熸鍦ㄥ彂鐢熺殑鎯呭喌鏈変釜绗竴璁よ瘑銆侟/p>
free,vmstat
濡傛灉鎯充簡瑙e唴瀛樼殑鐘舵€侊紝杩欎袱涓懡浠ゅ緢閲嶈銆 鍏朵腑cached鏄疞inux鍐呮牳涓枃浠剁紦瀛樼殑澶у皬銆侟/p>
kill -3
鍦ㄨ皟璇旿ava绋嬪簭鏃讹紝浣跨敤姝ゅ懡浠わ紝鍙互鍦╯tderr/logs涓壘鍒板畬鏁寸殑stack trace锛 鍫嗕俊鎭?鍖呭惈鍨冨溇鏀堕泦鐨勭粏鑺?.
mtr,traceroute
鑳藉甯繖鎵惧埌缃戠粶闂锛屽墠鑰呮瘮traceroute鏇村ソ鐢ㄣ€侟/p>
iftop,nethogs
杩欎袱涓懡浠ゅ彲浠ュ姙鍒氭壘鍑哄摢涓鍙f垨鑰呰繘绋嬪崰鐢ㄤ簡澶氬皯缃戠粶甯﹀銆侟/p>
ab,siege
杩欎釜Apache鑷甫鐨勫伐鍏疯兘甯姪蹇€熸鏌eb鏈嶅姟鍣ㄧ殑鎬ц兘銆侟/p>
wireshark,tshark
鏄繘琛屾洿楂樼骇鐨勭綉缁滆皟璇曠殑寰楀姏宸ュ叿銆侟/p>
strace,ltrace
杩欎袱涓懡浠よ兘甯綘鍦ㄤ竴鏃犳墍鐭ョ殑鎯呭喌涓嬶紝瀵圭▼搴忚繍琛屽け璐ワ紝鍋囨锛屽穿婧冪瓑闂甯︽潵涓€浜涚嚎绱€ 鍙﹀锛屼粬浠繕鑳藉府蹇欏彂鐜颁竴浜涙€ц兘闂銆傛瘮濡 -c閫夐」鍙互鍋歱rofiling锛 -p閫夐」鍙互鎸傚埌鏌愪釜鎸囧畾鐨勮繘绋嬩笂銆侟/p>
ldd
妫€鏌ュ叡浜簱鐨勬儏鍐袋/p>
gdb
浜嗚В濡備綍鍒╃敤GDB杩炴帴鍒颁竴涓鍦ㄨ繍琛岀殑杩涚▼锛屽苟涓斿緱鍒板叾stack trace銆侟/p>
/proc/
鍦ㄥ仛鐜板満璋冭瘯鐨勬椂鍊欏緢鏈夌敤銆傛瘮濡 /proc/cpuinfo, /proc/XXX/cwd, /proc/XXX/exe, /proc/XXX/fd/, /proc/XXX/smaps
sar
鍦ㄩ渶瑕佸垽鏂负浣曡繃鍘绘煇涓椂闂寸郴缁熶細鍑洪敊鏃讹紝杩欎釜鍛戒护鑳芥樉绀篊PU锛屽唴瀛樺拰缃戠粶鐨勫巻鍙叉儏鍐点€侟/p>
stap, perf
褰撻渶瑕佹洿娣辩殑鍒嗘瀽绯荤粺锛屼互鍙婃€ц兘鎯呭喌鏃讹紝杩欎袱涓伐鍏峰緢鏈夌敤銆侟/p>
dmesg
褰撶郴缁熷嚭鐜颁竴浜涘緢鍙嶅父鐨勭幇璞℃椂锛屾瘮濡傚彲鑳芥槸纭欢鎴栭┍鍔ㄩ棶棰樻椂锛岃繖涓緢绠$敤銆侟/p>
鏂囩珷鏉ヨ嚜缃戠粶锛孈Team缂栬緫骞跺垎浜紝涓嶅仛浠讳綍鍟嗕笟鐢ㄩ€旓紝濡傛湁渚垫潈璇疯仈绯绘垜浠鐞嗭紒
]]>