从Linux小白到大牛——与狼共舞的日子6

马哥教育网络班21期+第6周课程练习

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


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


[root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/
[root@localhost ~]# vim /tmp/rc.sysinit
    :%s@^[[:space:]]@#&@g

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


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

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


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

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


[root@localhost ~]# vim /tmp/grub.conf
    :1,3s@^.@#&@g

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 backup]# crontab -e
    0 */4 * * * /bin/cp -a /etc /backup/etc-`date '+\%Y\%m\%d\%H\%M'`

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


[root@localhost ~]# mkdir /backup/messages_logs
[root@localhost ~]# crontab -e
    0 0 * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-`date '+\%Y\%m\%d'`

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


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

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


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

脚本编程练习

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


[root@localhost ~]# cat date.sh 
#!/bin/bash
#
mkdir /tmp/testdir-`date +%Y%m%d%H%M%S`

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


[root@localhost ~]# cat file.sh 
#!/bin/bash
#
for i in {1..100};do
    if [ -f file$i ];then
        echo "file$i exists."
    else
        touch file$i
        echo "file$i create."
done

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


[root@localhost ~]# cat username.sh 
#!/bin/bash
#
for i in $(seq 2 2 $[`cat /etc/passwd | wc -l`]);do
    head -$i /etc/passwd | tail -1 | cut -d: -f1
done

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


[root@localhost ~]# cat user1.sh 
#!/bin/bash
#
for i in {10..19};do
    if ! id user$i &>/dev/null;then
        useradd user$i
        echo user$i | passwd --stdin user$i &>/dev/null
        echo "user$i create."
    else
        echo "user$i exists."
    fi
done

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


[root@localhost ~]# cat file1.sh 
#!/bin/bash
#
for i in {10..19};do
    if [ -f /tmp/file$i ];then
        echo "file$i exists."
    else
        touch /tmp/file$i
        echo "file$i create."
    fi
done

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


[root@localhost ~]# cat owner.sh 
#!/bin/bash
#
for i in {10..19};do
    if [ -f /tmp/file$i ];then
        ! id user$i &>/dev/null && echo "user$i no exists." || chown $i.$i file$i
        [ $? -eq 0 ] && echo "owner and group is $i"
    else
        echo "file$i no exists."
    fi
done

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

(0)
N21_孤狼N21_孤狼
上一篇 2016-10-31
下一篇 2016-10-31

相关推荐

  • HTTP详解(1)-工作原理

    1. HTTP简介          HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输…

    Linux干货 2015-04-04
  • Linux基础之安全加密及CA、证书实战应用

    一、建立私有CA并让客户端申请请求,需要两台虚拟机完成 1、建立私有CA,生成私钥 2、CA公司给自己,生成自签证书 3、为CA提供所需要的目录及文件(如果事先存在,此步骤可以跳过) 二、CA公司已建立,需要一台客户机配合CA签署证书 1、客户端用到证书,因此生成私钥 2、客户端生成证书签署请求 3、将请求通过可靠方式发送给CA主机,这里作为测试,因此使用s…

    Linux干货 2016-10-04
  • 学习积累01#计算机组成#Linux版本#基本命令

    第一周的积累 问题1:描述计算机的组成及其功能 CPU:中央处理器,主要功能是进行运算和逻辑运算,内部大致可分为控制单元、逻辑算术单元、存储单元; 主板:核心部件,是电脑的“脉络”,CPU\内存\控制核心电路均安装在主板上,各种外部设备也通过主板上的插槽相互连接; 硬盘:常见的外存储器,容量大,保存时间长、安全性高。接口主要分为IDE、SATA、SCSI。 …

    Linux干货 2016-10-25
  • 网络班21期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。          mkdir /home/tuser1        &n…

    Linux干货 2016-08-22
  • rsync+inotify实现数据实时同步备份

    定时备份和实时备份        说到备份,无疑于定时备份和实时同步备份。定时备份可以通过脚本或者Crontab来实现,而实时同步备份可以通过某些接口监控文件的各种变化情况来实现的(比如内核接口inotify);通过对比可以发现对数据信息要求高的环境使用实时同步备份可以更好更有利的保护数据的安全性。 软件介绍之rsyn…

    Linux干货 2015-02-28
  • linux安装

    点击开始运行\\172.16.0.1\python10 用户名:python10 密码:python10magedu 运行 ftp://172.16.0.1                                                                                                      …

    Linux干货 2018-03-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 14:18

    博客写得非常的好,32个赞,思路清晰,加油!