歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell命令行操作

Shell命令行操作

日期:2017/2/28 13:58:10   编辑:SHELL編程

[me@linuxidc ~]$

如果最後一個字符是"#",表示當前終端會話有超級用戶權限。使用root用戶登錄或者使用能提供超級用戶權限的終端能獲得該權限。

提示符由名為PS1(prompt string 1)的環境變量定義。

1.2 自動補齊

自動補齊可以應用於路徑名、變量(以$開頭的單詞)、用戶名(以~開頭)、命令(單詞時命令行第一個單詞)、主機名(單詞以@開頭,只對/etc/hosts下的主機名有效)

命令 作用 Alt-$ 顯示所有可能項。等價於按兩次Tab Alt-* 插入所有可能匹配項

1.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的歷史記錄

1.3 復制粘貼

*不能用Ctrl-c 和Ctrl-v

復制 粘貼 鼠標左鍵選擇文本(或雙擊選擇單詞) 鼠標中鍵 Ctrl-Shift-c Ctrl-Shift-v Ctrl-Insert Shift-Insert

1.4 虛擬終端

Ctrl-Alt-F1 ~ F6:由圖形桌面系統切換到1~6號虛擬終端

Alt-F1 ~ F6:在1~6號虛擬終端之間切換

Alt-F7:由虛擬終端回到圖形桌面系統

1.5 通配符

稱為wildcards或globbing,用於匹配一組文件名。可與任意一個使用文件名做參數的命令一起使用。

注意:謹慎使用字符范圍表示法[A-Z][a-z]

通配符 匹配項 * 匹配任意多個字符(包含0個) ? 匹配任意一個字符(不包含0個) [characters] 匹配任意一個字符集內字符 [!characters] 匹配任意一個不屬於字符集內字符 [[:class:]] 匹配任意一個字符類內字符 字符類 說明 [:alnum:] 字母集或數字集 [:alpha:] 字母集 [:digit:] 數字集 [:lower:] 小寫字母集 [:upper:] 大寫字母集

1.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

1.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`

1.8 引用

引用可以避免Shell擴展。引用包含雙引號的弱引用和單引號的強引用。

弱引用:部分特殊字符失去特殊含義,保留美元符號"$",反斜線"\",反引號"`"。因此,單詞分隔、路徑名擴展、波浪線擴展和花括號擴展失效。參數擴展、算術擴展、命令替換依然有效。

強引用:抑制所有擴展。

轉義字符"\":在弱引用中輸出"$"、"\"、"`"或輸出轉義字符"\n"等。在命令行中消除shell特殊字符的含義,如"$"、"!"、"&"、空格

1.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 粘貼
Copyright © Linux教程網 All Rights Reserved