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

请详细总结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:]]\+/#/

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:]]//

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

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

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

[root@localhost ~]# vim /tmp/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=0/enabled=1
:%s/gpgcheck=0/gpcheck=1

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

[root@localhost ~]# mkdir /backup
[root@localhost ~]# echo 'tar cf /backup/etc-$(date +%Y%m%d%H%M) /etc/*' > /root/back.sh 
[root@localhost ~]# crontab -e
0 */4  * * * bash /root/back.sh &>/dev/null

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

[root@localhost ~]# mkdir /backup/messages_logs
[root@localhost ~]# echo 'tar cf /backup/messages_logs/messages-$(date +%Y%m%d)' > /root/back.sh 
[root@localhost ~]# crontab -e
* *  * * 2,4,6 bash /root/back.sh &>/dev/null

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

[root@localhost ~]# echo 'grep ^S /proc/meminfo >> /stats/memory.txt ' > /root/back.sh 
[root@localhost ~]# crontab -e
0 */2 * * * bash /root/back.sh &>/dev/null

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

[root@localhost ~]# crontab -e
0 11,13,15,17 * * 1-5 echo "howdy"

脚本编程练习

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

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

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

[root@localhost testdir-20160721-201246]# cat test11.sh 
#!/bin/bash
for i in {1..100};
do
        touch file$i
done
[root@localhost testdir-20160721-201246]# ls
file1    file2   file30  file41  file52  file63  file74  file85  file96
file10   file20  file31  file42  file53  file64  file75  file86  file97
file100  file21  file32  file43  file54  file65  file76  file87  file98
file11   file22  file33  file44  file55  file66  file77  file88  file99
file12   file23  file34  file45  file56  file67  file78  file89  test11.sh
file13   file24  file35  file46  file57  file68  file79  file9
file14   file25  file36  file47  file58  file69  file8   file90
file15   file26  file37  file48  file59  file7   file80  file91
file16   file27  file38  file49  file6   file70  file81  file92
file17   file28  file39  file5   file60  file71  file82  file93
file18   file29  file4   file50  file61  file72  file83  file94
file19   file3   file40  file51  file62  file73  file84  file95

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

[root@localhost ~]# cat test12.sh 
#!/bin/bash
sed -n 'n;p' /etc/passwd | cut -d: -f1
[root@localhost ~]# bash test12.sh 
bin
adm
sync
halt
uucp
games
ftp
dbus
vcsa
rtkit
abrt
nfsnobody
gdm
apache
postfix
sshd
named

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

#!/bin/bash

for i in {10..19}
do
        id user$i &> /dev/null
        if [ $? -ne 0 ];then
                useradd user$i
                echo user$i:user$i | chpasswd
        else
                echo "user$i existed!"
        fi
done

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

[root@localhost tmp]# cat test14.sh 

#!/bin/bash
for i in {10..19}
do
        if [ -f file$i ];then
                echo "file $i existed!"
        else
                touch file$i
        fi
done

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

[root@localhost tmp]# cat test15.sh 
#!/bin/bash
for i in {10..19}
do
        chown user$i:user$i file$i
done

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

(0)
N21-天天N21-天天
上一篇 2016-08-02 10:58
下一篇 2016-08-02 10:58

相关推荐

  • N22-冥界之王-第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;       在虚拟机里新添加一块磁盘20G,/dev/sdb     &…

    Linux干货 2016-09-26
  • samba

    Samba 简介:      Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。…

    系统运维 2016-11-01
  • 压缩与归档

    一、压缩     压缩:根据一定算法将数据以更加节省空间的形式存放。下面来看一下Linux常见的压缩工具:     1、gzip/gunzip         后缀名:.gz   …

    Linux干货 2015-05-04
  • example:Disk and LVM

    1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项。     1)创建磁盘分区 [root@localhost ~]# fdisk /dev/sdb    Device conta…

    Linux干货 2016-08-29
  • lvs集群学习笔记之原理

    lvs集群学习笔记之原理 lvs集群学习笔记之原理 集群 负载均衡 lvs 原理 lvs集群学习笔记之原理 什么是集群 什么是负载均衡 负载均衡解决方案 lvs简介 lvs内核空间模型 lvs特点 lvs实现方式 lvs实现方式之nat模型 lvs实现方式之dr lvs实现方式之tun lvs实现方式之FULLNAT lvs之算法 静态算法   &…

    Linux干货 2017-01-03
  • 永远不要让自己停下

    曾几何时,我还是刚出象牙塔的小男孩。想想现在,经过4年的洗礼,我不再是小男孩了。可是,我却发现自己变得越来越懒,守着那丁点的知识。 我早已坐吃山空而不自知,早已落后于时代的趋势而不自知。时代需要一个勤奋而专注的我,需要一个不懈怠的我。 如果,我不继续前进,等待我的只有堕落。逆水行舟不进则退,不逼自己一把,永远不知道自己的潜力有多大。 我希望说,再见,懈怠而懒…

    Linux干货 2016-10-07

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-02 11:29

    写的很好,排版也很棒,加油,工作时间是从9点开始吧,在仔细看看第7个对吗?