Shell命令列操作

2021-07-05 08:05:27 字數 3345 閱讀 1190

[me@linuxidc ~]$

如果最後乙個字元是"#",表示當前終端會話有超級使用者許可權。使用root使用者登入或者使用能提供超級使用者許可權的終端能獲得該許可權。

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

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

命令作用

alt-$

顯示所有可能項。等價於按兩次tab

alt-*

插入所有可能匹配項

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

*不能用ctrl-c 和ctrl-v

複製貼上

滑鼠左鍵選擇文字(或雙擊選擇單詞)

滑鼠中鍵

ctrl-shift-c

ctrl-shift-v

ctrl-insert

shift-insert

ctrl-alt-f1 ~ f6:由圖形桌面系統切換到1~6號虛擬終端

alt-f1 ~ f6:在1~6號虛擬終端之間切換

alt-f7:由虛擬終端回到圖形桌面系統

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

注意:謹慎使用字元範圍表示法[a-z][a-z]

萬用字元匹配項

*匹配任意多個字元(包含0個)

?匹配任意乙個字元(不包含0個)

[characters]

匹配任意乙個字符集內字元

[!characters]

匹配任意乙個不屬於字符集內字元

[[:class:]]

匹配任意乙個字元類內字元

字元類說明[:alnum:]

字母集或數字集

[:alpha:]

字母集[:digit:]

數字集[:lower:]

小寫字母集

[:upper:]

大寫字母集

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

每次shell命令執行前都會進行擴充套件(expansion)。通過echo可以簡單驗證擴充套件後的結果。這些擴充套件包括:

路徑名擴充套件(使用萬用字元)

波浪線擴充套件(~或~user,擴充套件為使用者的主目錄)

算術擴充套件,$((expression)),注意都是整數運算,支援四則和取餘"%",取冪"**",忽略空格

花括號擴充套件

$ echo   輸出 1 2 3 4 5

$ echo   輸出  g f e d c b a

$ echo , b}  輸出  a1 a2 b3 b4 

引數擴充套件,如$path等引數

命令替換,如$(ls)或`ls`

引用可以避免shell擴充套件。引用包含雙引號的弱引用和單引號的強引用。

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

強引用:抑制所有擴充套件。

轉義字元"\":在弱引用中輸出"$"、"\"、"`"或輸出轉義字元"\n"等。在命令列中消除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

貼上

Shell命令列操作

me linuxbox 如果最後乙個字元是 表示當前終端會話有超級使用者許可權。使用root使用者登入或者使用能提供超級使用者許可權的終端能獲得該許可權。提示符由名為ps1 prompt string 1 的環境變數定義。自動補齊可以應用於路徑名 變數 以 開頭的單詞 使用者名稱 以 開頭 命令 單...

hdfs命令列shell操作

bin hadoop fs 具體命令 or bin hdfs dfs 具體命令 兩個是完全相同的。hdfs的操作可以分為三類 1.本地 hdfs 上傳 3.hdfs hdfs hdfs內部操作 一 上傳 1.put 從本地檔案系統中拷貝檔案到 hdfs 路徑去 put2.txt 本地檔案路徑,上傳到...

shell命令列常用快捷操作

shell的一些快捷鍵 1.自動補齊 tab鍵 2.查詢和執行歷史命令 ctrl r 檢索歷史命令 邊輸入邊匹配 ctrl p 快速前滾查詢乙個命令 ctrl n 快速後滾查詢乙個命令 3.取消本次命令輸入 ctrl c 保留命令列已經輸入字元,但不執行 4.游標跳轉快捷鍵 ctrl a 跳轉至命令...