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

请详细总结vim编辑器的使用并完成以下练习题

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

[root@junfeng ~]# cp /etc/rc.d/rc.sysinit /tmp
[root@junfeng ~]# vi /tmp/rc.sysinit 
                  :%s/^[[:space:]]\+/#&/

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

[root@junfeng ~]# cp /boot/grub/grub.conf /tmp
[root@junfeng ~]# vi /tmp/grub.conf 
                  :%s/^[[:space:]]\+//g

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

[root@junfeng ~]# vi /tmp/rc.sysinit 
                  :%s/^#[[:space:]]\+//g

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

[root@junfeng ~]# vi /tmp/grub.conf 
                  :1,3s/^.*/#&/g

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

[root@junfeng ~]# vim /etc/yum.repos.d/CentOS-Media.repo
                  :%s/=0/=1/g

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

 [root@junfeng ~]# crontab -l
 * */4 * * * cp -rf /etc /backup/etc-`date +%Y%m%d%H%M`

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

 [root@junfeng ~]# crontab -l
 10 * * * 2,4,6 cp -rf /etc /backup/etc-`date +%Y%m%d`

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

[root@junfeng ~]# crontab -l
 * */2 * * * grep -i "^s" /proc/meminfo >> /stats/memory.txt

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

[root@junfeng ~]# crontab -l
 * */2 * * 1,2,3,4,5 echo "howdy"

脚本编程练习

10.创建目录/tmp/testdir-当前日期时间

#!/bin/bash 
mkdir -p /tmp/testdir-`date +%Y%m%d%H%M`

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

#!/bin/bash 
for i in  {1..100}; do
    mkdir -p file$i
    echo "make file$i successful"
done

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

[root@junfeng ~]# awk -F: '(+NR%2==0) {print $1}' /etc/passwd

13.创建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 &> /dev/null && echo "user$i" | passwd --stdin user$i
        [ $? -eq 0 ] && echo "Add user$i finished."
    fi
done

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

#!/bin/bash
for i in {10..19}; do
    if [ -d /tmp/file$i ]; then
        echo "file$i exists."
    else
        mkdir -p  /tmp/file$
        [ $? -eq 0 ] && echo "Add file$i finished."
    fi
done

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

#!/bin/bash
for i in {10..19}; do
    chown user$i:user$i /tmp/file$i
    [ $? -eq 0 ] && echo "changed"
done

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

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

相关推荐

  • Hadoop伪分布式模型

    # java -version # vim /etc/profile.d/java.sh export JAVA_HOME=/usr # yum install java-1.8.0-openjdk-devel # mkdir /bdapps # tar xf hadoop-2.7.4.tar.gz -C /bdapps/ # cd /bdapps # ln…

    2017-12-08
  • Linux学习

    计算机的组成及功能 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部件组成。运算器:进行算术和逻辑运算。控制器:负责协调和指挥整个计算机的工作存储器:存储程序、数据和文档。输入设备:用于将各种数据输入计算机中。输出设备:用于将计算机中的数据输出到相应设备上。   计算机软件总体分为系统软件和应用软件两大类:系统软件是各类操作系统,如wi…

    Linux干货 2017-12-03
  • 十四.Linux博客-2016年8月22日数组

    格式说明: 操作 概念 命令 说明及举例 十四.数组 数组概念 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 声明数组declare -…

    Linux干货 2016-08-24
  • Linux学习总结01—操作系统与硬件介绍(原创)

      在计算机中,分为以下结构,运算器,控制器,存储器,输入、输出设备,运算器和控制起的整个就形成了中央处理器(称作为CPU),而cpu的功能就是提供运算,运算的数据都是经由控制器而来,控制器其实是往主存储器中取得数据,内存中的数据是由用户来输入的,其运算的结果通过控制器存储在内存当中,之后可以根据用户的指令输出在一个设备当中(例如显示器),我们都知…

    Linux干货 2016-10-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-17 15:15

    写的很好,排版也很棒,加油,crontab的不对