Bash是linux默認的shell,bash 的東西非常的多,包括變數(shù)的設(shè)定與使用、 bash 操作環(huán)境的建置、資料流重導(dǎo)向的功能,掌握一些shell操作技巧,還有那好用的管線命令是很有必要的。
1.移動命令
^P 、^N、 ^B、 ^F 方向鍵 上 下 左 右
Alt+F 光標右移一個單詞
Alt+B 光標左移一個單詞
^A 、^E 光標移至行首 行尾
^xx 光標在行頭行尾進行跳轉(zhuǎn)
2.刪除命令
^K 清除光標后至行尾的內(nèi)容
^U 清除光標前至行首的內(nèi)容
^B 刪除光標所在字母
^H 刪除光標前一個字符
^W 刪除光標前一個單詞
^Y 粘貼或恢復(fù)上次的刪除
Alt+R 撤銷當前行的所有內(nèi)容
3.輸入相關(guān)命令
^T 交換光標位置前的兩個字符
Esc+T 置換前兩個單詞
Alt+L 將當前光標處之后的字母轉(zhuǎn)化為小寫字母
Alt+U 將當前光標處之后的字母轉(zhuǎn)化為大寫字母
Ctrl+Alt+E 擴展命令行
4.歷史查詢命令
^R 搜索歷史命令
Alt+P 非增量方式反向搜索歷史
Alt+> 歷史列表中的最后一行命令開始向前
5.命令補全
Tab 用于命令補全
^I 可用于命令補全
^[ 相當于Esc,也可補全
6.作業(yè)管理命令
^S 鎖住屏幕
^Q 恢復(fù)屏幕
^C 殺死當前進程
^\ 停止當前進程
^D 退出當前shell
& 后臺執(zhí)行,(nohup以忽略掛起信號方式運行程序)
^Z 把當前進程轉(zhuǎn)后臺運行
jobs 查看當前后臺作業(yè)狀態(tài)
fg 將后臺作業(yè)拿到前臺處理
bg 作業(yè)在后臺運行
7.其他的一些命令
^L 清屏
^M或^J 回車
使用"!"從歷史中執(zhí)行命令
有時候,我們需要在 Bash 中重復(fù)執(zhí)行先前的命令。你當然可以使用上方向鍵來查看之前曾經(jīng)運行過的命令。但這里有一些更好的方式:
1) !!:重復(fù)執(zhí)行上一條指令
2) !a:重復(fù)執(zhí)行上一條以a為首的指令
3) !number:重復(fù)執(zhí)行上一條在history表中記錄號碼為number的指令
4) !-number:重復(fù)執(zhí)行前第number條指令
5) !$:表示獲得上一條命令中的最后一項內(nèi)容
6) 用Ctrl + r 組合鍵來進入歷史搜索模式在history表中查詢某條過往指令,找到需要 重復(fù)執(zhí)行的命令后,按回車鍵即可
重復(fù)命令參數(shù)(即上一點中的第5條)
先來看一個例子: mkdir /exampledir cd !$ 本例中,第一行命令將創(chuàng)建一個目錄,而第二行的命令則轉(zhuǎn)到剛創(chuàng)建的目錄。這里,“!$”的作用就是重復(fù)前一個命令的參數(shù)。事實上,不僅是命令的參數(shù)可以重復(fù),命令的選項同樣可以。另外,Esc + . 快捷鍵可以切換這些命令參數(shù)或選項。
用于編輯的快捷鍵
Ctrl + a:將光標定位到命令的開頭
Ctrl + e:與上一個快捷鍵相反,將光標定位到命令的結(jié)尾
Ctrl + u:剪切光標之前的內(nèi)容
Ctrl + k:與上一個快捷鍵相反,剪切光標之后的內(nèi)容
Ctrl + y:粘貼Ctrl + u和Ctrl + k所剪切的內(nèi)容
Ctrl + t:交換光標之前兩個字符的順序
Ctrl + w:刪除光標左邊的參數(shù)(選項)或內(nèi)容
Ctrl + l:清屏
Ctrl + d:輸入已結(jié)束。在shell下相當于一個exit
Ctrl + c:鍵盤中斷請求。
Ctrl + s & Ctrl + q:暫停/恢復(fù)屏幕輸出
Ctrl + n(↓):顯示下一條命令
Ctrl + p(↑):顯示上一條命令
Ctrl + b:向回移動
Ctrl + f: 向前移動
Ctrl + shift +↓:終端向下滾動
Ctrl + shift +↑:終端向上滾動
Shift+pgup/pgdown:終端上下翻頁滾動
處理作業(yè) 首先,使用 Ctrl + z 快捷鍵可以讓正在執(zhí)行的命令掛起。如果要讓該進程在后臺執(zhí)行,那么可以執(zhí)行 bg 命令。而 fg 命令則可以讓該進程重新回到前臺來。使用 jobs 命令能夠查看到哪些進程在后臺執(zhí)行。 你也可以在 fg 或 bg 命令中使用作業(yè) id,如: fg %3 又如: bg %7
使用置換
命令置換 先看例子: du -h -a -c $(find . -name *.conf 2>&-) 注意 $() 中的部分,這將告訴 Bash 運行 find 命令,然后把返回的結(jié)果作為 du 的參數(shù)。
進程置換 仍然先看例子: diff <(ps axo comm) <(ssh user@host ps axo comm) 該命令將比較本地系統(tǒng)和遠程系統(tǒng)中正在運行的進程。請注意 <() 中的部分。
xargs 看例: find . -name *.conf -print0 | xargs -0 grep -l -Z mem_limit | xargs -0 -i cp {} {}.bak 該命令將備份當前目錄中的所有 .conf 文件。
使用管道 下面是一個簡單的使用管道的例子: ps aux | grep init 這里,“|”操作符將 ps aux 的輸出重定向給 grep init。 下面還有兩個稍微復(fù)雜點的例子: ps aux | tee filename | grep init 及: ps aux | tee -a filename | grep init
將標準輸出保存為文件 你可以將命令的標準輸出內(nèi)容保存到一個文件中,舉例如下: ps aux > filename 注意其中的“>”符號。 你也可以將這些輸出內(nèi)容追加到一個已存在的文件中: ps aux >> filename 你還可以分割一個較長的行: command1 | command2 | ... | commandN > tempfile1 cat tempfile1 | command1 | command2 | ... | commandN > tempfile2
標準流:重定向與組合 重定向流的例子: ps aux 2>&1 | grep init 這里的數(shù)字代表:
0:stdin
1:stdout
2:sterr
上面的命令中,“grep init”不僅搜索“ps aux”的標準輸出,而且搜索 sterr 輸出。
窗口管理
Win+E 顯示所有桌面,方便的左右選擇。
Ctrl + Alt + → / ← 在不同工作臺間切換
Ctrl + Alt + Shift + → / ← 移動當前窗口到不同工作臺
Alt + Shift+ ↑ 以很酷的方式顯示當前窗口
Ctrl + Alt + D 顯示桌面/恢復(fù)當前窗口
Alt+ Tab 切換窗口
Alt + F4 關(guān)閉窗口
Alt + F5 取消最大化窗口 (恢復(fù)窗口原來的大小)
Alt + F7 移動窗口 (注: 在窗口最大化的狀態(tài)下無效)
Alt + F8 改變窗口大小 (注: 在窗口最大化的狀態(tài)下無效)
Alt + F9 最小化窗口
Alt + F10 最大化窗口
Alt + Space 打開窗口的控制菜單 (點擊窗口左上角圖標出現(xiàn)的菜單)
Ctrl+Alt+F7 返回桌面
文件瀏覽器Nautilus
Shift+Ctrl+N 新建文件夾, 很有用
Alt + Enter 查看選擇文件/文件夾的屬性,代替單擊右鍵選擇屬性
Ctrl + 1/2 改變文件夾視圖查看方式,圖標視圖/列表視圖
Ctrl + W 關(guān)閉當前Nautilus標簽
Ctrl + Shift + W 關(guān)閉所有Nautilus標簽
Ctrl+T 在Nautilus中新建一個標簽
Ctrl+Page Up 上一個標簽
Ctrl+Page Down 下一個標簽
Alt + ↑/↓ 移動到父文件夾/選擇的文件夾
Alt + → / ← 后退/前進
Alt + Home 直接移動到主文件夾
Alt+N 切換到第N個標簽(N為數(shù)字)
F9 開關(guān)顯示隱藏Nautilus側(cè)邊欄
Ctrl + H 開關(guān)顯示隱藏文件夾
應(yīng)用程序中的常用快捷鍵
Ctrl+N 新建窗口
Ctrl+X 剪切
Ctrl+C 復(fù)制
Ctrl+V 粘貼
Ctrl+Z 撤銷上一步操作
Ctrl+Shift+Z 重做剛撤銷的一步操作
Ctrl+S 保存
其他
Ctrl + Alt + L 鎖屏
Alt + F1 打開應(yīng)用程序菜單
Alt + F2 打開運行應(yīng)用程序?qū)υ捒?br />Win + 鼠標滾輪 放大/縮小屏幕
PrintScreen 全屏截圖
Alt + PrintScreen 當前窗口截圖
Ctrl+Alt+Shift+Fn 終端N或模擬終端N(n和N為數(shù)字1-6)