一.diff
(一)用法:
diff [options] files|directorys
输出信息:
[num1,num2][a|c|d][num3,num4]
num1,num2 ##第一个文件中的行
a ##添加
c ##更改
d ##删除
#< ##第一个文件中的内容
#> ##第二个文件中的内容
num3,num4 ##第二个文件中的行
(二)常用参数:
-b ##忽略空格
-B ##忽略空行
-i ##忽略大小写
-c ##显示文件所有内容并标示不同
-r ##对比目录
-u ##合并输出
二.patch
patch 原文件 布丁文件
-b ##备份原文件
三.cut
cut
-d : ##指定:为分隔符
-f ##指定显示的列 5第五列 | 3,5 3和5列 | 3-5 3到5列 | 5- 第五列以后 |-5 到第五列
-c ##指定截取的字符(数字用法同-f)
四.sort
(一)
参数 | 内容 |
---|---|
-n | 纯数字排序 |
-r | 倒叙 |
-u | 去掉重复 |
-o | 输出到指定文件 |
-t | 指定分隔符 |
-k | 指定排序的列 |
(二).uniq
参数 | 内容 |
---|---|
-c | 合并重复并统计重复个数 |
-d | 显示重复的行 |
-u | 显示唯一的行 |
测试:
1.ifconfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示
2.找出能登陆系统用户中UID最大的用户,并显示其名称
3.当前主机为web服务器,请抓取访问web服务器次数排在前5的ip地址
六.tr
tr ‘a-z’ ‘A-Z’ ##小写转大写
tr ‘A-Z’ ‘a-z’ ##大写转小写
七.test
test = [ ] ##[ ] 就相当于test命令
"test $a = $b"= [ "$a" = "$b" ]
(一)test数字对比
符号 | 含义 |
---|---|
= | |
!= | |
-eq | 等于 |
-ne | 不等于 |
-le | 小于等于 |
-lt | 小于 |
-ge | 大于等于 |
-gt | 大于 |
(二)test的条件关系
-a ##并且
-o ##或者
(三)test对空的判定
-n ##nozero 判定内容不为空
-z ##zero 判定内容为空
测试
执行下列脚本来判断用户类型
sh user_check.sh 用户
用户类型为
super user
system user
common user
1 #!/bin/bash/
2 [ -z "$1" ] &&{
3 echo Error: Wrong format,Please input username following script !!
4 exit
5 }
6 id $1 &>/dev/null ||{
7 echo user $1 is no exist !!
8 exit
9 }
10 [ "$(id -u $1)" = "0" ] && {
11 echo $1 is super user !!
12 exit
13 }
14 [ "$(id -u $1)" -lt "1000" ] && {
15 echo $1 is system user !!
16 exit
17 }
18 echo $1 is common user !!
(四)test对于文件的判定
参数 | 作用 |
---|---|
-ef | 文件节点号是否一致(硬链) |
-nt | 文件1是不是比文件2新 |
-ot | 文件1是不是比文件2老 |
-d | 目录 |
-S | 套结字 |
-L | 软连接 |
-e | 存在 |
-f | 普通文件 |
-b | 快设备 |
-c | 字符设备 |
测试
编写脚本完成以下条件:
file_check.sh 在执行时
如果脚本后未指定检测文件报错“please input 文件名!!”
如果脚本后指定文件不存在报错“文件不存在!!”
当文件存在时请检测文件类型并显示到输出中
1 #!/bin/bash/
2 [ -z "$1" ] &&{
3 echo please input 文件名!!
4 }
5 [ -e "$1" ] &&{
6 [ -d "$1" ] &&{
7 echo $1 目录
8 }
9 [ -S "$1" ] &&{
10 echo $1 套接字
11 }
12 [ -L "$1" ] &&{
13 echo $1 软连接
14 }
15 [ -f "$1" ] &&{
16 echo $1 普通文件
17 }
18 [ -b "$1" ] &&{
19 echo $1 快设备
20 }
21 [ -c "$1" ] &&{
22 echo $1 字符设备
23 }
24 exit
25 }||echo $1 不存在!!
八.&& ||
&& 符合条件作动作
|| 不符合条件作动作
测试
检测某个IP是否能够通信
#!/bin/bash/
ping -c 1 -w 1 $1 &>/dev/null &&{
echo $1 is up
echo good
}||{
echo $1 is down
echo bad
}