Linux學習筆記(三) Shell指令碼基礎總結

2021-06-05 07:29:09 字數 2018 閱讀 4626

1.      vi編輯器快捷鍵備忘

[ctrl]+[ud]         向上/下移動半頁

n右移n個字元

h/m/l                移動到螢幕最上方/**/最下方一行

u   [ctrl]+r     復原和重做

.(點)                   重複前乙個動作

:e!                       將檔案還原到最原始狀態

[ctrl]+v              塊選擇

2.      bash shell基礎

env            環境變數

set             環境變數和其他變數

export      使變數變成環境變數,在子程式中生效

read          -p      後接提示字元, -t         等待秒數

declare     宣告變數的屬性

-a      定義為陣列

-i       定義為整數數字

-x      同export,變成環境變數

-r      唯讀屬性

history      檢視歷史命令

/etc/issue         終端介面字串(使用man issue 或 man mingetty 檢視特殊**的意思

/etc/motd         使用者登入後獲取訊息

系統設定值:

/etc/sysconfig/i18n          語系資料

/etc/profile                         path、user、mail、hostname、histsize、umask等重要變數,規定讀取其他檔案,如/etc/profile.d和/etc/inputrc等

登陸shell:

使用者登入linux系統時所取得的那個shell,對應於/etc/passwd裡面的最後一項資料。比如,我想讓使用者atom登陸後直接開啟vi,則在/etc/passwd裡atom對應的那一行最後的一項內容改為/usr/bin/vi就行了。

3.      linux常用文字處理工具總結

a)  cut –d 『分隔符』 –f fields,取出以「分隔符」分割的第fields段

cut –c 字段範圍     以字元為單位取出固定的字元範圍

b)      cat /etc/passwd | sort –t 『:』 –k 3 –n

-t,分隔符,預設是tab鍵;-k,第幾個字段;-n,使用「純數字」排序

c)      其他,wc [-lwm]; uniq [-ic]; tee [-a],雙向重定向

d)      字串轉換命令:tr, col, join(合併兩個檔案中相同的資料),paste(直接將兩行貼在一起), expand(將[tab]轉成空格鍵)

e)      split           拆分檔案

f)       -(減號)     某些命令需要用到檔名稱來處理是,stdin與stdout可以利用減號「-」來替代。

4.      awk學習總結

awk是「以行為單位處理」,而「以字段為最小的處理單位」。

變數名稱                   代表的含義

nf                                每一行($0)擁有的字段總數

nr                                當前處理的是「第幾行」資料

fs                                 分隔符,預設為空格鍵

cat /etc/passwd | awk 'begin $3 < 10 '

說明:在{}的所有操作,如需多個命令,可用分號(;)分割,或者直接以[enter]按鍵來隔開每個命令。

5.      shell指令碼的追蹤與除錯

sh [-nvx] scripts.sh

-n      不執行指令碼,僅查詢語法問題

-v      在執行指令碼前,先將指令碼的內容輸出到螢幕上

-x      將使用的指令碼內容顯示到螢幕上,便於除錯

Linux學習筆記 三 理解shell

在終端 器中 輸入等效的bash命令時會建立乙個新的 子shell bash shell 在執行的時候就是乙個程序 ps forest 命令 可以列出 shell 巢狀結構 可以在一行中依次執行一系列命令,只要在命令中間加上 分號 命令列表想要成為程序列表 要將命令包含在 括號中 另一種命令分組語法...

shell學習筆記(三)

雙向重導向 teetee a file能將資料流分別輸出到檔案和螢幕中,到螢幕中的資料輸出 stdout 就可以讓下乙個命令繼續處理。例 last tee last a last.list cut d f 1 字元轉換命令 tr col join paste expand trtr ds 字串 d ...

linux學習筆記 shell

shell bash 212一般可以將shell理解為乙個命令處理器 乙個讀取並解釋所輸入命令的程式。其次,shell還支援一些shell指令碼。使用的shell型別,可以檢視環境變數echo shell 系統可用的shell路徑儲存在 etc shells 改變登入shell可以使用chsh ch...