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

请详细总结vim编辑器的使用并完成以下练习题
1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

#cp /etc/rc.d/rc.sysinit /tmp
#vim /tmp/rc.sysinit
:%s/^[[:space:]]/#&/g

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

#cp /boot/grub/grub.conf /tmp
#vim /tmp/grub.conf
:%s/^[[:space:]]*//g

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

#vim /tmp/rc.sysinit
:%s/^#[[:space:]]\+//g

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

#vim /tmp/grub.conf
:1,+2s/^/#&/g

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

#vim /etc/yum.repos.d/CentOS-Media.repo
:/enabled=0/s/0/1/g
:/gpgcheck=0/s/0/1/g

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

0 */4 * * * /bin/cp -r /etc/  /backup/etc-`date +"%Y%m%d%H%M"`

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

0 * * * 2,4,6 /bin/cp -r /var/log/messages /backup/messages_logs/messages-`date +"%Y%m%d"`

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

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

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

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

脚本编程练习
10、创建目录/tmp/testdir-当前日期时间;

#/bin/bash
TESTDIR=`mkdir /tmp/testdir-$(date +"%Y-%m-%d")`
cd ${TESTDIR}

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

#/bin/bash
for i in `seq 100`
do 
  touch file$i
done

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

#sed -n 'n;p' /etc/passwd |cut -d: -f1

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

#/bin/bash
for i in `seq 10 19`
do 
  if id user$i &> /dev/null;then
    echo "user$i existed"
  else
    useradd user$i
    if [ $? -eq 0];then
      echo 'user$i'|passwd --stdin user$i &>/dev/null
      echo "Add user$i Successed"
    fi
  fi
done

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

#/bin/bash
for i in `seq 10 19`
do
  if [ -e /tmp/file$i ];then
    echo "/tmp/file$i existed."
  else
    touch /tmp/file$i
  fi
done

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

#/bin/bash
for i in `seq 10 19`
do
  user$i:user$i /tmp/file$i
done

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

(0)
ππ
上一篇 2016-08-15 12:06
下一篇 2016-08-15 12:06

相关推荐

  • bash变量详解

       shell作为用户和Unix/Linux沟通的桥梁,既可以是一个可执行的二进制程序,同时也是一个具备了编程能力的程序设计语言,定义了各种各样的变量和参数,下面介绍一下shell之上的各种变量。 1、本地变量    特性:只对当前shell生效 [root@centos7 ~/bin]#cat …

    Linux干货 2016-08-15
  • N26-第五周博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]].*$" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root…

    系统运维 2017-02-10
  • Vsftpd+MySQL实现虚拟用户验证登录

    一、安装所需要包和包组: 在数据库服务器上安装包: yum –y install mariadb-server mariadb-devel systemctl start mariadb.service systemctl enable mariadb 在FTP服务器上安装包pam_mysql centos7:无对应rpm包,需…

    Linux干货 2017-08-14
  • grub的启动加密及删除恢复

    一、实验1:设置grub口令 1、生成一个加密运算为"nd5"的密码 2、设置grub口令 3、测试grub是否已加密 4、在虚拟机的下图的图形界面中,直接敲"Esc"或者"e"键 5、在图形的框下,提示只能敲"p"键,原因是因为grub加密的原因 6、直接敲"p&qu…

    Linux干货 2016-10-04
  • 干货 | 20 行 Python 代码创建可视化地图

    当我开始建造Vincent时, 我的一个目的就是使得地图的建造尽可能合理化. 有一些很棒的python地图库-参见Basemap 和 Kartograph能让地图更有意思. 我强烈推荐这两个工具, 因为他们都很好用而且很强大. 我想有更简单一些的工具,能依靠Vega的力量并且允许简单的语法点到geoJSON文件,详细描述一个投影和大小/比列,最后输出地图. …

    2017-09-08
  • Bash shell 脚本编程全攻略(上篇)

    Bash shell 脚本编程全攻略(上篇)   什么是shell脚本呢? 当命令不在命令行上执行,而是通过一个文件执行时,该文件就称为shell脚本,脚本以非交互的方式运行。Shell脚本把命令通过一些语法组织起来,便能实现特定的功能。   Shell脚本主要运用在系统运维中,主要功能有: 自动化常用命令; 执行系统管理和故障排除; 创…

    Linux干货 2016-08-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 15:05

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