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干货 2015-04-07
  • Linux文件权限管理及目录文件的深入理解。

    文件权限及目录 初学Linux,感觉这个东西该复杂,而且逻辑非常的强。难~! 自己根据学习到的理论和实践,得出的对文件权限,进程,以及特殊权限的深入理解。希望能解决初学者对于权限的困惑。如有错误请指正。 文件的权限,指定的是什么? 是文件的权限位上的权限,针对三类用户,任何用户都必须是三类用户中的一种,属主属组和其他人的权限rwx   &…

    Linux干货 2016-08-10
  • 正则表达式以及Linux文本搜索工具grep

    一正则表达式 regual Expression  简称REGEXP 定义:由一类特殊字符以及文本字所编写的模式,其中有些字符不表示其字面意义,而用于统配和统配功能 分类:     基本正则表达式:BRE 贪婪模式(尽可能长地去匹配符合模式的内容     扩展表达式:E…

    Linux干货 2016-08-07
  • 编译安装nginx并实现反向代理负载均衡和缓存功能

    一、编译安装nginx 1、下载 [root@ns1 ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2、解压 [root@ns1 ~]# tar xf nginx-1.10.0.tar.gz [root@ns1 ~]…

    Linux干货 2016-05-25
  • Nginx 基础 (IO模型、编译安装、几大块配置文件详解)

    Nginx基础 前言 apache在设计的时候已经考虑了并发访问模型,select()机制可以响应1024个访问,但是当数量再大,千万级别的时候http就响应不过来了。这个时候,nginx的出现解决了这一个问题。nginx是一个安装简单、配置文件简单、占用内存少、稳定性高、处理并发能力非常强、灵活好用等有点聚集于一身的轻量级服务器。在Linux操作系统中,N…

    Linux干货 2016-12-24
  • rpm和yum

     1、rpm的安装 rpm {-i|–install} [install-options] PACKAGE_FILE… -v: verbose -h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE … [install-options] …

    Linux干货 2016-08-21

评论列表(1条)

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

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