shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

一.diff

1.用法:

diff [optitions] files|directorys

2.输出信息:

[num1,num2][a|c|d][num3,num4]

num1,num2    #第一个文件中的行

a            #添加

c            #更改

d           # 删除

<            #第一个文件中的内容

>            第二个文件中的内容

num3,num4    第二个文件中的行 

3.常用参数:

-b        ##忽略空格

-B        ##忽略空行

-i        ##忽略大小写

-c        ##显示文件所有内容并标识不同

-r        ##对比目录

-u        ##合并输出

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

二.patch

1.patch安装

dnf install path -y

2.基本命令

patch  源文件  补丁文件

 -b            #备份原文件

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

三.cut

cut 

 -b            #指定显示字节

 -d :          #指定:为分隔符

 -f            #指定显示的列  5 第五列 

                  #3,5  3和5列

                  #3-5   3到5列

                  #-5    到第5列

                  #5-    第五列以后

 -c                           #指定截取的字符(数字用法同-f)

 --complement                 #反选

 --output-delimiter=分隔符    #指定输出的分隔符

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

四.sort

sort

-n    ##纯数字排序

-r    ##倒序

-u    ##去掉重复

-o    ##输出到指定文件

-t    ##指定分隔符

 -k    ##指定排序的列

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

练习:ls -l 目录,可以显示目录中所有文件的属性,请按照

文件大小进行排序并找出最大的两个文件,显示名称

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

五.uniq 

uniq

 -c    #合并重复并统计重复个数

 -d    #显示重复的行

 -n    #显示唯一的行

练习:显示访问Apache服务器次数最多的用户,显示ip与访问次数

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

六.test

test = []        #[]    相当于test命令

"test $a = $b" = [ "$a" = "$b" ]

2. test的数字对比

test

 =    

 !=    

-eq   ##等于

-ne  #不等于

 -le  #小于等于

 -lt  #小于

 -ge  #大于等于

 -gt  #大于

3. test的条件关系

test

 -a            #并且
 -o            #或者

4.test对空的判定

test

-n    #nozero    判定内容不为空

 -z    #zero      判定内容为空

5. test对文件的判定

test

 -ef    #文件节点号是否一致(硬连)

-nt    #文件1比文件2新

 -ot    #文件1比文件2旧

-d     #目录

 -S     #套接字

 -L     #软连接

 -e     #存在

-f     #普通文件

-b     #块设备

 -c     #字符设备

练习1:检测网络是否通畅,通畅则输出yes和日历,不同则输出no和时间

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

练习2:监控/dev/sda3的使用情况,如果占用超过20%则向root用户发送邮件

dnf install mailx -y

dnf install postfix -y

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)

七.tr

tr ‘a-z’  'A-Z’              #小写转大写

tr 'A-Z' 'a-z'               #大写转小写

shell中的常用命令(diff,patch,cut,sort,uniq,tr,test)