1.diff命令
作用:比较两个文件或目录的不同
格式:diff [options] target1 target2
diff file1 file2比较两个文件的不同之处
diff direcory1 directory2比较两个目录的不同之处
(1)diff 在比较文件过程中结果读取方式
[num1,num2][a|c|d][num3,num4]
num1,num2 表示在第一个文件中的行数
num3,num4 表示在第二个文件中的行数
a | 表示添加 (add) |
---|---|
c | 表示更改 (change) |
d | 表示删除 (delete) |
< | 表示第一个文件中的内容 |
> | 表示第二个文件中的内容 |
- - - | 分割线 |
例:2,4c2,4 表示改变第一个文件中的第二行和第四行才能匹配第二个文件中。
(2)diff 在比较目录过程中结果的读取
Only in directroy/: filename只有directroy这个目录有filename这个文件
directory 表示在这个目录中
filename 表示在这个目录的文件
(3)diff 中常用的参数
-b | 不检查空格字符的不同 |
---|---|
-B | 不检查空白行 |
-i | 不检查大小写的不同 |
-q | 仅显示有无差异,不显示详细的信息 |
-c | 显示全部内文,并标出不同之处 |
-p | 若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称 |
-r | 比较子目录中的文件 |
-u | 以合并的方式来显示文件内容的不同 |
2.patch命令
作用:用于不同文件打补丁
命令格式 patch [options] file.old(旧文件) file.path(补丁文件)使用补丁文件来完善旧文件
3.cut命令
作用:用于字符截取
cut -d | 指定分隔符 |
---|---|
cut -f 1,7|1-7 | 指定截取的列(需指定分割符) |
cut -c 1,4|1-4 | 指定截取的字符位置(不需要指定分隔符) |
注:1,7表示第一列和第七列;1-7表示第一列到第七列
4.sort命令
作用:用于字符排序
sort -n | 纯数字排序 |
---|---|
sort -r | 倒序 |
sort -u | 去掉重复数字 |
sort -o | 输出到指定文件中 |
sort -t | 指定分隔符 |
sort -k | 指定要排序的列 |
5.uniq命令
作用:对重复的字符做相应的处理
uniq -u | 显示唯一的行 |
---|---|
uniq -d | 显示重复的行 |
uniq -c | 每行显示一次并统计重复次数 |
6.&&和||
&&:用来执行条件成立后执行的命令
| |:用来执行条件不成立后执行的命令
7.test命令
test 命令和 [ ] 等同,且其中的 “=” 与 “==” 意思相同
test "$A" == "$B" 等同 [ "$A" == "$B" ]
[ "$A" = "$B" ] //相等
[ "$A" != "$B" ] //不相等
[ "$A" -eq "$B" ] //等于
[ "$A" -ne "$B" ] //不等于
[ "$A" -le "$B" ] //小于等于
[ "$A" -lt "$B" ] //小于
[ "$A" -ge "$B" ] //大于等于
[ "$A" -gt "$B" ] //大于
[ "$A" -ne "$B" -a "$A" -gt "$B" ] //-a:与条件(and)
[ "$A" -ne "$B" -o "$A" -gt "$B" ] //-o:或条件(or)
[ -z "$A" ] //判断是否为空;-z:zero--空为真
[ -n "$A" ] //条件相反就是真
[ "file1" -ef "file2" ] //判断前后两个文件是否互相为硬链接
[ "file1" -nt "file2" ] //判断前面的硬链接是否新;file1新为真
[ "file1" -ot "file2" ] //判断前面的硬链接是否旧:file1旧为真
[ -e "file" ] //判断文件是否存在
[ -f "file" ] //判断文件是否为普通文件
[ -d "file" ] //判断是否为目录
[ -L "file" ] //是否为软链接
[ -S "file" ] //判断是否为套接字
[ -b "file" ] //判断是否为块设备
[ -c "file" ] //判断是否为字符设备
8.tr命令
作用:可以对来自标准输入的字符进行替换
tr 'a-z' 'A-Z'