vim及脚本

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

    第一步:
    [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp
    第二步:
    [root@localhost tmp]# vim rc.sysinit
    在末行模式下输入:
    %s/^[[:space:]]\+[[:space:]]/#&/g 或者
    %s@^[[:space:]]\+[[:space:]]@#&@g

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

    第一步:
    [root@localhost ~]# cp /boot/grub/grub.conf  /tmp
    第二步:
    [root@localhost tmp]# vim grub.conf
    在末行模式下输入:
    %s/^[[:space:]]\+//

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

    [root@localhost tmp]# vim rc.sysinit 
    在末行模式下输入:
    %s/^#[[:space:]]\+//

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

    [root@localhost tmp]# vim grub.conf 
    在末行模式下输入:
    1,3s/^/#&/

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

    [root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo
    在末行模式下输入:
    %s#\(enabled\|gpgcheck\)=0#\1=1#g

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

    [root@localhost ~]# mkdir /backup
    [root@localhost ~]# crontab -e
    0 */4 * * * /bin/cp -a /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M) > /dev/null

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

20150402。

    [root@localhost ~]# mkdir /backup/messages_log
    [root@localhost ~]# crontab -e
    0 0 * * 2,4,6 /bin/cp /var/log/messages /backup/messages_log/messages-$(date +\%Y\%m\%d) > /dev/null

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

    [root@localhost ~]# mkdit /stats
    [root@localhost ~]# crontab -e
    0 */2 * * * /bin/cat /proc/meminfo | grep "^S" >> /stats/memory.txt

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

    [root@localhost ~]# crontab -e
    0 9-18/2 * * 1-5 /bin/echo "howdy"

脚本练习:

1、创建目录/tmp/testdir-当前日期时间;在此目录创建100个空文件:file1-file100。

    #!/bin/bash
    #
    dir=/tmp/testdir-$(date +%m%d%H%M)
        mkdir $dir

    for i in {1..100};do
        touch $dir/file$i
    done

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

    #!/bin/bash
    #
    sed '1d;n;d'  /etc/passwd

3、创建10个用户user10-user19,密码等同用户名。

    #!/bin/bash
    #
    for i in {10..19};do
        if id user$i &> /dev/null;then
            echo "user$i exists"
        else
            useradd user$i
            echo "user$i" | passwd --stdin user$i &> /dev/null
        fi
    done

4、在/tmp/创建10个空文件file10-file19;把file10的属主和属组改为user10,依次类推。

    #!/bin/bash
    #
    f=/tmp/file

    for i in {10..19};do
        if [ -f "$f$i" ];then
            echo "File file$i exists"
        else
            touch $f$i
            chown user$i:user$i $f$i
        fi
    done

 

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

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-12-02
下一篇 2016-12-02

相关推荐

  • linux路由转发(软路由)实验

        一。实验网络拓扑             (R1,R2由 Linux 虚拟机添加双网卡做软路由实现)              &n…

    Linux干货 2016-09-05
  • Linux的发展史

    Linux的诞生 1987年荷兰阿姆斯特丹Vrije大学的Andrew S.Tanenbaum 教授为了让学生们更了解操作系统而参照Unix系统编写了Minix系统。在1988年芬兰赫尔辛基大学迎来了一位新生Linus Benedict Torvalds ,他在学习了Minix系统后,以此为平台和指导开发出了Linux。在1991年8月Linus Toval…

    Linux干货 2016-10-19
  • linux echo命令用法实例

           对于初学者来说,掌握一些基本命令的常用用法是必须的。本文列举了echo命令的几个常用用法并加以实例说明,以作回顾、参考。       echo命令常用作打印输出字符串,根据echo帮助文件可以获得以下信息:        语法 echo…

    2017-05-20
  • Linux网络属性配置—iproute命令家族

    ip命令: show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route | netns  } ip  OBJECT: ip li…

    Linux干货 2016-12-04
  • NTP时间服务器

        在集群环境和需要日志同步的多服务器应用中,为了能够保证多台服务器的之间的正常协作,就必须使它们的时间保持一致,在多台服务器上手动调整时间是极其不科学的,这时就需要借助于NTP时间服务器来完成时间的同步。     一、NTP服务器的安装    …

    Linux干货 2015-06-25
  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-07 23:37

    其实后面的问题也可能用多种方法来实现,来扩展知识!