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

相关推荐

  • DNS相关配置

    DNS基础概念: DNS全称为Domain Name System。它作为将域名和IP地址相互映射的得一个分布式数据库,能够使人更方便的访问互联网 DNS使用TCP和UDP得53号端口 BIND是DNS得实现方式之一 named是bind程序得运行的进程名 named进程的主要运行者是named用户,为了安全起见,它的程序也应该以named用户运行 配置正向…

    Linux干货 2017-05-30
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • 浅谈Nginx(二)—http下server配置

    浅谈Nginx(二)—http下server配置 此文介绍Nginx下的http模块,着重介绍http模块下的server服务 ——–依据”马哥教育”主讲人马永亮导师的上课笔记整理——- 目录  一. http相关的基本配置:     1)…

    系统运维 2017-02-07
  • linux网络配置

    主要内容: ip地址以及子网划分 路由基本概念 网络配置工具:ifconfig,ip,netstat使用 网卡配置文件及修改 IP地址: 它们可唯一标识 IP 网络中的每台设备 v  每台主机(计算机、网络设备、外围设备)必须具有唯 一的地址 v IP地址由两部分组成:   &n…

    Linux干货 2016-09-07
  • rpm和yum的使用,程序包编译安装以及编译apache过程中出现的问题

    一、rpm包管理          用法: rpm [选项…]              查询/验证软件包选项:   &nbsp…

    Linux干货 2016-03-19
  • 虚拟网卡实验:网卡别名 与 bond多网卡模式

     一、网卡别名:多IP 绑定一个 Interface         将多个IP地址绑定到一个NIC上            网卡别名:    &n…

    Linux干货 2016-09-05

评论列表(1条)

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

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