參考Linux shell腳本攻略(第二版)
第一章
1./proc/$PID/environ 查看跟進程相關的環境變量
2.${#var} 變量長度
3.算數運算let expo (()) ,[]
let result=no1+no2
result=$[no1+no2]
result=$((no1+no2))
4.0----標準輸入
1----標準輸出
2----標準錯誤
5.<,>,>>,<<
重定向符前面是覆蓋,后面是追加內容
6.數組
初始化array=(1 2 3 4 5)
array[0]=1
array[1]=2
array[2]=3
${array[index]}
遍歷數據
${array[]}(用得少,輸出成一個變量)
${array[@]}(根據定界符分割成多個字符串)
7.關聯數組(鍵值對)*
declare -A array
賦值array=([index1]=val1 [index2]=val2)
8.輸出腳本執行過程-x
9.管道
10.$@ 輸入變量引用
11.定界符IFS
12.比較-a與 -o或
13.文件比對
[ -f ]文件
[ -x ]可執行
[ -d ]目錄
[ -e ]是否存在
[ -c ]字符設備文件
[ -w ]可寫
[ -r ]可讀
14.字符比較
[ -z ]為空
[ -n ]不為空
第二章
1.cat
-s 刪除多余空白行
-n 顯示行號
2.find
find dir -name "file-name" -print
ex. find . ( -name ".txt" -o -name ".pdf" ) -print
i 否定參數
-print0 以'\0'分割
-regex 正則
-maxdepth 最大深度
-mindepth 最小深度
-type 文件類型(f,d,l,c,b)
-perm 文件權限(數字)
-user 文件所有者
-exec 執行命令{}->搜索結果
3.xargs
-d 指定定界符
-n 分成n行
-0 以'\0'為分隔符
4.tr
直接收標準輸入
-d 刪除字符
-c 補集
-s 壓縮字符(替換多余的,壓縮成1個)
5.sort
-n 按數字排序
-r 逆序
-M 按月份
-m 合并文件
-k 按哪一列排序
6.uniq
去除重復行
7.split
-b 分割成