diff 命令
diff 命令是用来比较两个文件或目录的不同
diff [options] target1 target2
diff file1 file2
diff direcory1 directory2
diff 在比较文件过程中结果读取方式
[num1 , num2][a|c|d][num3,num4]
num1,num2 表示在第一个文件中的行数
a 表示添加 ----add
c 表示更改 ----change
d 表示删除 ----delete
< 表示第一个文件中的内容,
表示第二个文件中的内容,
— 分割线
num3,num4 表示在第二个文件中的行数
2,4c2,4 表示改变第一个文件中的第二行和第四行才能匹配第二个文件中
的第二行和第四行
diff 在比较目录过程中结果的读取
Only in directroy/: filename
directory 表示在那个目录中
filename 表示在这个目录
diff 中常用的参数
-b 或 --ignore-space-change 不检查空格字符的不同
-B 或 --ignore-blank-lines 不检查空白行
-c 显示全部内文,并标出不同之处
-i 或 --ignore-case 不检查大小写的不同
-p :若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称;
-q 或 --brief :仅显示有无差异,不显示详细的信息
-r 或 --recursive :比较子目录中的文件
-u 以合并的方式来显示文件内容的不同
pacth命令
用于文件不同文件打布丁
patch [options] file.old file.path
-b 保留源文件
cut
cut 命令多用与字符截取
命令 | 参数 | 参数 | 作用 |
---|---|---|---|
cut | -d | 指定分隔符 | |
cut -f | 1,7 | 1-7 | 指定截取的列 |
cut -c | 1,4 | 1-4 | 指定截取的字符位置 |
sort多用于字符排序
命令 | 参数 | 作用 |
---|---|---|
sort | -n | 纯数字排序 |
sort | -r | 倒序 |
sort | -u | 去掉重复数字 |
sort | -o | 输出到指定文件中 |
sort | -t | 指定分隔符 |
sort | -k | 指定要排序的列 |
uniq对重复字符做相应的处理
uniq -u 显示唯一的行
uniq -d 显示重复的行
uniq -c 每行显示一次并统计重复次数
&& 和 ||
&& 用来执行条件成立后执行的命令
|| 用来执行条件不成立后执行的命令
例如:
ping -c1 -w1 172.25.254.111 && echo up
ping -c1 -w1 172.25.254.111 || echo up
练习:ping 一个ip能ping通显示upping不通显示down
test 命令
test 命令和 [] 等同
test "$A" == "$B" 等同 [ "$A" == "$B" ]
[ "$A" = "$B" ]
[ "$A" != "$B" ]
[ "$A" -eq "$B" ]
[ "$A" -ne "$B" ]
[ "$A" -le "$B" ]
[ "$A" -lt "$B" ]
test 命令
[-e “file” ] 文件是否存在
[-f “file” ] 是否为文件
[-L “file” ] 是否为软链接
[-S “file” ] 是否为套接字
[-b “file” ] 是否为块设备
[-d “file” ] 是否为目录
[-c “file” ] 是否为字符设备