第六周作业 bash编程学得好痛苦啊,啊啊啊~~需要挺住!

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

VIM很强大,但是万变不离其宗,最核心的三模式以下图表示:

第六周作业 bash编程学得好痛苦啊,啊啊啊~~需要挺住!

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

:%s/^[[:blank:]]\+.*/\0#/g

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

:%s/^[[:space:]]\+//g

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

:%s/^#[[:blank:]]\+//g

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

:1,3s/^/\0#/g

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

:%s/\(enabled\|gpgcheck\)=0/\1=1/g

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

* */4 * * * /usr/bin/cp /etc /backup/etc-$(date +%Y%m%d%H%M)/

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

* * * * 2,4,6   /usr/bin/cp /var/log/messages /backupmessages_logs/messages-$(date +%Y%m%d)

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

* */2 * * * /usr/bin/grep -E "S.*" /proc/meminfo>>/stats/memory.txt

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

* 9-18/2 * * 1-5        /usr/bin/echo "howdy"

脚本编程练习

10、创建目录/tmp/testdir-当前日期时间; 在此目录创建100个空文件:file1-file100

[root@centos7 ~]# cat testdir
#!/bin/bash
#Author:Jerry

cd /tmp && mkdir testdir-$(date +%Y%m%d%H%M%S)

cd testdir-$(date +%Y%m%d%H%M%S)

for i in {1..100}; do
    touch file$i
done




[root@centos7 ~]# bash testdir
[root@centos7 ~]# ls /tmp/testdir-20161219144412/
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
[root@centos7 ~]#

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

[root@centos7 ~]# sed -n '2~2p' /etc/passwd |cut -d ":" -f1
bin
adm
sync
halt
operator
ftp
avahi-autoipd
systemd-network
polkitd
apache
abrt
unbound
saslauth
amandabackup
geoclue
setroubleshoot
ntp
nfsnobody
qemu
mysql
pulse
gnome-initial-setup
sshd
tcpdump
hadoop
testbash
nologin
user1

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

#!/bin/bash
#

    for i in {10..19};do
            if id user$i ;then
                    echo "user$i exists."
            else
                    useradd user$i
                    echo "user$i" | passwd --stdin user$i
            fi
    done

14、在/tmp/创建10个空文件file10-file19; 把file10的属主和属组改为user10,依次类推。

#!/bin/bash
#
            cd /tmp/
    for i in {10..19};do
            if [ -e file$i ] ;then
                    echo "file$i exists."
                    chown user$i:user$i file$i
            else

                    touch file$i
                    chown user$i:user$i file$i
            fi
    done

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

(0)
N24_JerryN24_Jerry
上一篇 2016-12-19
下一篇 2016-12-19

相关推荐

  • CentOS 系统启动流程

    CentOS 系统启动流程 一、Linux系统的组成部分:内核+根文件系统 1.内核: 进程管理:进程之间的通信为:IPC(Inter Process Communication)机制,有消息队列、semerphor、shm、socket(跨主机之间的通信) 内存管理; 网络管理; 文件系统; 驱动程序; 安全功能; 2.运行中的系统环境可分为两层:内核空间…

    Linux干货 2016-09-13
  • 计算机的组成及其功能

    计算机由五大组成部分 运算器 运算器主要负责数据的算术运算或者逻辑运算 控制器 控制器负责调度系统指令 存储器 存储数据的地方,如硬盘和内存 输入设备和输出设备 主要用于人机交互,如键盘、鼠标,显示器

    2018-03-04
  • 马哥教育网络班N22期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bashnolo_user=0login_user=0while read user;do    bash_type=$(e…

    Linux干货 2016-10-21
  • linux命令的使用格式

    Linux命令的一般格式为: [root@node1 ~]#command [选项] [参数] 1、ifconfig 设备 参数 参数: up:启动指定设备 down:关闭指定设备 arp:指定设备是否支持ARP协议 -a:显示全部接口信息 例如:[root@node1 ~]#ifconfig eth0 up #启动eth0网卡 2、echo打印 &nbsp…

    Linux干货 2016-09-17
  • 用户组和权限管理相关作业

    1创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser     [root@ali ~]# useradd -u 1234 -g bin -G root,ftp -s /bin/csh -d /testdir/test…

    Linux干货 2016-08-02

评论列表(2条)

  • N24_yezi
    N24_yezi 2016-12-19 19:55

    兄弟出品,必属精品啊

    • N24_Jerry
      N24_Jerry 2016-12-20 15:14

      @N24_yezi多谢班长捧场