######1.diff 命令######
diff 命令是用来比较两个文件或目录的不同
diff [options] target1 target2
###1.diff 在比较文件过程中结果读取方式###
diff file1 file2
[num1 , num2] [a|c|d] [num3,num4]
num1,num2 表示在第一个文件中的行数
a 表示添加 ----add
c 表示更改 ----change
d 表示删除 ----delete
< 第一个文件中的内容, > 第二个文件中的内容, --- 分割线
num3,num4 表示在第二个文件中的行数
[num] [a|c|d] [num]表示改变第一个文件中的第n行才能匹配第二个文件中的第n行
###2.diff 在比较目录过程中结果的读取###
diff -r direcory1 directory2
Only in directroy/: filename
directory 表示在那个目录中, filename 表示在这个目录
diff -r xxx1 xxx2 ##比较子目录中的文件
###3.diff 中常用的参数###
-b 或 --ignore-space-change ##不检查空格字符的不同
-B 或 --ignore-blank-lines ## 不检查空白行
-c ##显示全部内文,并标出不同之处
-i 或 --ignore-case ##不检查大小写的不同
-p : ##若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称
-q 或 --brief ##仅显示有无差异,不显示详细的信息
-r 或 --recursive ##比较子目录中的文件
-u ##以合并的方式来显示文件内容的不同
diff -b xxx1 xxx2 ##不检查空格字符的不同
diff -B xxx1 xxx2 ## 不检查空白行
diff -c xxx1 xxx2 ##显示全部内文,并标出不同之处
diff -i xxx1 xxx2 ##不检查大小写的不同
diff -q xxx1 xxx2 ##仅显示有无差异,不显示详细的信息
diff -u xxx1 xxx2 ##以合并的方式来显示文件内容的不同
######2.patch命令######
用于不同文件打补丁
patch [options] file.old file.path
-b ##备份文件
######3.cut命令######
cut 命令多用与字符截取
cut -d ##指定分隔符
cut -f ##指定截取的列
cut -c ##指定截取的字符位置
######4.sort命令######
多用于字符排序
sort -n ##纯数字排序
sort -r ##倒序
sort -u ##去掉重复数字
sort -o ##输出到指定文件中
sort -t ##指定分隔符
sort -k ##指定要排序的列
sore xxx ##默认排序
(默认按第一位数字的大小排序,如果有字母,数字在字母后面排)
sort -n ##纯数字排序
sort -r ##倒序
sort -u ##去掉重复数字
sort -t ##指定分隔符
sort -k ##指定要排序的列
######5.uniq命令######
对重复字符做相应的处理
uniq -u ##显示唯一的行
uniq -d ##显示重复的行
uniq -c ##每行显示一次并统计重复次数
######6.&& 和 || ######
&& 用来执行条件成立后执行的命令
|| 用来执行条件不成立后执行的命令
######7.test命令######
用于检测某个条件是否为真,可以对数值、字符、文件进行测试
test 命令和 [ ] 等同
test "$A" == "$B" 等同 [ "$A" == "$B" ]
###1.数值###
[ "$A" = "$B" ] [ "$A" -eq "$B" ] ##A等于B
[ "$A" != "$B" ] [ "$A" -ne "$B" ] ##A不等于B
[ "$A" -le "$B" ] ##A小于等于B
[ "$A" -lt "$B" ] ##A小于B
["$A" -ge "$B" ] ##A大于等于B
["$A" -gt "$B" ] ##A大于B
["$A" -ne "$B" -a "$A" -gt "$B" ] ##A不等于B并且A大于B
["$A" -ne "$B" -o "$A" -gt "$B" ] ##A不等于B或者A大于B
###2.字符串###
[-z "$A" ] ##为零则为真
[-n "$A" ] ##不为零则为真
###3.文件###
["file1" -ef "file2" ] ##file1和file2是否是同一个文件
["file1" -nt "file2" ] ##file1比file2建立的时间晚
["file1" -ot "file2" ] ##file1比file2建立的时间早
[-e "file" ] ##是否存在
[-f "file" ] ##是否为文本文件
[-L "file" ] ##是否为链接
[-S "file" ] ##是否为套接字
[-b "file" ] ##是否为块设备
[-d "file" ] ##是否为目录
[-c "file" ] ##是否为字符设备