天天看點

shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

指令執行流順序:

從上到下(預設),特殊可變

程式:由資料和邏輯組成

1. diff

含義:比較對象的差異,僅兩者(diff files|directorys)

`企業中打更新檔更新版本資料`
輸出資訊:
[num1,num2][a|c|d][num3,num4]
num1,num2     第一個檔案中的行   
a             添加
c             更改
d             删除
<             第一個檔案中的内容

>             第二個檔案中的内容
num3,num4     第二個檔案中的行
           
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
常用參數 定義
-b 忽略空格
-B 忽略空行
-i 忽略大小寫
-c 顯示檔案所有内容并标示不同
-r 對比目錄
-u 合并輸出
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

2.patch

含義:打更新檔

patch file 布丁file

-b 備份file

shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

3.cut

含義:截取列

-d : 指定:為分隔符

-f 指定顯示的列

用法: 3 顯示第三列;3,5 3和5列;3-5 3到5列

; 5- 第五列以後; -5 到第五列

-c 指定截取的字元 ,用法:同-f

shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

4.sort(排序)

-n 純數字排序
-r 倒叙
-u 去掉重複
-o 輸出到指定檔案
-t 指定分隔符
-k 指定排序的列
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

5.uniq

含義:重複處理

-c:合并重複并統計重複個數

-d:顯示重複的行

-u:顯示唯一的行

shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

6. tr(轉義字元)

tr 'a-z' 'A-Z' :小寫轉大寫
tr 'A-Z' 'a-z' :大寫轉小寫
           

7.test(邏輯判斷)

test = []  :[] 就相當于test指令
例如:"test $a = $b" = [ "$a" = "$b" ]
           
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
test數字對比
-eq或=  :等于
-ne或!= :不等于
-le:小于等于
-lt:小于
-ge:大于等于
-gt:大于
           
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
test的條件關系
-a:并且
-o:或者
test對空的判定
-n (nozero) 判定内容不為空
-z (zero) 判定内容為空
           
**test對于檔案的判定**
-ef:檔案節點号是否一緻(硬鍊)
-nt:件1是不是比檔案2新
-ot:檔案1是不是比檔案2老
-d:目錄
-S:套結字
-L:軟連接配接
-e:存在
-f:普通檔案
-b:快裝置
-c:字元裝置
           
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

8.條件判斷

&&:符合條件作動作

||:不符合條件作動作

9.實驗

實驗1

ifconfig 網卡 可以顯示此網卡的資訊

顯示資訊中包含此網卡使用的ip位址

請用指令過濾此ip并在輸出時隻顯示ip其他資訊不顯示

shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

實驗2

找出能登陸系統使用者中UID最大的使用者,并顯示其名稱
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

實驗3

目前主機為web伺服器,請抓取通路web伺服器次數排在前5的ip位址
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

實驗4

編寫腳本完成以下條件:

file_check.sh 在執行時

如果腳本後未指定檢測檔案報錯“未指定檢測檔案,請指定”

如果腳本後指定檔案不存在報錯“此檔案不存在”

當檔案存在時請檢測檔案類型并顯示到輸出中

shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

實驗5

判定使用者是否存在,若存在則說明,若不存在,則列印,Usage:Please input username following script
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗
shell中的常用基礎指令1. diff2.patch3.cut4.sort(排序)5.uniq6. tr(轉義字元)7.test(邏輯判斷)8.條件判斷9.實驗

繼續閱讀