文章目录
1. diff 比较文本文件
命令格式:diff [options] files或directorys
1.1 diff 输出信息解释
输出信息 [num1,num2][a|c|d][num3,num4]
num1,num2 第一个文件中的行
a 添加
c 更改
d 删除
< 第一个文件中的内容
> 第二个文件中的内容
num3,num4 第二个文件中的行
1.2 diff 参数详解
|
|
---|---|
|
忽略空格 |
|
忽略空行 |
|
忽略大小写 |
|
显示文件所有内容,并标示不同 |
|
对比目录 |
|
合并输出 |
|
仅显示有无差异,不显示详细的信息 |
1.3 diff 命令使用示例
- 比较文件
- 比较文件,忽略空格 -b
- 比较文件,忽略空行 -B
- 比较文件,忽略大小写 -i
- 显示文件所有内容,并标示不同
2. patch 补丁
安装补丁程序:dnf install patch -y
命令格式:patch 原文件 补丁文件
|
|
---|---|
|
备份原文件 |
patch 补丁示例
1. 将内容有异文件合并输出,并导入到一个.path文件中
2. 安装补丁程序,对原文件打补丁
3. cut 显示文件指定内容
3.1 cut 参数
|
|
---|---|
|
指定分隔符(默认的字段分隔符为“TAB”) |
|
指定显示的列 |
|
指定截取的字符 |
#-f -c用法相同
5==第5列
3,5==第3和5列
3-5==3到5列
5-==第5列到最后
-5==开始到第5列)
3.2 cut 用法示例
实验素材
head /etc/passwd > /mnt/passwd
1. 显示指定列
2. 显示指定字符
3. 筛选不能登陆的用户,显示用户名
grep bash -v /etc/passwd | cut -d : -f 1
4. sort 排序
sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
4.1 sort 参数
|
|
---|---|
|
纯数字排序 |
|
倒序 |
|
去掉重复 |
|
输出到指定文件 |
|
指定分隔府 |
|
指定排序的列 |
4.2 sort 示例用法
实验素材
排序示例 1
排序示例 2
5. uniq 忽略重复行
用于报告或忽略文件中的重复行,一般与sort命令结合使用
|
|
---|---|
|
合并重复并统计重复的个数 |
|
显示重复的行 |
|
显示唯一的行 |
实验素材
合并重复并统计重复的个数
显示重复的行
显示唯一的行
显示文件重复次数最多的数字
sort -n sortfile | uniq -c | sort -k 1 -n | cut -d " " -f 8 | tail -n 1
6. tr 替换、压缩和删除字符
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。
tr ‘a-z’ ‘A-Z’
:小写转大写
tr ‘A-Z’ ‘a-z’
:大写转小写
7. && 与 ||
&&
符合条件的动作
||
不符合条件的动作
8 test 测试
test命令是shell环境中测试条件表达式的实用工具
test
==[ ]
: [ ] 相当于test命令
test \$a = \$b 相当于 ['\$a' = '\$b' ]
8.1 test数字对比
|
字符串相等 |
|
字符串不等 |
|
等于 |
|
不等于 |
|
小于等于 |
|
小于 |
|
大于等于 |
|
大于 |
8.2 test条件关系
|
并且 |
|
或者 |
8.3 test对空的判定
|
判定内容不为空 nozero |
|
判定内容为空 zero |
8.4 test对于文件的判定
|
存在 |
|
文件节点号是否一致 |
|
文件1是否比文件2新 |
|
文件1是否比文件2老 |
|
是否是目录 |
|
套接字 |
|
软链接 |
|
普通文件 |
|
块设备 |
|
字符设备 |
判断文件是否存在 -e
判断文件节点号是否一致 -ef
判断文件新旧 -nt与-ot
是否是目录 -d(同判断是否是其他文件类型)