第六周作业 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

相关推荐

  • 系统自动化安装和SELinux

    一、知识整理 1、anaconda系统安装程序:默认图形启动; 使用光盘启动,在选择模式界面tab键在后面增加text或按下ESC键,输入lnux text进入字符界面安装。 2、创建kickstart文件: 直接手动编辑:依据模板修改,/root目录下的anaconda.cfg 使用创建工具创建:system-config-kickstart,图形化工具:…

    Linux干货 2016-09-26
  • 第五周作业

    1、显示当前系统上root、fedora、或user1用户的默认shell;          [root@yangjifeng~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f…

    Linux干货 2017-09-04
  • Linux(Debian系)常用运维命令节选之一

    用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查看PCI信息:lspci (相比cat /proc/pci更直观) 查看内存信息:cat /proc/meminfo 查看USB设备:cat /proc/bus…

    Linux干货 2016-10-30
  • 一起学习吧:SDCC 2017即将在上海共话架构、数据和运维!

    2017活动家邀你一起学习吧!SDCC 2017在上海共话架构、数据和运维,还有两天!【召开时间为:3月17至3月19日】 在互联网大潮下,2017年的就业环境越发恶劣,技术人如何去适应技术变革和学习新技术,以及如何快速增强自身的技术实力成为亟需解决的问题。如果你在看完一本技术图书后还是疑惑不解,处于目前项目遇到困难时无人请教的尴尬境地,亦不清楚业界同行在使…

    2017-03-15
  • N22+北京zhangzhangzhang+第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1    ls -ld /home/tuser1   &nb…

    Linux干货 2016-09-05
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本,判断当前系统上所有用户的shell是否为可登录的shell(即用户的shell不是/sbin/nologin),分别统计这两类用户的个数(通过字符串比较来实现) #!/bin/bash cat /etc/passwd|awk -F: ‘BEGIN{nologin=0;login=0}{if($NF==”/sbin/nol…

    Linux干货 2017-08-28

评论列表(2条)

  • N24_yezi
    N24_yezi 2016-12-19 19:55

    兄弟出品,必属精品啊

    • N24_Jerry
      N24_Jerry 2016-12-20 15:14

      @N24_yezi多谢班长捧场