shell基础命令
1. diff
用法:
diff [options] files | directorys
输出信息:
[num1,num2] [a|c|d] [num3,num4]
num1,num2 第一个文件中行
a 添加
c 更改
d 删除
< 第一个文件中的内容
> 第二个文件中的内容
num3,num4第二个文件中的行
常用参数
diff -b linux1 linux2 忽略空格
diff -B linux1 linux2 忽略空行
diff -i linux1 linux2 忽略大小写
diff -c linux1 linux2 显示文件所有内容标识不同
diff -u linux1 linux2 > linux合并输出
2.patch
patch 源文件 补丁文件
patch -b linux1 linux.path 备份源文件
3.cut
# cut -d : -f 1 passwd -d 分隔符 -f指定显示列
# cut -c -4 passwd -c截取字符-4 4个以前 4- 以后的字符
练习
输出ip只有数字
# vim ip.sh
# sh ip.sh
测试
4.sort
# sort -n test 排序
# sort -rn test 倒序
5.uniq
# sort -n test | uniq -c排序并统计重复个数
# sort -n test | uniq -d只显示重复出现的数字
练习脚本
ls
-
l
目
录
可以
显
示目
录
中所有文件案的属性
清按照文件大小
进
行排序并找出最大的
2
个文件并
显
示其名称
6.tr
tr 'a-z' 'A-Z' 小写转大写
tr 'A-Z' 'a-z' 大写转小写
7.test
[ ]相当于test命令
eq 等于
ne 不等于
lt 小于
le 小于等于
gt 大于
ge 大于等于
!= 不等于
test条件关系
-a 并且
-o 或者
[ "$a" -gt "0" -a "$a" -lt "10" ] && echo yes || echo no
# [ "$a" -lt "0" -o "$a" -gt "10" ] && echo yes || echo no
test对空的判断
-n nozero,判断内容不空
-z zero ,内容为空
test对于文件的判断
-ef 节点号是否一致
-nt 文件1是否比文件2新
-ot 文件1比文件2老
-d 是目录
-e 是否存在
-f 普通文件
-b 块设备
-c 字符设备
8.&& ||
&& 符合条件所做动作
||不符合条件所作动作