t :當加入-t時type會將command以下列的字眼顯示出它的意義:
file:外部命令
alias:該命令是某一命令設置的別名
builtn:該命令是bash的內置命令
p:如果後邊接的是外部命令,就顯示完整文件名
a:會從PATH變量定義的路徑中,將所有含有command的命令都列出來
2. bash中變量的顯示和設置:(顯示變量)eccho $變量名
(設置變量)變量名=變量值
變量的設置規則:變量和變量值以一個=連接
等號兩邊不能直接接空格符
變量名稱只能是英文字母和數字,而且不能以數字開頭
變量內容若有空格符可以使用雙引號” “或者單引號’ ‘將變量內容結合起來:
雙引號裡邊有特殊字符的可以保留原來的本意
單引號裡邊的特殊字符僅僅是一般字符(純文本)
可以使用轉義字符” \ “將特殊字符轉換成為一般字符
在一串命令中還需要通過其他命令提供的信息,可以使用反單引號“ `命令` ”或者是“$(命令)”這樣的方式來引用
若該變量為了增加變量內容時,則可以使用”變量名稱"或者是變量名稱"或者是{變量}的方式來累加內容
若要使變量在其子進程也能使用,則需要使用export命令來將其轉換乘為環境變量
通常大寫字符為系統默認變量,自定義變量為小寫字符
取消變量可以使用unset命令:
unset 變量名稱
3. 列出當前shell環境下的所有環境變量和內容:evn
或者是
export
4. 變量內容的刪除: 變量的刪除主要是通過#和##以及通配符*來解決的
#:符合替換文字的最短的一個
##:符合替換文字的最長的一個
%:從後邊開始匹配要刪除的字符的最短的一個
%:從後邊開始匹配要刪除的字符的最長的一個
*:代替0到無窮多個任意字符
例如:
命令解釋:
刪除了從最開始一直到usr/sbin:這個內容的變量值。path是要操作的變量名,後邊加一個#比哦啊是替換符合文字的最短的一個,後邊就跟上要刪除的變量值,其中用*代替任意多個字符,一直到user/sbin:這個內容為止。
5. 變量內容的替換:變量內容額替換主要是通過/和//來完成
/:若變量內容符合舊字符串,則第一個舊字符串會被替換
//:若變量內容符合舊字符串,則全部的舊字符串會被替換掉
例如:
6. 別名設置:
(設置別名)alias 命令別名 命令
(取消別名)unalias 別名
alias lm=’ls -l | more’
這樣之後執行lm命令時就相當於執行ls -l 和more命令
7. 歷史命令:history
history [-c]
history [-raw] histfiles
n:數字,要列出的最近的n條命令
- c:將目前shell中的所有history都刪除
- a:將目前新增的history增加到histfiles中
- r: 將histfiles中的命令讀到當前shell的緩沖中
- w:將目前的history中的內容寫到histfiles中
8. 數據流重定向:標准的輸入:代碼為0,使用<或者<<
標准的輸出:代碼為1,使用>或者>>
標准的錯誤輸出:代碼為2,使用2>或者2>>
>和>>的區別在於在寫入數據時>會自動覆蓋文件中的已有數據,而>>則是以追加的方式寫入
例如:
9. 命令執行判斷依據:
cmd ; cmd
;:依次執行兩個不相關的命令
或者
cmd && cmd
cmd || cmd
(用於排列整齊的信息) cut -c 字符范圍
d:後邊接分割字符,與-f一起使用
f:依據-d後邊的分割字符將一段信息切割成數段,並用-f取出第幾段
c:以字符的單位取出固定字符區間
或者:
grep [-acunv] [–color=auto] ‘查找字符串’ filename
a:將二進制文件以txt的方式查找數據
c:計算找到字符串的次數
i:忽略大小寫不同
n:順便輸出行號
v:反向輸出,即輸出不包含要查訊字符串的那一行
color=auto:將找到的關鍵字部分加上顏色區分
sed [-nefr] [動作]
n:使用安靜模式,只有進過sed處理的那一行才會被列出
e:直接在命令行的模式上進行sed編輯
f:直接將sed的命令寫在一個文件內,-f filename可以直接執行filename內的sed動作
r:sed的動作支持的是拓展型的正則表達式的語法
i:直接修改文件讀取的內容而不是屏幕輸出
動作:[n1[,n2]]function
function參數:
a:新增,a的後邊可以接字符串,而這些字符串會出現在新的一行
c:替換,c的後邊可以接字符串,這些字符串可以替換n1,n2之間的行
d:刪除
i:插入,i的後比那也可以接字符串,而且字符串會出現在新的一行
p:打印,將某個選擇的數據打印出來
s:替換,可以直接進行替換的工作
3. 拓展的正則表達式:
printf ‘打印格式’ 實際內容
\a:警告聲音輸出
\b:退格鍵
\f:清除屏幕
\n:輸出新的一行
\r:Enter鍵
\t:水平的Tab鍵
\v:豎直方向的Tab鍵
\xNN:NN為兩位數的數字,可以將其轉換成為字符
5. awk:awk ‘條件類型1 {動作1} 條件類型2 {動作2} 條件類型3 {動作3}….’ filename