Cat
1、查看(显示行号)
cat -n 1.txt
编辑
cat >1.txt<<EOF
cat > 1.txt
Echo
作用:
1、输出内容到终端
2、配合定向符写入内容到文件
1、查看文件
(1)
echo hello
(2)单、双引号包裹,解压使用
echo ‘hello’
(3)识别特殊字符
echo -e “hello\tworld”
2、输入内容到文件中
覆盖
echo “hello world”>1.txt
追加到文件最后一行
echo “hello world”>>1.txt
三剑客
Grep
grep
1、过滤不包含该字符串的行
grep -v “xhq” 1.txt
grep -v 3 1.txt
2、过滤包含字符的行数
grep -n “xhq” 1.txt
grep -n 3 1.txt
3、不区分大小写
grep -i “x” 1.txt
4、过滤2个不同字符串
grep -E “xhq|xrq” 1.txt
5、过滤有几个包含该字符的行
grep -c “xhq” 1.txt
6、过滤包含字符x. .任意字符 *出现任意次
grep “.x.” 1.txt
案例
匹配到多少个 x
grep -c “.x.” 1.txt
匹配在哪行 x
grep -n “.x.” 1.txt
sed流编辑器
1、查询:过滤指定字符串、取行
2、对文件进行增删改查
[图片]
查询
1、-n取消默认输出,p控制打印的行,打印2-3行内容
sed -n “2,3p” 1.txt
2、打印包括该字符串的行
sed -n “/xhq/p” 1.txt
3、删除含有字符串的行,只会删除内存中的内容,不会修改文件,-i用于修改文件内容
sed ‘/xhq/d’ 1.txt
删除
sed -i ‘/xhq/d’ 1.txt
sed -i ‘3d’ 1.txt
sed -i ‘2,3d’ 1.txt
全局替换
sed ‘s/xhq/xrq/g’ 1.txt
全局替换,xhq->xrq
sed -i ‘s/xhq/xrq/g’ 1.txt
多项编辑
sed -i -e ‘s/xhq/lyb/g’ -e ‘s/0/+/g’ 1.txt
追加文本
1、第二行后追加
sed -i ‘2a hello’ 1.txt
2、第二行插入
sed -i ‘2i hello’ 1.txt
案例
一、过滤ifconfig ip地址
1、ifconfig enss:只看ens33网卡(lo表示本地网卡)
2、|表示将左边内容作为右边的输入
3、^.inet :表示从第一个字符到inet这部分内容。(若只写inet,则会只匹配inet,而不是第二行开始第一个字符一直到inet)
3、sed -n ‘p’ 打印
4、‘s/ / /g’ 全局替换,多余部分替换为空,只取ip地址
5、netm.$ :表示netm后任意个字符出现任意次,直到字符串的结尾
1、
ifconfig ens33 | sed -n ‘2s/^.inet//gp’ |sed -n 's/netm.&//gp’
[图片]
awk命令 (linux最强大的文本处理命令)
[图片]
[图片]
案例:
一、读取passwd,并保存,利用awk过滤
sed -n ‘1,5p’ > test.txt
cat -n test.txt
awk ‘NR>1&&NR<4’ test.txt
awk ‘NR2,NR3’ test.txt
//之间可写入正则表达式
awk ‘/root/’ test.txt
awk ‘/[a]/’ awk ‘/^r/’ awk
二、awk 列分割并打印 密码信息
-F 按列分割
: 按冒号分割
Print 打印
¥NR 行号
¥n 第几列
¥NF 最后一列
[图片]
三、过滤ifconfig的ip地址
只写{print},相当于awk -F " " 'print ',默认分割第二列
[图片]
四、运维题:将域名去除,并计数排序
1、过滤出域名
2、sort 按首字母排序
3、uniq -c :uniq去重 -c计数
[图片]
定时任务corn
cornd守护进程会每隔一段时间(最快1分钟,若再快就需要借助shell编写的脚本)检查系统中是否有需要执行的任务。
[图片]
[图片]
[图片]
编辑后无需重启定时任务,crond会自动检查更改变化
[图片]
1、*****:分时日月年(*表示每)
2、脚本需要使用全路径
[图片]
案例:
一、每分钟写日志
编辑定时任务
crontab -e
查看当前定时任务
crontab -l
查看日志
cat /var/log/cron
跟踪日志文件
tail -f
[图片]
二、每日晚上0点,将站点目录/var/www/html下的内容打包备份到data目录下,并且要求每次生成不同的包名
1、/bin/tar :必须命令全路径
2、zcf :压缩
3、date 取系统时间,date +%F按照一定格式,并用¥()表示取出系统的时间,并作为字符串,命名压缩包
00 00 * * * /bin/tar zcf /data/bak_$(date +%F).tar.gz /car/www/html