指令執行流順序:
從上到下(預設),特殊可變
程式:由資料和邏輯組成
1. diff
含義:比較對象的差異,僅兩者(diff files|directorys)
`企業中打更新檔更新版本資料`
輸出資訊:
[num1,num2][a|c|d][num3,num4]
num1,num2 第一個檔案中的行
a 添加
c 更改
d 删除
< 第一個檔案中的内容
> 第二個檔案中的内容
num3,num4 第二個檔案中的行
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3lFVNBTUE5UMVpHW3BjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwkzNzADOzITM1ITNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
常用參數 | 定義 |
---|---|
-b | 忽略空格 |
-B | 忽略空行 |
-i | 忽略大小寫 |
-c | 顯示檔案所有内容并标示不同 |
– | – |
-r | 對比目錄 |
-u | 合并輸出 |
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 | 指定排序的列 |
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" ]
test數字對比
-eq或= :等于
-ne或!= :不等于
-le:小于等于
-lt:小于
-ge:大于等于
-gt:大于
test的條件關系
-a:并且
-o:或者
test對空的判定
-n (nozero) 判定内容不為空
-z (zero) 判定内容為空
**test對于檔案的判定**
-ef:檔案節點号是否一緻(硬鍊)
-nt:件1是不是比檔案2新
-ot:檔案1是不是比檔案2老
-d:目錄
-S:套結字
-L:軟連接配接
-e:存在
-f:普通檔案
-b:快裝置
-c:字元裝置
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.實驗