格式:diff [options] target1 target2
選項:
-b #不檢查空格字符
-B #不檢查空白行
-c #顯示全部內(nèi)容并標出不同
-i #不檢查大小寫不同
-q #顯示是否存在不同
-r #比較子目錄文件
-u #以合并的方式顯示文件內(nèi)容不同(可重定向輸出結(jié)果用于對文件進行打補丁)
例
(1)diff file1 file2
比較文件不同之處
、
結(jié)果分析
表示第一個文件的第一行和第二個文件的第一行修改后便可相同
[n1,n2][a|c|d][n3,n4]
n1,n2為第一個文件行數(shù)
n3,n4為第二個文件行數(shù)
a添加
c修改
d刪除
<第一個文件內(nèi)容
>第二個文件內(nèi)容
(2)diff -b file1 file2
忽略文件空格linux常用命令linux常用命令,文件內(nèi)容需本身存在空格
(3)diff -c file1 file2
顯示全部內(nèi)容并顯示不同
(4)diff -q file1 file2
查看文件是否存在不同
(5)diff -i file1 file2
比較文件忽略大小寫
兩文件存在不同,但忽略大小寫時判斷,文件便相同
(6)diff -r dir1 dir2
比較目錄下子文件
顯示存在不同的結(jié)果
安裝patch
命令:yum install patch
命令:diff -u file1 file2
以合并的形式查看文件的不同
將輸出內(nèi)容進行重定向用于補丁文件
命令:diff -u file1 file2 > file.path
對file2文件進行打補丁
命令:patch file2 file.path
打完補丁之后兩文件相同
主要用于字符的截取
格式:cut [選項][參數(shù)]
選項:
-d 指定分隔符
-f 指定字段內(nèi)容
-c 指定范圍內(nèi)字符
參數(shù):
指定進行過濾的目標
例:
將/etc/passwd文件以:作為分隔符,第一列進行顯示
命令:cut -d ":" -f 1 /etc/passwd
針對文件的內(nèi)容以行進行排序
參數(shù):
-n 按照數(shù)值大小
-r 倒序
-u 去除重復
-o 輸出到指定文件
-t 指定分隔符
-k 指定排序的列
例:
sort將文件中每一行為單位進行比較
命令:sort file1
去除重復行進行排序
命令:sort -u file1
按照數(shù)值大小進行排序
命令:sort -n file2
用于檢查和刪除文件中重復的行
若單獨使用該命令,重復行需相鄰,否則判斷為不同
參數(shù):
-u 顯示唯一行
-d 顯示重復行
-c 顯示行出現(xiàn)次數(shù)
例:
顯示唯一行
命令:uniq -u file1
顯示重復行
命令:uniq -d file1
顯示行出現(xiàn)次數(shù)
命令:uniq -c file1
抓取last -i 顯示內(nèi)容中登陸最多ip
命令:last -i |grep 0.0.0.0 -v| grep wtmp -v | cut -d " " -f 14 | uniq -c | sort -rn |head -n 1
grep 反向過濾
cut 對字符截取
uniq 檢查重復行
sort 倒序并排序
&&執(zhí)行條件成功后執(zhí)行
||執(zhí)行條件失敗后執(zhí)行
測試:編寫ping命令腳本成功顯示xxx.xxx.xxx.xxx is up
#!/bin/bash
ping -w1 -c1 $1 &&echo $1 is up || echo $1 is down
-w1 表示執(zhí)行ping一次