-
光標跳轉
ctrl + a 將光標移動到命令行開頭相當於VIM裏shift+^
ctrl + e 將光標移動到命令行結尾處相當於VIM裏shift+$
ctrl + f 光標向後移動一個字符相當於VIM裏l
ctrl + b 光標向前移動一個字符相當於VIM裏h
ctrl + 方向鍵左鍵 光標移動到前一個單詞開頭
ctrl + 方向鍵右鍵 光標移動到後一個單詞結尾
ctrl + x 在上次光標所在字符和當前光標所在字符之間跳轉
alt + f 跳到光標所在位置單詞尾部
-
命令行刪除
ctrl + d 刪除光標所在位置上的字符相當於VIM裏x或者dl
ctrl + h 刪除光標所在位置前的字符相當於VIM裏hx或者dh
ctrl + k 刪除光標後面所有字符相當於VIM裏d shift+$
ctrl + u 刪除光標前面所有字符相當於VIM裏d shift+^
ctrl + w 刪除光標前一個單詞相當於VIM裏db
ctrl + y 恢復ctrl+u上次執行時刪除的字符
ctrl + ? 撤消前一次輸入
ctrl + l 清屏
alt + r 撤消前一次動作
alt + d 刪除光標所在位置的後單詞
-
替換
ctrl + t 將光標當前字符與前面一個字符替換
alt + t 交換兩個光標當前所處位置單詞和光標前一個單詞
alt + u 把光標當前位置單詞變爲大寫
alt + l 把光標當前位置單詞變爲小寫
alt + c 把光標當前位置單詞頭一個字母變爲大寫
^oldstr^newstr 替換前一次命令中字符串
-
命令歷史
history 查看命令歷史
-c 清空命令歷史
-d 500 刪除第500個命令
-d 500 10 從第500個命令往後刪除10個
-w 手動保存命令歷史(正常關機時會自動保存,歷史文件是家目錄下的 .bashhistory)
# echo $HISTSIZE 查看緩存中能存儲最大命令個數
! 441 執行命令歷史中的第441個命令
! -441 執行命令歷史中倒數第441個命令
!! 執行上一條命令
!STRING 執行命令歷史中最近一個以指定字符串開頭的命令(!cle 執行最後一個以cle開頭的命令)
!$ 引用上一個命令中最後一個參數
鍵入 Esc 鬆開 鍵入 . 引用上一個命令中最後一個參數
Alt+. 引用上一個命令中最後一個參數,模擬終端支持,遠程終端不支持 -
命令補全
Tab
在path環境變量下搜索,補全的前提是已寫的字符能唯一標識這個命令
連敲兩次Tab鍵,顯示所有已寫字符的命令 -
路徑補全
Tab
從已寫的路徑下補全
連敲兩次Tab鍵,顯示所有已寫字符的命令? -
命令別名
alias 不加參數,顯示所有有別名的命令
alias CMDALIAS = COMMAND [OPTIONS] [ARGUMENTS] 相當於定義了一個變量,只在當前shell的生命週期內有效,如果想定義一個長期有效的別名,可以在shell程序的配置文件中修改,後續會講到。
# alias cls = clear 爲clear命令定義了一個別名cls。
unalias cls 取消別名爲cls的命令。 -
命令替換
把命令中爲某個子命令替換爲結果的過程 $(COMMAND) 反引號 `COMMAND`
# pwd
/etc/sysconfig
# echo "The current directory is $(pwd)."
The current directory is /etc/sysconfig.
# touch ./file-$(date +%F-%H-%M-%S).txt
創建一個名爲 file-年-月-日-時-分-秒.txt的文件 -
文件名通配 globbing
*:匹配任意長度的任意字符
# ls
a a123 ab123 abc x12 xyz xyz123
#ls a*
a a123 ab123 abc
# ls a*3
a123 ab123
?:匹配任意單個字符
# ls ?y*
xyz xyz123
# ls ??y*
[]:匹配範圍內任意單個字符
[abc] [a-m] [a-z] [A-Z] [a-zA-Z] [0-9a-zA-Z]
ls [a-zA-Z]*[0-9] 顯示以任意字母開頭且以任意數字結尾的文件
[^]:匹配該範圍外的任意單個字符
ls [^0-9]* 顯示所有非數字開頭的文件
常見特殊字符的表示法
[:space:] 所有空白字符的集合(空白字符俺不確定) ----->從這個集合中隨意找一個匹配 [[:space:]](下列同此)
[:punct:] 所有標點符號的集合
[:lower:] 所有小寫字母的集合
[:up:] 所有大寫字母的集合
[:alpha:] 所有大小寫字母的集合
[:digit:] 所有數字的集合
[:alnum:] 所有數字大小寫字母的集合
同樣支持^取反
在bash中可以使用 # man 7 glob 查看所有類似集合
例如:在某個目錄下找以字母開頭、字母結尾、中間有空白的文件
# ls [[:alpha:]]*[[:space:]]*[[alpha]]
在某個目錄下找以字母開頭、不以字母結尾、中間有空白的文件
# ls [[:alpha:]]*[[:space:]]*[^[alpha]]
注意:通配符並不能精確表示所有的文件名,有時需要利用正則表達式來達到目的。 -
其它
ctrl + s 鎖住終端
ctrl + q 解鎖終端
ctrl + l 清屏相當於命令clear
ctrl + c 另起一行
ctrl + i 類似TAB健補全功能
ctrl + o 重複執行命令
alt + 數字鍵 操作的次數
ctrl + p 返回上一次輸入命令字符
ctrl + r 輸入單詞搜索歷史命令
alt + p 輸入字符查找與字符相接近的歷史命令
ctrl + ? 撤消前一次輸入
ctrl + r 輸入單詞搜索歷史命令
-
本文地址,轉載請註明出處:http://blog.csdn.net/qq_33442549/article/details/51837725
bash簡單實用技巧
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.