vim、定时任务、脚本初步应用及详解

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

  ~]#cp  /etc/rc.d/rc.sysinit   /tmp
  在末行模式下输入:%s@^[[:space:]]\+[^[:space:]]@#&@g
    &:匹配模式找到的全部文本
    &=^[[:space:]]\+[^[:space:]]

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

~]#cp /boot/grub/grub.conf /tmp
在末行模式下输入:%s@^[[:space:]]\+@@

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

在末行模式下输入:%s@^#[[:space:]]\+@@g

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

在末行模式下输入:1,3s@^@#

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

在末行模式下输入:%s@\(enabled\|gpgcheck\)=0@\1=1@g
\1是后向引用,就是正则表达式中匹配到的项
\1=enabled或gpgcheck

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

crontab -e  进入编辑界面
00 */4 * * * cp -r /backup/etc-$(date +\%Y\%m\%d\%H\%M)

%前要用转义\

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

crontab -e  进入编辑界面
~】#00 00 * * 2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)

%前要用转义\

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

crontab -e  进入编辑界面
00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/memory.txt

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

00 9-18/2 * * 1-5 echo "howdy"

脚本编程练习

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

#!/bin/bash
#
         mkdir /tmp/testdir-$(date +%Y%m%d%H%M%)
                cd /tmp/testdir-$(date +%Y%m%d%H%M%)
        for i in {1..100};do
                mkdir file$i
        done

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

sed -n '2~2p' /etc/passwd |awk -F: '{print $1}'

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

#!/bin/bash
#

    for i in {10..19};do
            if id user$i ;then
                    echo "user$i exists."
            else
                    useradd user$i
                    echo "user$i" | passwd --stdin user$i
            fi
    done

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

#!/bin/bash
#
            cd /tmp/
    for i in {10..19};do
            if [ -e file$i ] ;then
                    echo "file$i exists."
                    chown user$i:user$i file$i
            else

                    touch file$i
                    chown user$i:user$i file$i
            fi
    done

 

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

(6)
N24_yeziN24_yezi
上一篇 2016-12-04 22:50
下一篇 2016-12-05 00:19

相关推荐

  • centos6的启动流程和grub实验

    一.centos的启动流程         post–mbr grub 1stage–stage1.5–stage 2 /boot/grub—/boot/grub/grub.conf —kernel /vmlinuz.XXX root=— /boo…

    2017-07-08
  • 马哥教育网络班21期+第一周课程练习

    1、描述计算机的组成及其功能。   计算机由五个部分组成:运算器、控制器、存储器、输入设备、输出设备。   控制器和运算器合称为中央处理单元,即CPU。   功能:     运算器:也称为算术逻辑单元,是计算机的核心,在控制器的控制下,对取自内存或内部寄存器的数据进行算术运算和逻辑运算。   &nb…

    Linux干货 2016-07-07
  • iptables

    一、前言 什么是iptables?当我们启动iptables时,使用service命令可以启动iptables。但是并非使用service启动的iptables就能说明其是一个服务。Iptables是一个便以我们写规则的工具,真正起作用的是内核中的netfilter一个框架。Netfilter内置了5个hook函数,当一个数据包交由此机器时,经过这5个hoo…

    Linux干货 2015-10-27
  • 马哥教育网络班21期-第五周课程练习

    第五周作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@zz ~]# egrep "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有…

    Linux干货 2016-07-29
  • shell三剑客之grep

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”); 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。 正…

    Linux干货 2016-08-08
  • 从增删改查角度学习linux基础命令

    从增删改查角度学习linux基础命令   本文从文件的增加、删除、修改、查询四个角度介绍linux的基本命令,介绍如下:   一.增 touch命令是最常用的创建文件的命令,它的常见参数如下: -a 或–time=atime或–time=access或–time=use  只更改存取时间。 -c 或&#…

    2017-07-15

评论列表(1条)

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

    对命令解释的很好,加强了对命令的记忆!