grep及基本正则表达式+Linux计划任务

本周所学:
grep及基本正则表达式
sort排序命令
Linux计划任务及(crontab)
一、grep及基本正则表达式
什么是正则表达式?
正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法
正则表达式分为两种:
基本正则表达式(BRE,basic regular expression)
扩展正则表达式(ERE,extended regular expression)
grep正则表达式常用:
word 搜寻word开头的行 grep -n ‘^#’ file
word$ 搜寻word结尾的行 grep -n ‘.$’ file
. 匹配任意一个字符 grep -n ‘e.e’ file(匹配e和e之间有任意一个字符)
"" 前面的一个字符重复0到多次\ grep -n 'gogle’ file
\ 转义字符
[list] 匹配一系列字符中的一个
[n1-n2] 匹配一个字符范围中的一个字符 grep -n ’ go{2,3}gle ’ file
<word 单词的开头 grep -n <g file (匹配以g开头的单词)
word> 单词的结尾 grep -n tion> file (匹配以tion结尾的单词)
在这里插入图片描述
测试正则参数:
#1、显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)
(-i 忽略大小写)
在这里插入图片描述
#2、显示/etc/passwd文件中不以/bin/bash结尾的行
在这里插入图片描述
#3、显示用户Jack默认的shell程序
在这里插入图片描述
#4、找出/etc/passwd中的两位或三位数
在这里插入图片描述
#5、显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面有非空白字符的行
(注意 :+处的转义符 )
在这里插入图片描述
#6、找出“netstat -tan”命令结果中以LISTEN后跟任意多个空白字符结尾的行
(.* 意思是 任意多个字符组合 )
在这里插入图片描述
#7、显示CentOS7上所有系统用户的用户名和UID
仅仅输入三位数注意加入 -w参数
在这里插入图片描述
#8、添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin),找出/etc/passwd用户名和shell同名的行
在这里插入图片描述
#9、利用df和grep,取出磁盘各分区利用率,并从大到小排序
在这里插入图片描述
#10、显示三个用户root、Jack 的UID和默认shell
在这里插入图片描述
#11、找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行
在这里插入图片描述
#12、使用egrep取出/etc/rc.d/init.d/functions中其基名
在这里插入图片描述
#13、使用egrep取出上面路径的目录名
在这里插入图片描述
#14、统计last命令中以root登录的每个主机IP地址登录次数
在这里插入图片描述
在这里插入图片描述
#15、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255
#16、显示ifconfig命令结果中所有IPv4地址

在这里插入图片描述
#17、将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面
在这里插入图片描述
#18.找出ifconfig命令结果中的1-255之间的数字
在这里插入图片描述
sort:以行为单位对多行数据进行排序
在这里插入图片描述eg :
1.sort 不会对原文件进行修改
2.sort默认升序
在这里插入图片描述
sort -u参数:去除重复行
在这里插入图片描述
sort -r参数: 改成降序,就加个-r
在这里插入图片描述
sort -o:把排序结果输出到原文件中
在这里插入图片描述
sort -n : 以数值来排序
在这里插入图片描述
sort的-t选项和-k选项:
sort提供了-t选项,后面可以设定间隔符。
指定了间隔符之后,就可以用-k来指定列数
在这里插入图片描述
Linux计划任务
Linux系统下一个自动执行指定任务的程序(计划任务),使用Crontab命令来添加任务
more /etc/crontab #Crontab配置文件
常用参数
参数 描述
-u use 用来设置某个用户的crontab服务
-l 显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容
-e 编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件
-i 在删除用户的crontab文件时给确认提示
-r 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件
练习:

  1. 每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存文件名格式为bak_etc_2018-01-01
    创建脚本a.sh
    输入如图命令
    在这里插入图片描述
    修改a.sh脚本权限u+x
    输入将要执行的计划的时间及执行的命令
    在这里插入图片描述
    在这里插入图片描述
    查看结果:
    在这里插入图片描述
  2. 每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存文件名格式为
    bak_msg_2018-01-01
    向脚本中输入以下命令:
    在这里插入图片描述
    设置时间和执行的命令,查看结果:
    在这里插入图片描述
  3. 每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/backup/memory文件中
    创建脚本,输入如图命令:
    在这里插入图片描述
    设置Linux计划任务:
    在这里插入图片描述
  4. 工作日的时间内,每两小时执行一次echo "hello work
    总结:
    这周的学习过程中,把以前的常用命令忘记 的较多,比如压缩解压,find命令的使用方法,以及一些权限设置和acl提权的相关问题遗失较多,已补全。就上周遗留的一个文件管理组和权限问题
    在这里插入图片描述
    牵扯到的命令:
    chown: 用户属主修改
    groupadd:增加新组
    useradd:-G 创建用户至组
    chmod: 修改目录或文件权限
    getfacl:查看用户对于本文件的临时权限
    setfacl:设置用户临时权限
    主要参数:
    setfacl -m u:alice:rw /home/test,txt //-m参数设置临时权限,设置用户Alice对于文件test.txt。
    查看权限:getfacl /home/test.txt
    删除权限:setfacl -b /home/test.txt
    !
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值