學習筆記(7)——bash shell 相關命令

這篇文章記錄bash shell的相關命令

關於變量:

變量設置規則:

1. 變量與變量內容用一個等號連接,“變量名=變量內容”

2. 等號兩邊不能直接接空格

3. 變量名稱只能是英文字母與數字,但開頭不能是數字

4. 變量內容若有空格符可用雙引號或單引號將變量內容結合起來(單引號內的特殊字符僅作爲一般字符(純文本);雙引號內的特殊字符,如$等,可以保持原有特性)

5. 可用轉義字符(\)將特殊符號變成一般字符。

6. 一串命令中,需要其他命令提供信息時,可以使用反單引號(`(主鍵盤區數字鍵1左邊的那個鍵))`命令`或者$(命令)。注意與下述變量名部分的${}區分。

7. 可用“$變量名稱”或“${變量名稱}”來進行變量內容累加。如PATH="$PATH":/home/bin (注意雙引號)

8. 若變量需要其它子進程執行時,需要export來使變量變成換進變量

9. 通常以大寫字母作爲變量名。


“echo 變量名”:輸出變量內容,當輸出結果爲空時,可能是沒有這個變量,也可能是這個變量爲空字符串

“${變量名-變量內容}”:若變量不存在,則將減號後面的變量內容賦值給變量,如果變量存在則不做操作。注意:變量內容爲空字符串和沒有該變量的區別。

“${變量名:變量內容}”:當變量爲空字符串或不存在時,將冒號後面的內容賦值給變量。

“${變量名=變量內容}”:當變量不存在時,將等號後面的內容賦值給變量。

“${變量名?內容}”:當變量不存在時,顯示問號後面的內容。

“unset 變量名”:取消這個變量

“env” :查看環境變量與常見變量

“set”:查看所有變量

“export 變量名”:把自定義變量轉成環境變量

“read 變量名”:讀取來自鍵盤的變量

-p 參數:後面可以接提示符

-t 參數:後面接等待時間(秒)

“declare 變量名”:聲明變量的類型

-a 參數:將變量定義成數組類型(數組類型變量:變量名[索引]=變量內容)

-i 參數:將變量定義成整數數字類型

-x 參數:將變量變成環境變量(與export類似)

-r 參數:將變量設爲readonly(只讀)類型,不能更改,也不能重設

#”:刪除變量部分內容(從最先面開始向右刪除,且刪除最短的那個),如${PATH#/*test/bin:}表示刪除從最開始到第一個“/*test/bin:”處中間的內容,注意“:”。

##”:刪除變量部分內容(從最先面開始向右刪除,且刪除最長的那個),如${PATH##/*test/bin:}從最開始到最後一個“/*/test/bin:”處中間的內容。

%”:從後向前刪除(最短的那個),如${paht%:*bin},該命令刪除了最後一個路徑

%%”:從後向前刪除(最長的那個)

${變量名/舊字符串/新字符串}”:第一個舊字符串被新字符串替換掉。

${變量名//舊字符串/新字符串}”:所有舊字符串被新字符串替換。



“alias”:查看或設置別名命令

後面不接內容:顯示所有別名命令

alias 命令別名=‘命令’:將命令賦值給命令別名,之後使用命令別名即可代替命令的,適用於較長命令的簡化

“unalias”:取消命令別名


“history”:顯示之前輸入過的命令。

history 3:顯示最近輸入過的三條命令,不加數字則默認全部顯示(用echo $HISTSIZE可查看最大緩存的歷史命令數量)

history -w:將目前的history記憶內容寫入histfiles中

”!number“:執行編號爲number的一條命令

”!command“:由最近的命令向前搜尋以command開頭的命令

”!!“:執行上一個命令


locale”:顯示支持語系

“type”:查看命令類型

不加參數時,會顯示type後面接的命令爲外部命令還是bash內置命令

-t 參數:顯示命令的意義(file:表外部命令;alias表該命令爲別名命令;builtin:表內置命令)

-p 參數:後接命令爲外部命令時纔會顯示完整文件名

-a 參數:會將PATH變量定義中所有含“後接命令名”的命令都列出來


管道命令:以“|”爲界定符號,用來處理前一個命令傳來的正確信息


“cut”:選取命令,將一段信息“切”出來顯示,以爲單位。

cut -d '分割字符' -f 顯示範圍(編號從以開始):將前一個命令傳遞的信息按“分割符號”進行分割,並顯示。顯示範圍從1開始,可以寫成:“1,2,3”,“1-5”

cut -c 字符範圍:將前一個命令傳遞的信息按規定範圍顯示。字符範圍可以是:“20-”,表示從第20個字符開始顯示;“20-30”,表示顯示第20個到第30個字符之間的內容。

“grep -[a/c/i/n/v] -An -Bn --color=auto '查找字符串' filename”:選取命令,以爲單位。顯示出含有該字符串的那一行。

--color=auto:將查找的結果用其他顏色顯示。默認(命令別名)

-c:只顯示查找到字符串的個數

-a:將binary文件以text文件的方式查找數據

-v:顯示沒有找到的那一行

-i:忽略大小寫

-n:順便輸出行號

當grep單獨使用時,需要filename參數,相當於cat filename | grep ......

-An:n爲數字,表示將該行之後的n行也顯示出來。

-Bn:n爲數字,表示將該行之前的n行也顯示出來。




關於這部分的知識有點多,暫時先記錄這些,以後再用到其它內容時再做補充。


發佈了17 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章