首页 > 代码库 > Linux运维班第三次作业
Linux运维班第三次作业
一、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
# cat /etc/rc.d/init.d/functions | grep ‘[[:alpha:]].*()‘
二、使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名;
# echo /etc/sysconfig/network-scripts |grep ‘^/[[:alpha:]]\+[^/]‘
# echo /proc/meminfo | grep -o ‘\b/.*‘
三、找出ifconfig命令结果中的1-255之间数字;
# ifconfig| grep -E ‘\b([0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b‘
四、查找当前系统上没有属主或属组的文件;
# find/ \( -nouser -o -nogroup \) -ls
查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
# find / \( -nouser -o-nogroup \) -a -atime -3 -ls
五、查找/etc目录下大于1M,且类型为普通文件的所有文件;
# find /etc -type f-a -size +1M -ls | less
六、查找/etc/init.d目录下,所有用户都有执行权限,且其他用户有写权限的文件;
# find /etc/init.d -perm -113 -ls
七、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
# find /etc -not \( -user root -o -user hadoop\) -a -ctime -7 -ls
八、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的至少以一个空白字符开头的行的行首加#;
先复制文件
# cp /etc/rc.d/rc.sysinit /tmp
再使用vim编辑器,末行模式下通过表达式":%s/^[[:space:]]"/#&/进行匹配替换
# vim /tmp/rc.sysinit
九、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行的#和空白字符;
使用vim编辑器,末行模式通过表达式":%s/^#[[:space:]]\(.*\)/\1/"进行替换
十、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
通过表达式"%s/\(.*\)=0/\1=1/"进行替换
十一、每周2,4,6备份/var/log/messages文件至/backup/messages_logs目录中,保存的文件名形如messages-20161202;
# crontab -e
0 2 * * 2,4,6 root tar -cJf/backup/messages_logs/messages-`date +%Y%m%d`.tar.xz /var/log/messges
十二、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中;
# crontab -e
0 */2 * * * root cat /proc/meminfo | grep ‘^S‘> /stats/memory.txt
十三、写一个脚本创建user10-user19;密码同用户名;
# vim useradd.sh
#/bin/bash
# test add ten users
#
declare -i i
for i in {10..19}
do
if (id user$i &> /dev/null); then
echo ‘The user$i exist.‘
else
useradd user$i > /dev/null
echo ‘user$i‘ | passwd --stdin user$i> /dev/null
echo ‘Adduser finished.‘
fi
done
本文出自 “Linux高端运维培训” 博客,请务必保留此出处http://hhclab.blog.51cto.com/6743827/1900048
Linux运维班第三次作业