1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();


grep -o "\<.*\>()" /etc/rc.d/init.d/functions

Linux+Python高端运维班第三次作业_第1张图片


2、使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名。


基名: echo "/etc/rc.d/init.d/functions" | grep -E -o "[^/]+$"

路径名: echo "/etc/rc.d/init.d/functions" | grep -E -o "^/.*/"

Linux+Python高端运维班第三次作业_第2张图片




3、找出ifconfig命令结果中的1-255之间数字;


ifconfig | grep -E -o "\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"

Linux+Python高端运维班第三次作业_第3张图片



4、查找当前系统上没有属主或属组的文件;


find / -nouser -o -nogroup -ls

Linux+Python高端运维班第三次作业_第4张图片


进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

find / \( -nouser -o -nogroup \) -atime -3

Linux+Python高端运维班第三次作业_第5张图片

检查时间:

Linux+Python高端运维班第三次作业_第6张图片



5、查找/etc目录下大于1M,且类型为普通文件的所有文件;


find /etc/ -size +1M -type f -exec ls -lh {} \;

Linux+Python高端运维班第三次作业_第7张图片



6、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;


find /etc/init.d/ -perm -113

Linux+Python高端运维班第三次作业_第8张图片



7、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;


find /etc -not -user root -o -not -user chenweiliang -a -atime -7 -ls

Linux+Python高端运维班第三次作业_第9张图片


8、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;


本人所用的centos7.2系统中相对路径下没有rc.sysinit文件,因此更换一个文件进行练习。

cp /tmp/server.js /tmp/test/

sed -i 's/\(^[[:space:]]\)/#\1/g' /tmp/test/server.js

wKiom1hidZ6RJhcfAAANrw-DOKE488.png

wKioL1hidZ6wfoD3AAAJHEFw5mU998.png

Linux+Python高端运维班第三次作业_第10张图片

wKioL1hidZ_x8qufAAAPqSFddfg615.png

wKioL1hidZ-T2G0wAAAMruLq9Dw262.png

Linux+Python高端运维班第三次作业_第11张图片




9、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符


sed -i 's/^#[[:space:]]\+//g' /tmp/test/server.js

Linux+Python高端运维班第三次作业_第12张图片



10、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;


\1:反选引用

vim在末行模式:%s@\(enabled\|gpgcheck\)=0@\1=1@g   

Linux+Python高端运维班第三次作业_第13张图片

Linux+Python高端运维班第三次作业_第14张图片



11、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20161202


创建计划任务:crontab -e


00 00 * * 2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)

Linux+Python高端运维班第三次作业_第15张图片



12、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中


创建计划任务:crontab -e

00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/memory.txt

Linux+Python高端运维班第三次作业_第16张图片


13、写一个脚本创建10用户user10-user19;密码同用户名;


#!/bin/bash

#

for i in `seq 10 19`;do

        useradd user$i

        echo "user$i" | passwd --stdin user$i;

done 

Linux+Python高端运维班第三次作业_第17张图片

Linux+Python高端运维班第三次作业_第18张图片

wKiom1hido3w4OLZAAAUVoLsODk956.png