马哥教育网络班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 10:10
下一篇 2016-07-22 10:10

相关推荐

  • bash的工作特性-命令执行状态返回值、命令行展开

    bash的基础特性:命令的执行状态结果 命令执行的状态结果:      bash通过状态返回值来输出此结果:           成功:0           失败:1-255 命令执行完成之后,其状态返回值会保存于bash的特殊…

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

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

    2017-07-15
  • 第一篇博客

    我的第一篇博客以及接下来的每一篇都要献给linux运维了。第一次接触linux是在大三的时候,当时并没有想到以后还会和linux邂逅并以此谋生。 首先就从最基础的linux分区与挂载点开始了解介绍,我们熟悉的Windows系统下的分区都分配有盘符,像c盘,d盘之类的,用来存放各种软件和文件。而linux也有自己的分区,并将分区挂载到不同的挂载点上,挂载是指将…

    2017-07-16
  • 三次握手,四次挥手

    TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。 在谈及TCP建立连接和释放连接过程,先来简单认识一下TCP报文段首部格式的的几个名词(这里只是简单说明,具体请查看相关教程)下面是TCP报文格式图:     序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的…

    2017-09-03
  • 正则表达式

    ##**正则表达式**– 正则表达式是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索、替换– 分类:– BRE:基本正则表达式,grep sed vi等软件支持。vim有扩展– ERE:扩展正则表达式,egrep(grep -E) sed -r等– PCRE:几乎所有高级语言都是PCR…

    Linux干货 2017-11-07
  • Mariadb之SELECT语法练习

    一 、导入hellodb.sql生成数据库后实现以下操作     # mysql -uroot -h172.16.23.23 -pcento.123 < hellodb.sql     mysql>&nbsp…

    Linux干货 2014-08-25

评论列表(1条)

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

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