有時候,我們需要在 Bash 中重複執行先前的命令。你當然可以使用上方向鍵來查看之前曾經運行過的命令,但本文介紹了一些更好的方式,如!!,!a,!number,!-number,!$,Ctrl+r等快捷鍵。本文還提供了一些例子介紹如何正確的使用這些快捷鍵。
有時候,我們需要在 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)