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

2021-07-08 20:56:22 字數 3266 閱讀 9187

這篇文章記錄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(唯讀)型別,不能更改,也不能重設

#」:刪除變數部分內容(從最先面開始向右刪除,且刪除最短的那個),如$表示刪除從最開始到第乙個「/*test/bin:」處中間的內容,注意「:」。

##」:刪除變數部分內容(從最先面開始向右刪除,且刪除最長的那個),如$從最開始到最後乙個「/*/test/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行也顯示出來。

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

Bash Shell學習筆記四

set commond 將位置引數設定為後面的命令輸出 shell命令中 在 後面的語句將會不再解釋後面的 cal 萬年曆 bc 計算器 histsize 歷史大小 random 隨機數 basename pathname 去除路徑字首的最後部分 空變數 1 1 沒有賦值或申明的變數 1 1 字元變...

Bash Shell學習筆記一

1.在linux中執行指令碼檔案時 以 執行的 或者普通方式 輸入檔名 執行時是啟動子shell執行的,所以,一切環境變數設定在推出後失效 因此在指令碼中設定 path將失效,如果一定要以指令碼方式來設定,需要 空格 檔名或者 source 指令碼檔案的形式執行.2.linux中的 和 雙引號和單引...

linux 學習筆記四 bash shell

type 查詢命令是否為bash 內建命名 變數的設定規則 myname ceshi 變數與變數內容用 連線 變數名稱可以是數字英文本母,但是不能以數字開頭。內容如果有空白可以用單引號 或者雙引號 但是單引號只能作為一般字元也就是文字顯示,雙引號可以引用變數。變數的增加 名稱 增加內容,或者 內容 ...