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 16:21
下一篇 2016-12-02 17:52

相关推荐

  • magedu_20160808

    行编辑器sed与vim文本处理器     一.行编辑器sed的使用介绍     sed英文全称stream editor,行编辑器。其工作模式为将文件中内容按行转移至sed模拟空间中,根据地址判定此行是否匹配,如果匹配,根据命令输出并打印,如果不匹配,按照默认打印到屏幕上。它的作用是根据选项和地址界定‘scr…

    Linux干货 2016-08-10
  • linux启动流程

    linux组成 Linux: kernel+rootfskernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc库:函数集合, function, 调用接口(头文件负责描述)过程调用:procedure,无返回值函数调用:function程序:二进制执行文件 内核设计流派:单内核(monolithic ker…

    2018-01-01
  • 设计模式(十一)代理模式Proxy(结构型)

    1.概述        因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供…

    Linux干货 2015-07-09
  • 梦想走向现实的地方

    曾经羡慕打字快的同学指尖能在键盘上优雅地跳舞,于是我有努力练习打字。 曾经羡慕同事能很神奇地把一个交换机的端口关闭,让那端口下面的人都不能上网,于是我努力学习交换机、路由。 现在我羡慕一个人能管很多服务器的人,于是我开始学习linux了。 努力成为一个也能管很多服务器的人,因为我也想别人叫我运维工程师

    Linux干货 2016-10-25
  • 防火墙

    iptables笔记整理

    Linux干货 2018-03-05
  • LVM逻辑卷管理

    一、简述 什么是逻辑卷?LVM(Logical Volume Manager)利用Linux内核device-mapper实现存储系统的虚拟化。通过LVM,把底层存储硬件抽象化成存储逻辑块,再将这些逻辑块集合构成存储池,从存储池空间划分分区,可以简单地扩大或缩小分区,而不用担心硬盘没有足够的连续空间。 使用逻辑卷分区有什么用?使用逻辑卷分区重点在于可以弹性地…

    Linux干货 2016-09-06

评论列表(1条)

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

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