您的位置:首页 > 运维架构 > Linux

Linux+Python高端运维班第三次作业

2016-12-27 22:19 441 查看
1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

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




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

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




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])\>"




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

find / -nouser -o -nogroup -ls




进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
find / \( -nouser -o -nogroup \) -atime -3



检查时间:




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

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




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

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




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

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




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



















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

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




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

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







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)




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

创建计划任务:crontab -e
00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/memory.txt




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 ubuntu centos