马哥教育网络班21期-第六周课程练习

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

 # :%s@^[[:space:]]\+@#&@g

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;

 # :%s@^[[:space:]]@@g

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

 # :%s@^#[[:space:]]\+@@g

4、为/tmp/grub.conf文件中前三行的行首加#号;

 # :1,3s@^.*@#&@g

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

 # :%s@\(enabled=\)1@\10@g

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202

 # 0 */4 * * * /bin/cp -a /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M)

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

 # 0 1  *  *  2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%y\%d)

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

 # 0 */2 */1 * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo "howdy"

 # 0 9-18/2 * * 1-5 /bin/echo "howdy"

脚本编程练习

10、创建目录/tmp/testdir-当前日期时间; 

11、在此目录创建100个空文件:file1-file100

#!/bin/bash
 mkdir /tmp/testdir-`date +%F`
dir=/tmp/testdir-`date +%F`/file
for i in {1..100};do
  mkdir $dir$i
done

12、显示/etc/passwd文件中位于第偶数行的用户的用户名;

#!/bin/bash
j=`wc -l /etc/passwd | cut -d" " -f1`
for i in $(seq 0 2 $j );do
     if [ $i -eq 0 ];then
     echo "abc" >& /dev/null
    else
     echo "$i lines user is $(grep -n "." /etc/passwd | grep "^$i\>" | cut -d: -f2)" 
fi
done

13、创建10用户user10-user19;密码同用户名;

#!/bin/bash
declare -i i=10
while [ $i -le 19 ];do
   if [ `id -u` -ne 0 ];then
     echo "only root can Add users."
   exit 2
  elif
     id user$i &> /dev/null
     [ $? -eq 0 ];then
     echo "user$i exits."
  else
     useradd user$i
     echo user$i | passwd --stdin user$i
   fi
   let i++
done

14、在/tmp/创建10个空文件file10-file19; 

15、把file10的属主和属组改为user10,依次类推。

#!/bin/bash
declare -i i=10
while [ $i -le 19 ];do
     [ -e /tmp/file$i ];then
     chown user$i.user$i /tmp/file$i
  else
     touch /tmp/file$i
     chown user$i.user$i /tmp/file$i
     fi
ls -l /tmp/user$i
let i++
done

原创文章,作者:哎哟喂,如若转载,请注明出处:http://www.178linux.com/32663

(0)
哎哟喂哎哟喂
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • grub安装

    创建两块磁盘分区 创建boot目录和根本目录rootfs mkdir /mnt/boot mkdir /mnt/rootfs mount /dev/sdb1 /mnt/boot mount /dev/sdb2 /mnt/rootfs 安装gurb gurb-install –root-directory=/mnt /dev/sdb1 在/mnt/…

    Linux干货 2017-11-14
  • yum仓库搭建

    两台主机: 一台centos7  客户机 一台centos6  服务器 准备工作 1.查看是否共享服务是否可用 httpd或vsftpd 是否安装。确认安装之后选择vsftpd为共享服务/var/www/html和/var/ftp/pub为共享目录。 这里使用vsftpd,/var/ftp/pub这个目录为共享目录 在这个目录下建立一个独立的文件夹 [roo…

    2017-12-01
  • Linux http服务

                               Linux http服务   网络服务通信基础:   1、端口号就是进程标识,每个用户最多只能打开1024个进程。   2、MAC地址仅…

    系统运维 2016-11-18
  • 输出重定向 输入重定向 管道简单介绍 -20160729

    输出重定向 输入重定向 管道简单介绍 标准输入和输出 我们先来了解下输入和输出的概念: 在计算机中我们了解到计算机的组成部分:其中有输入 输出设备。       输出重定向 对于程序来说: 程序 :指令 + 数据 对于数据来说,数据可以由我们通过键盘输入,或者程序直接使用存储设备上的数据,我们称为读入 数据,程序处理数据后需要返…

    Linux干货 2016-08-04
  • Shell脚本编程

    shell脚本编程 Bash为用户提供了编程环境 相对于计算机而言,只能识别二进制文件,因此其所运行的其实是二进制指令,而这些二进制指令我们称之为机器语言,属于低级语言;程序员编程所使用的语言为高级语言,是人们比较容易理解的语言;因此,程序的执行过程:先把源码程序翻译成机器语言(生成可执行的文件),然后解释执行。程序( 程序=指令+数据 )的编程风格有两种:…

    2017-04-14
  • rsyslog, mysql, loganalyzer联合实现

    一. rsyslog简介 rsyslog是一个自由软件, 是GPL的lincesed增强的syslogd. 它提供了Mysql和完全可配置的输出格式的支持. 1. 日志信息格式:      <优先级>时间戳 主机名 模块名/级别/信息摘要:内容      <priority>…

    Linux干货 2016-10-24

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-17 14:34

    写的很好,排版也很棒,加油,