N26第六周博客作业

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

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

 

cp /etc/rc.d/rc.sysinit
/tmp

 

 

 

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

:%s@^[[:space:]]\+@@

 

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

:%s@^#[[:space:]]\+@@g

 

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

:1,3s@^[[:space:]]\+@#&@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

crontab -e 进入编辑界面

0 */4 * * *
cp -a /etc /backup/etc-‘date +\%Y\%m\%d\%H\%M’

 

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

crontab -e 进入编辑界面

0 0 * * 2,4,6
 /bin/cp -a /var/log/messages
/backup/messages_logs/messages-$(date +\%Y\%m\d)

 

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

crontab -e 进入编辑界面

0 */2 * * * 
/bin/cat /proc/meminfo | /bin/grep “^S” >>
/stats/memory.txt

 

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

crontab -e 进入编辑界面

0 9-17/2 * *
1-5 /bin/echo “howdy”

 

脚本编程练习

10、           创建目录/tmp/testdir-当前日期时间;

 

#!/bin/bash

#

Time=$(date
+%F-%T)

mkdir
/tmp/testdir-“$Time”

 

11、           在此目录创建100个空文件:file1-file100

#!/bin/bash

#

Time=$(date
+%F-%T)

mkdir
/tmp/testdir-“$Time”

cd /tmp/testdir-“$Time”

for i in
$(seq 1 100) ; do

        if 
[ -f file$i ] ; then

                echo “file$i is
exist”

        else

                touch file$i

        fi

done

 

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

sed -n ‘2~2p’
/etc/passwd  | awk -F: ‘{print $1}’

 

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

 

#!/bin/bash

#

for i in
{10..19} ; do

        if id user”$i” >/dev/null
2>&1 ; then

                echo “user$i is
exist!”

        else

               useradd user$i

               echo “user$i” | passwd
–stdin user$i >/dev/null 2>&1

        fi

done

 

14、           在/tmp/创建10个空文件file10-file19;

#!/bin/bash

#

for i in
$(seq 10 19) ; do

if [ -f file$i ] ; then

           echo “File “file$i” is already exists
!”

else

           cd /tmp ; touch file$i

fi

done

 

15、           把file10的属主和属组改为user10,依次类推。

 

#!/bin/bash

#

for i in
{10..19} ; do

        if [ -f /tmp/file$i ] ; then

                chown user$i:user$i /tmp/file$i

        else

                echo “File “file$i” is not
exists !”

        fi

done

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

赞 (0)
天空天空
上一篇 2017-03-13 15:29
下一篇 2017-03-13 21:01

相关推荐

  • 使用Openssl构建私有CA

    使用Openssl构建私有CA Openssl是SSL的开源实现,是一种安全机密程序,主要用于提高远程登录访问的安全性。也是目前加密算法所使用的工具之一,功能很强大。     Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法、常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰…

    Linux干货 2015-10-07
  • bash脚本编程语言if语句,find文件查找和压缩工具及课后作业练习

    一.概述 使用read命令来接受输入 使用read来把输入值分配给一个或多个shell变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read -p “Enter a filename:“ FILE 过程式编程语言: 顺序执行 选择执行 循环执行 条件选择if语句 选…

    Linux干货 2016-08-22
  • $@与$*的不同之处

    $@与$*的不同之处 $*: 把我们传递给脚本的参数全部合为一个字节,当成一个字符串或者参数来使用。 $@: 把我们传递给脚本的所有参数,每个参数都为独立字符串,当我们用 \((n) 来调用的时候, 输入参数的位置为第几个,那我们就用用\)n来调用第几个,一对应。 下面我们用代码来看一下这两个的区别: 创建一个简单的脚本让他输出我们输入的多个参数:&#822…

    2017-06-06
  • Linux的诞生史

    Linux诞生史 远古记忆-UNIX的诞生 Multics计划—开始 这是由麻省理工学院,通用电气和AT&T的贝尔实验室合作的操作系统项目,用于使用在GE-645大型主机上的。但是由于整个目标过于庞大,Multics虽然发布了一些产品,但是性能都很低,AT&T退出了Mulitcs项目,计划终止。肯.汤姆逊当时也参加了这个项目,很不…

    2017-07-11
  • linux网络管理

    Linux网络配置 摘要:Linux 对网络的管理分为 静态指定和动态管理。 静态指定 静态指定ip一般有命令              ifconfig       &…

    Linux干货 2016-04-05