目录
1. diff
1.1 基本概念
diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。
1.2 用法
diff [options] files|directorys
1.3 输出信息
[num1,num2][a|c|d][num3,num4]
num1,num2 ## 第一个文件中的行
a ## 添加
c ## 更改
d ## 删除
num3,num4 ## 第二个文件中的行
1.4 常用参数
参数 | 功能 |
---|---|
-b | 忽略空格 |
-B | 忽略空行 |
-i | 忽略大小写 |
-c | 显示文件所有内容并标示不同 |
-r | 对比目录 |
-u | 合并输出 |
1)忽略空格
2)忽略空行
3)忽略大小写
4)显示文件所有内容并标示不同
5)对比目录
6)合并输出
2. patch
patch命令被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。
2.1 patch的安装
dnf install patch -y ## 安装patch命令
2.2 patch的用法
patch 原文件 补丁文件
参数 作用
-b ## 备份原文件
3. cut
cut命令用来显示行中的指定部分,删除文件中指定字段。
3.1 cut的功能
一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上
二是连接两个或多个文件,将几个内容合并起来,然后通过输出重定向符“>”的作用,将它们放入一个文件中
3.2 cut的用法
cut options [file]
3.3 cut的参数
参数 | 功能 |
---|---|
-b | 仅显示行中指定直接范围的内容 |
-c | 仅显示行中指定范围的字符,其后内容与“-f”类似 |
-f | 显示指定字段的内容 3-5为3到5列,-5到第5列,5-第5列之后 |
-d | 指定字段的分隔符 : “ ”等等,默认的字段分隔符为“TAB”,与-f连用 |
–complement | 反选 |
–output-delimiter=分隔符 | 指定输出的分隔符 |
实验:
ifconfig 网卡来显示此网卡的信息,显示的信息中包含此网卡使用的IP地址。请用命令过滤此ip并在输出时只显示ip
4. sort
sort命令,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。
参数 | 功能 |
---|---|
-n | 纯数字排序 |
-r | 倒叙 |
-u | 去掉重复 |
-o | 输出到指定文件 |
-t | 指定分隔符 |
-k | 指定排序的列 |
1)排序
2)纯数字排序
3)纯数字倒序
4)纯数字倒序去重复
5)输出到file
6)指定分隔符,指定第二列排序
实验:
ls -l 目录显示目录中所有文件的属性,请按照文件大小进行排序并找出最大的两个文件并显示其名称
5. uniq
uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
参数 | 命令 |
---|---|
-c | 合并重复并统计重复个数 |
-d | 仅显示重复的行 |
-u | 显示唯一的行 |
实验:检测apache服务器被谁访问的次数最多,显示访问者ip并显示访问次数
6. tr
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。
6.1 tr的基本用法
tr 'a-z' 'A-Z' ##小写转大写
tr 'A-Z' 'a-z' ##大写转小写
输入字符大小写转换
删除字符
压缩字符
7. test
test命令是shell环境中测试条件表达式的实用工具
[ ] 相当于test命令
"test $a = $b" 和 [ "$a" = "$b" ]效果一样
7.1 test数字对比
=
!=
-eq ## 等于
-ne ## 不等于
-le ## 小于等于
-lt ## 小于
-ge ## 大于等于
-gt ## 大于
7.2 test条件关系
-a ## 并且
-o ## 或者
7.3 test对空判断
-n ## nozero 判定内容不为空
-z ## zero 判定内容为空
7.4 test对文件判定
-ef ## 文件ID是否一致(硬链)
-nt ## 文件1是不是比文件2新
-ot ## 文件1是不是比文件2老
-d ## 目录
-S ## 套接字
-L ## 软连接
-e ## 存在
-f ## 普通文件
-b ## 块设备
-c ## 字符设备
实验:当/使用量超过80%发送警告邮件到root用户的邮箱中。
dnf install postfix -y
vim /mnt/disk.sh
vim /etc/cron.d/disk ##设置定时任务
* * * * * root sh /mnt/disk.sh
8. && ||
&& || :表示当前正在进行的动作,条件成立作 && 动作,条件不成立作 || 动作