shell命令屬於Linux命令的一種,但是又獨立於Linux系統的其他命令,Linux shell命令行自成一個體系。本文就來介紹一下Linux系統shell命令行的操作方法。
1.自動補齊
自動補齊可以應用於路徑名、變量(以$開頭的單詞)、用戶名(以~開頭)、命令(單詞時命令行第一個單詞)、主機名(單詞以@開頭,只對/etc/hosts下的主機名有效)
命令
作用
Alt-$
顯示所有可能項。等價於按兩次Tab
Alt-*
插入所有可能匹配項
2. 命令行歷史
history命令直接輸出歷史記錄,默認500個。
歷史記錄命令
命令
作用
Ctrl-P
移動到前一條歷史記錄,等於上箭頭
Ctrl-N
移動到後一條歷史記錄,等於下箭頭
Alt-《
移動到歷史記錄開始處
Alt-》
移動到歷史記錄末尾處,即當前命令行
Alt-P
非遞增搜索。輸入搜索串後鍵入Enter才開始搜索
Alt-N
向前非遞增搜索
Ctrl-O
執行歷史記錄項,執行完後跳到下一項。用於執行一系列歷史記錄
Ctrl-R
逆向遞增搜索歷史記錄;搜索時查找下一個匹配項
Ctrl-J
把搜索內容復制到當前命令行(按左右方向鍵也能復制,若按Enter會立即執行命令)
Ctrl-G或C
退出搜索
!!
重復最後一個命令,等價於上箭頭+Enter
!number
執行歷史記錄第number行的命令
! string
執行最近的以string開頭的歷史記錄
!?string
執行最近的包含string的歷史記錄
3. 復制粘貼
*不能用Ctrl-c 和Ctrl-v
復制
粘貼
鼠標左鍵選擇文本(或雙擊選擇單詞)
鼠標中鍵
Ctrl-Shift-c
Ctrl-Shift-v
Ctrl-Insert
Shift-Insert
4. 虛擬終端
Ctrl-Alt-F1 ~ F6:由圖形桌面系統切換到1~6號虛擬終端
Alt-F1 ~ F6:在1~6號虛擬終端之間切換
Alt-F7:由虛擬終端回到圖形桌面系統
5. 通配符
稱為wildcards或globbing,用於匹配一組文件名。可與任意一個使用文件名做參數的命令一起使用。
注意:謹慎使用字符范圍表示法[A-Z][a-z]
通配符
匹配項
*
匹配任意多個字符(包含0個)
?
匹配任意一個字符(不包含0個)
[characters]
匹配任意一個字符集內字符
[!characters]
匹配任意一個不屬於字符集內字符
[[:class:]]
匹配任意一個字符類內字符
字符類
說明
[:alnum:]
字母集或數字集
[:alpha:]
字母集
[:digit:]
數字集
[:lower:]
小寫字母集
[:upper:]
大寫字母集
6. 重定向
linux提供標准輸入“0”,標准輸出“1”,標准錯誤“2”。
“》”:將標准輸出重定向到文件中,會先清空原文件內容
使用 “》 filename”會刪除文件的內容
“《”:將文件內容作為標准輸入讀入命令
“》》”:將標准輸出重定向到文件中,使用追加模式
“|”:管道,將上一個命令的標准輸出作為下一個命令的標准輸入
同時重定向標准輸出和標准錯誤:
command 》 file 2》&1
或新版bash支持的 command &》 file
標准錯誤的重定向發生在標准輸出重定向之後,所以command 2》&1 》file是錯誤的。
忽略輸出:將輸出或標准錯誤重定向到文件/dev/null。
忽略所有輸出:command 》 /dev/null 2》&1
忽略錯誤:command 2》 /dev/null
7. 擴展
每次shell命令執行前都會進行擴展(expansion)。通過echo可以簡單驗證擴展後的結果。這些擴展包括:
路徑名擴展(使用通配符)
波浪線擴展(~或~user,擴展為用戶的主目錄)
算術擴展,$((expression)),注意都是整數運算,支持四則和取余“%”,取冪“**”,忽略空格
花括號擴展
$ echo {1..5} 輸出1 2 3 4 5
$ echo {G..A}輸出G F E D C B A
$ echo {A{1, 2}, B{3, 4}}輸出A1 A2 B3 B4
參數擴展,如$PATH等參數
命令替換,如$(ls)或`ls`
8. 引用
引用可以避免Shell擴展。引用包含雙引號的弱引用和單引號的強引用。
弱引用:部分特殊字符失去特殊含義,保留美元符號“$”,反斜線“\”,反引號“`”。因此,單詞分隔、路徑名擴展、波浪線擴展和花括號擴展失效。參數擴展、算術擴展、命令替換依然有效。
強引用:抑制所有擴展。
轉義字符“\”:在弱引用中輸出“$”、“\”、“`”或輸出轉義字符“\n”等。在命令行中消除shell特殊字符的含義,如“$”、“!”、“&”、空格
9. shell快捷鍵
光標移動
組合鍵
作用
Ctrl-A
光標到行首
Ctrl-E
光標到行尾
Ctrl-F
前移一個字符,等價於右箭頭
Ctrl-B
後移一個字符,等價於左箭頭
Alt-F
前移一個字,定位到字後
Alt-B
後移一個字,定位到字首字母
Ctrl-L
清屏並移動光標到行首,等價於clear
修改文本
組合鍵
作用
Ctrl-D
刪除光標處字符
Ctrl-T
光標處字符和前面字符對調
Alt-T
光標處字和前面的字對調
Alt-L
從光標到字尾變小寫
Alt-U
從光標到字尾變大寫
剪切(killing)和粘貼(yanking)
被剪切內容存在成為kill-ring的緩沖區
組合鍵
作用
Ctrl-K
剪切從光標到行尾
Ctrl-U
剪切從光標到行首
Alt-D
剪切從光標到當前詞尾
Alt-Backspace
剪切從光標到詞頭,若已在開頭,剪切前一個單次
Ctrl-Y
粘貼
以上就是Linux系統shell命令行的操作方法了,對Linux shell命令行的操作,說起來也很簡單。只要掌握了這些操作,基本上也就差不多了。