马哥教育网络班20期+第6周练习博客

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


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

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

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


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

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


[root@bogon ~]#: vim/tmp/rc.sysinit
[root@bogon ~]#: %s/^[[:space:]]\{0,\}#\+//g


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


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

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


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

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


[root@bogon ~]# crontab -e
* */4 * * * cp -r /etc/ /backup/etc-`date +%Y%m%d%H%M`
[root@bogon ~]# crond start


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


[root@bogon ~]# * * * * */2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-`date +%Y%m%d`


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


[root@bogon ~]# * */2 */1 * * grep "^S" /proc/meminfo >> /stats/memory.txt


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

[root@bogon ~]#  * 9-17/2 * * */1-5 echo "howdy"


脚本编程练习

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


 [root@bogon ~]# vim /tmp/testdir.sh 
 #!/bin/bash
  mkdir -pv /tmp/testdir-$(date +%F-%H-%M-%S)

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


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


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


[root@bogon ~]# cat -n  /etc/passwd | sed -n '2~2p' |cut -d: -f1
     2  bin
     4  adm
     6  sync
     8  halt
    10  uucp
    12  games
    14  ftp
    16  dbus
    18  vcsa
    20  avahi-autoipd
    22  haldaemon
    24  ntp
    26  saslauth
    28  pulse
    30  tcpdump
    32  bash
    34  basher
    36  fedora
    38  dhcpd

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


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

[root@bogon ~]# bash useradd.sh
Add user10 is finished.
Add user11 is finished.
Add user12 is finished.
Add user13 is finished.
Add user14 is finished.
Add user15 is finished.
Add user16 is finished.
Add user17 is finished.
Add user18 is finished.
Add user19 is finished.
[root@bogon ~]#


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


[root@bogon ~]# touch /tmp/file{10..19}


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


[root@bogon ~]# vim ./usertest.sh
#!/bin/bash
cd /tmp
for i in {10..19};do
    chown user$i:user$i /tmp/file$i
done


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

(0)
huan918huan918
上一篇 2016-07-22
下一篇 2016-07-22

相关推荐

  • LAMP基于编译安装方式实现(httpd与php以fastcgi方式结合)3

    概述     在某些现有rpm包不能满足需求的时候,可能需要编译安装LAMP环境,本篇就介绍下php与httpd结合方式为fastcgi方式结合时的编译安装,同时,由于httpd与php以module方式结合时,仅是编译选项有所差别,故也会简单说明下编译选项的差异 环境     CentOS7系统,…

    Linux干货 2016-10-17
  • grub启动

    grub: GRandUnified Bootloader(统一的引导模式分为3个阶段) grub 0.97: grub legacy grub 2.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统 stage2:磁盘分区(…

    Linux干货 2017-05-15
  • CentOS、RHEL及Linux的关系

    什么是Linux?    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux存在着…

    Linux干货 2016-01-14
  • grep命令与正则表达式

    grep命令与正则表达式 什么是grep:         grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的…

    Linux干货 2017-04-08
  • 创建LVM分区实例

                         内容概述   LVM逻辑卷的定义                       &nbsp…

    2017-06-25
  • LVM

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地…

    Linux干货 2016-12-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-22 10:21

    写的很好,排版也很棒,第3 5 好像不对吧,crontab每周,直接写就可以,不用除以,每天也不用除以1,加油