第六周作业 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 14:38
下一篇 2016-12-19 15:42

相关推荐

  • 网络管理之网络配置

    一:博客 1 centos6网卡别名 在Linux系统中,我们可以在一块物理网卡上配置多个IP地址,以此来实现类似子接口的功能,我们称之为网卡别名。 设置网卡别名,先在/etc/sysconfig/network-scripts目录下将eth0文件复制名为eth0:1的文件,复制文件中的1可随意设置,但为方便管理建议按顺序排列 注意要修改ifcfg-eth0…

    Linux干货 2016-09-05
  • CentOS系统启动流程

       开机不是只要单击电源钮,而关机只要关掉电源钮就可以了吗?话是这样没错啦,但是由于 Linux 是一套多人多任务的操作系统,你难保你在关机时没有人在在线,如果你关机的时候碰巧一大群人在在线工作, 那会让当时在在线工作的人马上断线的!那不是害死人了!一些数据可是无价之宝。    另外 Linux 在执行的时候,虽然你…

    Linux干货 2016-09-19
  • 安装MariaDB

    1、安装MariaDB 安装命令 yum -y install mariadb mariadb-server安装完成MariaDB,首先启动MariaDB systemctl start mariadb设置开机启动 systemctl enable mariadb接下来进行MariaDB的相关简单配置 mysql_secure_installation首先是…

    Linux干货 2017-08-08
  • 第3周作业

    一、列出当前系统上的所有已经登录的用户的用户名 [root@bogon tmp]# who | cut -d ” ” -f1 | sort -urootwing[root@bogon tmp]# who | cut -d ” ” -f1 | uniqrootwing 二、取出最后登录到当前系统的用户相关信息 […

    Linux干货 2017-07-25
  • 9月9日,系统启动文件恢复与内核编译

    1、破解root口令,并为grub设置保护功能 进入grub界面,输入a键,在输入1,进入单用户界面,进入系统后修改密码。 2、破坏本机grub stage1,而后在救援模式下修复之 3、删除vmlinuz和initramfs文件,无法启动,恢复之 (1)安装kernel内核 (2)光盘寻找内核,在复制到/boot目录下,在修改成对应的,系统会重启两次 (3…

    Linux干货 2016-09-13
  • 马哥教育网络班21期+第一周课程练习

    一、计算机的组成及其功能 自上个世纪40年代开始截止到目前,我们所有的计算机包括手持的智能终端设备,它们整个组织体系设备都是遵循冯诺依曼体系结构。 现代计算机设备的组成部分: 运算器、控制器、存储器、输入设备、输出设备 控制器:控制器是整个计算机的枢纽,一般是控制计算机整个部件之间协调的,比如运算器要想运算的话,首先得从存储器中取出数值。或者输入设备输入数。…

    Linux干货 2016-07-07

评论列表(2条)

  • N24_yezi
    N24_yezi 2016-12-19 19:55

    兄弟出品,必属精品啊

    • N24_Jerry
      N24_Jerry 2016-12-20 15:14

      @N24_yezi:多谢班长捧场