目录
shell脚本可以让降低大家的工作强度,提升大家的管理能力和薪资报酬,还可以让大家有时间学习提升自己
所以,学好shell那就是非常必要的啦,那么在学习shell之前我们得热热身,做一下准备工作
学习之前首先要弄清什么是shell脚本:
shell脚本本质上就是要将完成一件事情的所有命令按照执行的先后顺序写入一个文件,并给改文件执行权限
so!想学好shell脚本首先要考核一下自己的linux命令学的是否扎实,接下来为了能学习shell更加顺畅,我把常用的一些数据处理的命令整理一下
我们重点回顾以下几类命令
数据检索命令
行检索:grep egrep
字符串检索:cut tr
数据处理命令
数据排序:sort
数据去重: uniq
文本数据合并: paste
数据输出: tee
数据处理: xargs
1、grep行检索
负责从数据源中检索对应的字符串,行过滤
grep用于根据关键字进行行过滤
grep options 'keys' filename
OPTIONS:
-i: 不区分大小写
-v: 查找不包含指定内容的行,反向选择
-w: 按单词搜索
-n: 显示行号
-A: 显示匹配行及后面多少行 -A 5
-B: 显示匹配行及前面多少行
-o: 打印匹配关键字
-c: 统计匹配到的次数
-r: 逐层遍历目录查找
-C: 显示匹配行前后多少行
-l:只列出匹配的文件名
-L:列出不匹配的文件名
-e: 使用正则匹配
-E:使用扩展正则匹配
^key:以关键字开头
key$:以关键字结尾
^$:匹配空行
--color=auto :可以将找到的关键词部分加上颜色的显示
常用命令选项必知必会 示例:
grep -i root passwd 忽略大小写匹配包含root的行
grep -w ftp passwd 精确匹配ftp单词
grep -wo ftp passwd 打印匹配到的关键字ftp
grep -n root passwd 打印匹配到root关键字的行好
grep -ni root passwd 忽略大小写匹配统计包含关键字root的行
grep -nic root passwd 忽略大小写匹配统计包含关键字root的行数
grep -i ^root passwd 忽略大小写匹配以root开头的行
grep bash$ passwd 匹配以bash结尾的行
grep -n ^$ passwd 匹配空行并打印行号
grep ^# /etc/vsftpd/vsftpd.conf 匹配以#号开头的行
grep -v ^# /etc/vsftpd/vsftpd.conf 匹配不以#号开头的行
grep -A 5 mail passwd 匹配包含mail关键字及其后5行
grep -B 5 mail passwd 匹配包含mail关键字及其前5行
grep -C 5 mail passwd 匹配包含mail关键字及其前后5行
centos8中已经设置了,存放在/etc/profile.d/colorgrep.sh文件中,使用的系统中没有设置颜色输出,可以使用以下方法来自行设置
临时设置:
# alias grep='grep --color=auto' //只针对当前终端和当前用户生效
永久设置:
1)全局