sed:
文本处理三剑客的最后一个
sed:就是修改和替换文本文件的内容
sed 是一种支持正则表达式的非交互式流编辑器 是脚本中修改文本或者文本替换的最佳工具
保留空间(临时仓库):可以临时存放数据的空间,默认情况下不使用
首先拿过来先放在模式空间(加工车间),查找是否符合条件,然后加工,处理一行清空一行
-f方法一般不用
把70行整行替换
如果sed后面不加-n则所有都会输出 不过符合条件的会输出两遍
输出3,5,7行
(;表示执行多条命令)
$ 表示最后一行 如3,$p:第三行到最后一行
20行往后面再加10行
!取反(放在模式后) 表示不显示20-30行
从20行开始输出 步长为3
sed传参:
也可以放正则表达式
-r选项表示对扩展正则的支持
用斜杠需要转义 ‘\/’
相当于[a-Z]
贪婪匹配 起始行和结束后不是同一行
r,w命令可以不用掌握
sed的s命令:局部替换
用sanchuang替换disabled
在-n p组合是不会改动原文件
如果要修改ip地址的话,下面是文件地址
用\n代替:(没有模式匹配没有g就是替换每行的第一个,有g就是全局替换)
替换成空字符效果和删除相同
在每行开头加个#
在第一行到第六行开头加个@
替换命令不一定用/作为定界符 也可以用#
反斜杠和斜杠都需要转义
Vim按V 进入可视行 选中所需行 按shift+>(<)可以前进后退调整格式
sed处理时每次只拿一行 所以匹配不到换行符
N就是读入下一行
类似于那个分组 使用在替换模式里面
取出passwd文件里的第一列:
sed的正则是非贪婪匹配
tac 命令是反序输出(最后一行最先输出 行内容不变)
用sed倒序输出:
每一行进入都要经过这三个命令的处理
(这个命令里面的$以及1代表文件里面的最后一行和第一行 !对行进行取反)
sed执行完之后会把模式空间的内容进行操作了之后清空模式空间
awk和sed消耗cpu和内存比较多,磁盘IO和网络带宽消耗比较少
计划任务:定时定点去做某件或者某些事情 到点了做某件事情
在运维过程中,计划任务能干什么呢?
定时清理
定时备份:在企业里很多的数据需要备份的
定时执行脚本
要使计划任务在指定时间自动运行,计划任务的服务必须是启动的
计划任务分类:crond服务 :Linux里的计划任务的服务
定制计划任务:
一次性:atd对应的命令为at 安装:yum install at -y
周期性 :crond对应的命令为crontab
为什么进程后面都加个d呢?
d代表daemon(守护进程):一直在内存里运行的进程,直到我们人为停止它的运行,不然它是一直在内存中运行的,因为一直在内存里的用户可以随时去访问,所以它一直守护着你,等待着你的到来
人为停止:
守护进程就在运行和就绪打转转 或者 在就绪 运行 阻塞三个打转转
按CTRL+d结束
首先启动atd服务
atrm -3删除编号为3的计划任务
at -l 查看计划任务列表
at命令是一次性的 也就是今天做了明天不会做
batch命令也是一次性的
batch在系统负载不高的时候运行,系统不忙的时候运行
什么时候不忙?系统平均负载(load average)低于0.8的时候
top命令可以查看系统负载
uptime :查看系统开机多久了 以及系统的平均负载(是top命令的第一行)
分别代表过去的一分钟 五分钟 十五分钟的平均负载
系统的性能:cpu 内存 磁盘IO 网络IO 进程数量
平均负载:是一段时间(一分钟 五分钟 十五分钟)内可运行的或者不可中断的进程的数量(可以理解为就绪队列里的进程的数量)
浅度睡眠:可中断状态 深度睡眠:不可中断状态
电脑只有1个核心,就绪队列里又1个进程在排队,就算cpu已经满负荷运转了,如果超过1就更加忙了
电脑有8个核心:就绪队列里只要有8个在排队,就算cpu已经满负荷运转了,如果超过1就更加忙了
经验值:有人认为 1个核心不超过5个就不算很忙