diff中常用的參數
-b 不檢查空格字符的不同
-B 不檢查空白行
-c 顯示全部內容,並標出不同處
-i 不檢查大小寫的不同
-p 若比較的文件爲c語言的程序碼文件是顯示差異所在的函數名稱
-q 僅顯示有無差異不顯示詳細的信息
-r 比較子目錄中的文件
目錄下建立westos/westos1 wesots1/westos1 目錄名稱相同,所以diff比較沒有區別,加上-r會遞歸比較目錄下的內容
-u 以合併的方式來顯示文件內容的不同
patch修復文件
patch指令讓用戶利用設置修補文件的方式,修改,更新原始文件。倘若一次僅修改一個文件,可直接在指令列中下達指令依序執行。如果配合修補文件的方式則能一次修補大批文件,這也是Linux系統核心的升級方法之一。
@1安裝修補軟件yum install path -y
@2比較兩個文件的不同,生成修補,進行修補,查看是否修補成功
[root@localhost mnt]# cat file 查看的file內容
hello
[root@localhost mnt]# cat file1 查看的file1內容
hello world
[root@localhost mnt]# diff file file1 比較兩個文件
1c1
< hello
---
> hello world
[root@localhost mnt]# diff file file1 > file.path 將比較結果保存到file.path
[root@localhost mnt]# cat file.path 查看補丁包的內容
1c1
< hello
---
> hello world
[root@localhost mnt]# patch -p0 file file.path 使用補丁包升級file文件
patching file file
[root@localhost mnt]# cat file 再次查看file文件
hello world file文件被修改爲與file1一樣的內容 [Click and drag to move]
cut
cut
用於顯示每行從開頭算起 num1 到 num2 的文字。
-b :以字節爲單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了 -n 標誌。
-c :以字符爲單位進行分割。
-d :自定義分隔符,默認爲製表符。
-f :與-d一起使用,指定顯示哪個區域。
-n :取消分割多字節字符。僅和 -b 標誌一起使用。如果字符的最後一個字節落在由 -b 標誌的 List 參數指示的
範圍之內,該字符將被寫出;否則,該字符將被排除
cut -d: -f 1 /etc/passwd ##以:分割開的passwd第一列顯示
cut -c 2,3 passwd ###截取第2,3個字符
Sort
sort命令用於將文本文件內容加以排序。
sort可針對文本文件的內容,以行爲單位來排序。
sort 多用於字符的排序
sort file 只對第一個字符排序
sort -n 純數字排序
sort -r 倒序
sort -u 去掉重複數字
sort -o 輸出到指定的文件中
sort -t 指定分隔符
sort -k 指定要排序的列
uniq
命令用於檢查及刪除文本文件中重複出現的行列。
uniq可檢查文本文件中重複出現的行列。
sort -rn file |uniq -c 每列旁邊顯示該行重複出現的次數
&&和||
&&用來執行條件成立後執行的命令
|| 用來執行條件不成立後執行的命令
ping -c1 -w1 172.25.254.23 &>/dev/null && echo 23 is up ||echo 23 is down ping23主機ping通則爲開啓
test 命令
[ "$a" = "$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" -lt "$b" ] && echo yes || echo no 小於
[ -z "$c" ] && echo yes || echo no 是否爲空
[ -n "$c" ] && echo yes || echo no 是否不爲空
[ "file" -ef "file1" ]&& echo yes || echo no 是否爲同一個文件 ls -i xx 相同
[ "file" -nt "file1" ]&& echo yes || echo no file比file1新
[ "file" -ot "file1" ]&& echo yes || echo no 舊
[ -e /mnt ]&& echo yes || echo no 是否爲存在
[ -d /mnt/file ]&& echo yes || echo no 是否爲目錄
[ -f /mnt ]&& echo yes || echo no 是否爲文件
[ -L /etc/system-release ]&& echo yes || echo no 是否爲鏈接
ll /etc/system-release 鏈接
yum install mariadb-server -y 安裝數據庫會有套結字
systemctl start mariadb
[ -s /var/lib/mysql/mysql.sock ] && echo yes || echo no 是否有套結字
[ -b /dev/vdb ] && echo yes || echo no 是否塊設備
[ -c /dev/pts/0 ] && echo yes || echo no 是否字符設備