首页 > 代码库 > 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运维班第三次作业