用于比较两个文件的内容,可用于创建补丁文件
diff -c ##显示上下文周围的行
-u ##使用统一输出格式(可用于生成补丁文件)
-r ##从指定目录开始对文件进行递归式比较
采用补丁文件patch并将这些差异用于生成补丁版的一个或多个原始文件
**需要下载服务软件:yum install patch -y
1)用diff生成的补丁文件file.path给file文件打补丁
2)此时原file文件被覆盖,若要备份源文件加上参数-b即可(会生成一个.orig文件)
3.grep命令
显示文件中与某关键字匹配的行。也可以处理标准输入(如键盘输入)
grep ##不加参数,默认精确查找(区分大小写)
-i ##模糊搜索(不区分大小写)
-n ##显示匹配的行号(前置显示)
-c ##显示匹配的行数(只显示数字)
-r ##对文件进行递归式搜索,从命名目录开始
-v ##反选
-E ##查找多个关键字的行(整体用“”括起,关键字之间用|分隔)
**各参数举例(从/etc/passwd文件中复制一部分到/mnt中做如下实验):
**^root表示以root开头,test$表示以test结尾
**查找passwd文件中关键字为test的行,除了以test开头,或以test结尾的行
grep test passwd | grep -E -v "^test|test$"
**递归查找/mnt目录中,含有westos 的行
grep -r westos /mnt
4.cut命令
剪贴文件中的文本字段或将其显示到标准输出
cut -d ##指定用于提取字段的分隔符(Tab是默认值)
-f 1,7 ##指定要从每行中提取的字段
-c 1-4 ##指定要从每行中提取的文本列
5.sort命令
用于排序文本数据(该数据可位于文件或其他命令输出中),sort经常与管道符一起使用。
sort -n ##按数值而非字符排序(默认正序,加r为倒序,加u重复行只显示一次)
-k ##设置排序字段
-t ##指定其他字段分隔符(默认为空格)
**以:为分隔符,对file里面的第三个字段进行排序:
sort -t : -k 3 -n file
6.uniq命令
删除文件中重复的相邻行
uniq -u ##显示唯一行
-d ##显示重复行
-c ##每行显示一次(每行出现次数计数)
**对file1文件排倒序,每行只显示一次并统计每行出现次数:
sort -rn file1 | uniq -c
7.tr命令
用于转换字符。
**将file中的大写字母转换为小写:
tr 'a-z' 'A-Z' < file1
8.sed命令
流编辑器 , 用于对文本数据流执行编辑(通常与管道符一起使用)。
sed 's/old/new/g' ##执行字符串转换(将old换成new),s表示对全文处理,g表示每行的每个字符串都替换,否则只替换每行第一个字符串
-d ##删除匹配行
-e '策略1' -e '策略2' ##处理多个策略
-i file ##将转换后的内容输入到file
'3,5s/old/new/g' ##对3-5行进行替换
xd ##屏蔽指定行
xp ##复制指定行
**显示本机(虚拟机)IP(只显示IP):
ifconfig eth0 | grep inet | grep inet6 -v | awk -F " " '{print $2}'
**显示占用内存前五的进程的PID:
ps ax -o pid --sort -%mem | grep PID -v | head -n 5
**给passwd文件加上行号输入到westos文件中:
cat -b passwd > westos