命令执行流顺序:
从上到下(默认),特殊可变
程序:由数据和逻辑组成
1. diff
含义:比较对象的差异,仅两者(diff files|directorys)
`企业中打补丁更新版本数据`
输出信息:
[num1,num2][a|c|d][num3,num4]
num1,num2 第一个文件中的行
a 添加
c 更改
d 删除
< 第一个文件中的内容
> 第二个文件中的内容
num3,num4 第二个文件中的行
常用参数 | 定义 |
---|---|
-b | 忽略空格 |
-B | 忽略空行 |
-i | 忽略大小写 |
-c | 显示文件所有内容并标示不同 |
– | – |
-r | 对比目录 |
-u | 合并输出 |
2.patch
含义:打补丁
patch file 布丁file
-b 备份file
3.cut
含义:截取列
-d : 指定:为分隔符
-f 指定显示的列
用法: 3 显示第三列;3,5 3和5列;3-5 3到5列
; 5- 第五列以后; -5 到第五列
-c 指定截取的字符 ,用法:同-f
4.sort(排序)
-n | 纯数字排序 |
---|---|
-r | 倒叙 |
-u | 去掉重复 |
-o | 输出到指定文件 |
-t | 指定分隔符 |
-k | 指定排序的列 |
5.uniq
含义:重复处理
-c:合并重复并统计重复个数
-d:显示重复的行
-u:显示唯一的行
6. tr(转义字符)
tr 'a-z' 'A-Z' :小写转大写
tr 'A-Z' 'a-z' :大写转小写
7.test(逻辑判断)
test = [] :[] 就相当于test命令
例如:"test $a = $b" = [ "$a" = "$b" ]
test数字对比
-eq或= :等于
-ne或!= :不等于
-le:小于等于
-lt:小于
-ge:大于等于
-gt:大于
test的条件关系
-a:并且
-o:或者
test对空的判定
-n (nozero) 判定内容不为空
-z (zero) 判定内容为空
**test对于文件的判定**
-ef:文件节点号是否一致(硬链)
-nt:件1是不是比文件2新
-ot:文件1是不是比文件2老
-d:目录
-S:套结字
-L:软连接
-e:存在
-f:普通文件
-b:快设备
-c:字符设备
8.条件判断
&&:符合条件作动作
||:不符合条件作动作
9.实验
实验1
ifconfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示
实验2
找出能登陆系统用户中UID最大的用户,并显示其名称
实验3
当前主机为web服务器,请抓取访问web服务器次数排在前5的ip地址
实验4
编写脚本完成以下条件:
file_check.sh 在执行时
如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错“此文件不存在”
当文件存在时请检测文件类型并显示到输出中
实验5
判定用户是否存在,若存在则说明,若不存在,则打印,Usage:Please input username following script