有時候,我們需要在 Bash 中重複執行先前的命令。你當然可以使用上方向鍵來查看之前曾經運行過的命令,但本文介紹了一些更好的方式,如!!,!a,!number,!-number,!$,Ctrl+r等快速鍵。本文還提供了一些例子介紹如何正確的使用這些快速鍵。
AD:
有時候,我們需要在 Bash 中重複執行先前的命令。你當然可以使用上方向鍵來查看之前曾經運行過的命令。但這裡有一些更好的方式:
1) !!:重複執行上一條指令
2) !a:重複執行上一條以a為首的指令
3) !number:重複執行上一條在history表中記錄號碼為number的指令
4) !-number:重複執行前第number條指令
5) !$:表示獲得上一條命令中的最後一項內容
6) 用Ctrl + r 按鍵組合來進入曆史搜尋模式在history表中查詢某條過往指令,找到需要重複執行的命令後,按斷行符號鍵即可重複命令參數(即上一點中的第5條)
先來看一個例子: mkdir /exampledircd !$
本例中,第一行命令將建立一個目錄,而第二行的命令則轉到剛建立的目錄。
這裡,“!$”的作用就是重複前一個命令的參數。
事實上,不僅是命令的參數可以重複,命令的選項同樣可以。
另外,Esc + . 快速鍵可以切換這些命令參數或選項。
用於編輯的快速鍵Ctrl + a:
將游標定位到命令的開頭Ctrl + e:
與上一個快速鍵相反,將游標定位到命令的結尾Ctrl + u:
剪下游標之前的內容Ctrl + k:
與上一個快速鍵相反,剪下游標之後的內容Ctrl + y:
粘貼Ctrl + u和Ctrl + k所剪下的內容Ctrl + t:
交換游標之前兩個字元的順序Ctrl + w:
刪除游標左邊的參數(選項)或內容Ctrl + l:
清屏Ctrl + d:輸入已結束。
在shell下相當於一個exitCtrl + c:鍵盤插斷要求。
Ctrl + s &Ctrl + q:
暫停/恢複螢幕輸出Ctrl + n(↓):
顯示下一條命令Ctrl + p(↑):
顯示上一條命令Ctrl + b:
向回移動Ctrl + f:
向前移動Ctrl + shift +↓:
終端向下滾動Ctrl + shift +↑:
終端向上滾動Shift+pgup/pgdown:
終端上下翻頁滾動處理作業
首先,使用 Ctrl + z 快速鍵可以讓正在執行的命令掛起。如果要讓該進程在後台執行,那麼可以執行 bg 命令。而 fg 命令則可以讓該進程重新回到前台來。
使用 jobs 命令能夠查看到哪些進程在後台執行。
你也可以在 fg 或 bg 命令中使用作業 id,
如: fg %3
又如: bg %7使用置換命令置換
先看例子: du -h -a -c $(find . -name *.conf 2>&-)
注意 $() 中的部分,這將告訴 Bash 運行 find 命令,然後把返回的結果作為 du 的參數。
進程置換
仍然先看例子: diff <(ps axo comm) <(sshuser@host ps axo comm)
該命令將比較本地系統和遠程系統中正在啟動並執行進程。
請注意 <() 中的部分。
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。
下面還有兩個稍微複雜點的例子:
ps aux | tee filename | grep init 及: ps aux | tee -a filename | grep init將標準輸出儲存為檔案 你可以將命令的標準輸出內容儲存到一個檔案中,
舉例如下: ps aux >filename 注意其中的“>”符號。
你也可以將這些輸出內容追加到一個已存在的檔案中: ps aux 》 filename
你還可以分割一個較長的行: command1 | command2 | … | commandN >tempfile1 cat tempfile1 | command1 | command2 | … | commandN >
重新導向與組合
重新導向流的例子: ps aux 2>&1 | grep init
這裡的數字代表:0:stdin1:stdout2:sterr 上面的命令中,“grep init”不僅搜尋“ps aux”的標準輸出,而且搜尋 sterr 輸出。
你也可以將這些輸出內容追加到一個已存在的檔案中: ps aux 》 filename
你還可以分割一個較長的行: command1 | command2 | … | commandN >tempfile1 cat tempfile1 | command1 | command2 | … | commandN >
Ubuntu中的一些常用的快速鍵:
視窗管理Win+E 顯示所有案頭,方便的左右選擇。
Ctrl + Alt + → / ← 在不同工作台間切換
Ctrl + Alt + Shift + → / ← 移動當前視窗到不同工作台
Alt + Shift+ ↑ 以很酷的方式顯示當前視窗
Ctrl + Alt + D 顯示案頭/恢複當前視窗
Alt+ Tab 切換視窗
Alt + F4 關閉視窗
Alt + F5 取消已最大化的視窗 (恢複視窗原來的大小)
Alt + F7 移動視窗 (註: 在視窗最大化的狀態下無效)
Alt + F8 改變視窗大小 (註: 在視窗最大化的狀態下無效)
Alt + F9 已最小化的視窗
Alt + F10 已最大化的視窗
Alt + Space 開啟視窗的控制功能表 (點擊視窗左上方表徵圖出現的菜單)
Ctrl+Alt+F7 返回案頭
檔案瀏覽器NautilusShift+Ctrl+N 建立檔案夾, 很有用
Alt + Enter 查看選擇檔案/檔案夾的屬性,代替單擊右鍵選擇屬性
Ctrl + 1/2 改變資料夾檢視查看方式,表徵圖視圖/列表視圖
Ctrl + W 關閉當前Nautilus標籤
Ctrl + Shift + W 關閉所有Nautilus標籤
Ctrl+T 在Nautilus中建立一個標籤
Ctrl+Page Up 上一個標籤
Ctrl+Page Down 下一個標籤
Alt + ↑/↓ 移動到父資料夾/選擇的檔案夾
Alt + → / ← 後退/前進
Alt + Home 直接移動到主資料夾
Alt+N 切換到第N個標籤(N為數字)
F9 開關顯示隱藏Nautilus側邊欄
Ctrl + H 開關顯示隱藏檔案夾
應用程式中的常用快速鍵Ctrl+N 建立視窗
Ctrl+X 剪下
Ctrl+C 複製
Ctrl+V 粘貼
Ctrl+Z 撤銷上一步操作
Ctrl+Shift+Z 重做剛撤銷的一步操作
Ctrl+S 儲存
其他Ctrl + Alt + L 鎖屏
Alt + F1 開啟應用程式菜單
Alt + F2 開啟運行應用程式對話方塊
Win + 滑鼠滾輪 放大/縮小螢幕
PrintScreen 全屏截圖
Alt + PrintScreen 當前視窗截圖
Ctrl+Alt+Shift+Fn 終端N或類比終端N(n和N為數字1-6)