diff:用來比較兩個檔案或者目錄的不同
常用引數:
-b 不檢查空格字元
-b 不檢查空行
-c 顯示全部內容並且標出不同
-i 檢查大小寫不同
-q 僅僅顯示有無差異,不顯示詳細資訊
-r 比較子目錄中的檔案
-u 以合併的方式來顯示檔案內容的不同
diff在比較檔案過程中結果讀取方式:
a 新增
c 更改
d 刪除
例:
vim file1
vim file2
diff file1 file2
diff file2 file1
vim file2
diff file1 file2
vim file2
diff -b file1 file2 #不檢測空格字元
vim file2
diff -b file1 file2 #不檢測空行
diff -c file1 file2 #顯示所有內容並,標出不同之處
mkdir westos1 westos2
mkdir /westos1/westos3
diff -r westos1 westos2
diff -u file1 file2
diff -u file1 file2 > file.path
patch : 用於檔案不同檔案打補丁
-bcat file.path
patch -b file1 file.path #加上-b不會刪除原始檔,並且會生成file1.orig檔案
cat file1 file2
cut #用於字元擷取
常用引數:
-d 指定分割符
-f 擷取的列
-c 擷取字元的位置
例:
擷取 172.25.254.251
ifconfig eth0
ifconfig eth0 | cut -d " " -f 10 | head -n 2 | tail -n 1
ifconfig eth0 | awk '/inet\>/' #擷取ifconfig eth0資訊中 172.25.254.251
sort #用於字元排序
常用引數:
-n 純數字排序
-r 倒序
-u 去掉重複數字
-o 輸出到指定檔案中
-t 指定分割符
-k 指定排序的列
cp /etc/*.conf /mnt
ls -l | sort -t " " -k 5 -nr | head -n 5 | cut -c 43-
ls -s | head -n 5 #按第5列排序並且輸出最大的檔名稱
uniq #對重複的字元作相應處理
常用引數:
-u 顯示唯一的行
-d 顯示重複的行
-c 每行顯示一次並統計重複次數
&& 用來執行條件成立執行的命令
|| 用來執行條件成立執行的命令
vim ping.sh||}
sh ping.sh 172.25.254.111 #拔掉網線測試
172.25.254.111 is down
sh ping.sh 172.25.254.111
172.25.254.111 is up
tr #大小寫轉化
test和等同 使用注意內容前後必須加上空格 [空格 內容 空格]
常用引數:
-z #為空
-n #不為空
-ef #節點號是否相同
-nt #file1是否比file2建立的晚
-ot #file1是否比file2建立的早
-e #檔案存在
-f #檔案存在並且是正規檔案
-l ##軟鏈結 ln -s file westos ll westos
-s ##socket 套接字 yum install -y mariadb-server ll /var/lib/mysql/
-b ##block 塊裝置 ll /dev/sda
-d ##目錄
-c ##字元裝置 ls /dev/pts date > /dev/pts/5
= #等於
-lt #小於
-le #小於等於
-ge #大於等於
-gt #大於
a=1;b=2
[ "$a" = "$b" ] && echo yes || echo no
[ "$a" -lt "$b" ] && echo yes || echo no
[ "$a" -le "$b" ] && echo yes || echo no
[ "$a" -ge "$b" ] && echo yes || echo no
[ "$a" -gt "$b" ] && echo yes || echo no
a=2;b=2
[ "$a" -ge "$b" ] && echo yes || echo no
vim test.sh
sh test.sh 5
yessh test.sh 11
no#判斷/的記憶體使用率,當超過30%時在/var/log/messages下發出報警
vim mnt.sh
' | cut -d % -f 1` -ge "30" ]&&
}
sh mnt.sh
#判斷檔案屬性
[ -e "$1" ] ||
[ -l "$1" ] &&
[ -f "$1" ] &&
[ -d "$1" ] &&
[ -b "$1" ] &&
[ -c "$1" ] &&
}
shell 常用命令
shell 程式設計中使用到得if語句內判斷引數 b 當file存在並且是塊檔案時返回真 c 當file存在並且是字元檔案時返回真 d 當pathname存在並且是乙個目錄時返回真 e 當pathname指定的檔案或目錄存在時返回真 f 當file存在並且是正規檔案時返回真 g 當由pathname...
shell常用命令
1.echo echo 用於輸出,相當於c語言中的printf 用echo輸出變數的值,需要在變數前面加 輸出a的值 a 1echo a shell中變數不需要定義,直接賦值 要用到變數時,需要加 2.管道 命令之間的輸入。將乙個命令的輸出作為另乙個命令的輸入。管道相當於一種過濾功能。3.grep ...
Shell常用命令
shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...