N25期第六周作业

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

1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#
sed -r 's/^[^[:space:]]+/#&/g' /tmp/rc.sysinit
:%s/^[^[:space:]]\+/#&/
2.复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符
sed 's/^[[:space:]]\+//g' /tmp/grub.conf
:%s/^[[:space:]]\+//
3.删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
sed -r 's/^#[[:space:]]+//g' /tmp/rc.sysinit
:%s/^#[[:space:]]\+//
4.为/tmp/grub.conf文件中前三行的行首加#号
sed '1,3s/^/#&/g' /tmp/grub.conf
:1,3s/^/#&/
5.将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1
:%s/\(enabled\|gpgcheck\)=0/\1=1/
6.每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202
* */4 * * * tar -czf /backup/etc-$(date +\%Y\%m\%d\%H\%M\%S).tar.gz /etc/
7.每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402
* * * * 2,4,6 tar -czf /back/messages_logs/messages-$(date +\%Y\%m\%d).tar.gz /var/log/messages
8.每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
* */2 * * * grep '^S' /proc/meminfo >> /stats/memory.txt
9.工作日的工作时间内,每两小时执行一次echo "howdy"
* */2 * * 1-5 echo "howdy"
10.创建目录/tmp/testdir-当前日期时间,在此目录创建100个空文件:file1-file100
#!/bin/bash
testdir=/tmp/testdir-$(date +%Y%m%d%H%M%S)
mkdir $testdir
cd $testdir
for ((i=1;i<=100;i++))
do
touch $testdir/file$i
done
11.显示/etc/passwd文件中位于第偶数行的用户的用户名
awk '!(NR%2)' /etc/passwd|cut -d: -f1
12.创建10用户user10-user19;密码同用户名,在/tmp/创建10个空文件file10-file19,把file10的属主和属组改为user10,依次类推
#!/bin/bash
for ((i=10;i<=19;i++))
do
useradd user$i
echo user$i | passwd --stdin user$i
touch /tmp/file$i
chown user$i:user$i file$i
done

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

(0)
N25_AllenN25_Allen
上一篇 2016-12-26 10:11
下一篇 2016-12-26 10:32

相关推荐

  • 函数式编程

    当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不好维护。(你可以试想一下如果你的程序有个复杂的状态,当以后别…

    Linux干货 2016-08-15
  • bash脚本编程之select语法详解

    shell编程之select select控制结构(在tcsh中不可用)基于Korn Shell中的控制结构 select语句首先显示一个菜单,然后根据用户的选择给变量赋予相应的值,最后执行一系列命令 其语法如下: select varname in list do commands done select 表达式是一种bash的扩展应用,动作包括: 自动用…

    Linux干货 2016-08-24
  • CentOS启动流程

    CentOS启动大致流程: POST –> BootSequence –> Bootloader –> kernel –> rootfs –> switchroot –> /sbin/init –> (/etc/inittab;/et…

    Linux干货 2017-07-12
  • 文件的查找命令 find 和 locate

    文件的查找命令 find 和 locate find 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具…

    Linux干货 2016-08-16
  • System作业

    1、求每班总成绩和平均成绩 [root@Centos7 bin]# awk '!/^name/{a[$2]++;b[$2]+=$3}END{for(i in a){print i,b[i],b[i]/a[i]}}' f1 4 100 50 5&nbs…

    Linux干货 2016-09-20
  • bash的特性和目录管理命令

    bash的特性和目录管理命令 bash特性     1. 命令补全机制: 所谓的命令补全,就是当输入命令的前几个字符的时候,按下tab,此时,bash根据输入的字符串,到path路径下进行寻找,把找到的且能唯一根据这个字符串标识的命令,予以补全。 如果根据这个字符串能在一个目录下面找到多个相同的命令,则再按一下tab就能列出所有…

    Linux干货 2016-10-29