未加星标

N25 Week6 作业

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏
春节过去了,我们又开学了,又可以写博客,做作业了,好开心.
N25   Week6 作业

下面是第6周的博客作业:

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

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

[[email protected] ~]# head -30 /tmp/rc.sysinit | sed 's@^[[:space:]]@#&@g'
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
#
#
# # Rerun ourselves through initlog // 通过 /sbin/initlog 命令重新运行自己
# if [ -z "$IN_INITLOG" -a -x /sbin/initlog ]; then // 条件是 :如果 IN_INITLOG 变量的值不为空,且 /sbin/initlog 可执行
# exec /sbin/initlog -r /etc/rc.d/rc.sysinit // 调用 exec /sbin/initlog ,-r 是表示运行某个程序,为了将rc.sysinit的运行信息记到syslog里(/var/log/messages)
# fi
#
# ######################################################################################################################################################
#
# HOSTNAME=`/bin/hostname` # 取得主机名
# HOSTTYPE=`uname -m` # 取得主机类型
# unamer=`uname -r` # 取得内核的 release 版本(例如 2.4.9.30-8)
# eval version=`echo $unamer | awk -F '.' '{ print "(" $1 " " $2 ")" }'` # 取得版本号
#
# if [ -f /etc/sysconfig/network ]; then # 如果存在 /etc/sysconfig/network ,则执行该文件。
# . /etc/sysconfig/network # network 文件主要控制是否启用网络、默认网关、主机名
# fi
# if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then # 如果执行 network 文件后 HOSTNAME 为空或者为 "(none)" ,
# HOSTNAME=localhost # 则将主机名设置为 "localhost"
# fi
#
#
# # Mount /proc and /sys (done here so volume labels can work with fsck) # 接下来是挂载 /proc 和 /sys ,这样 fsck 才能使用卷标
# mount -n -t proc /proc /proc # -n 表示不写 /etc/mtab ,这在 /etc 所在的文件系统为只读时用。因为此时的/还是只读的

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

[[email protected] ~]# sed 's@^[[:space:]]*@@g' /tmp/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set pager=1
if [ -s $prefix/grubenv ]; then
load_env
fi
...

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

[email protected] ~]# head -30 /tmp/rc.sysinit | sed 's@^#[[:space:]]*@@g'
!/bin/bash
/etc/rc.d/rc.sysinit - run once at boot time
# Rerun ourselves through initlog // 通过 /sbin/initlog 命令重新运行自己
if [ -z "$IN_INITLOG" -a -x /sbin/initlog ]; then // 条件是 :如果 IN_INITLOG 变量的值不为空,且 /sbin/initlog 可执行
exec /sbin/initlog -r /etc/rc.d/rc.sysinit // 调用 exec /sbin/initlog ,-r 是表示运行某个程序,为了将rc.sysinit的运行信息记到syslog里(/var/log/messages)
fi
######################################################################################################################################################
HOSTNAME=`/bin/hostname` # 取得主机名
HOSTTYPE=`uname -m` # 取得主机类型
unamer=`uname -r` # 取得内核的 release 版本(例如 2.4.9.30-8)
eval version=`echo $unamer | awk -F '.' '{ print "(" $1 " " $2 ")" }'` # 取得版本号 if [ -f /etc/sysconfig/network ]; then # 如果存在 /etc/sysconfig/network ,则执行该文件。 . /etc/sysconfig/network # network 文件主要控制是否启用网络、默认网关、主机名 fi if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then # 如果执行 network 文件后 HOSTNAME 为空或者为 "(none)" , HOSTNAME=localhost # 则将主机名设置为 "localhost" fi # Mount /proc and /sys (done here so volume labels can work with fsck) # 接下来是挂载 /proc 和 /sys ,这样 fsck 才能使用卷标 mount -n -t proc /proc /proc # -n 表示不写 /etc/mtab ,这在 /etc 所在的文件系统为只读时用。因为此时的/还是只读的

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

[[email protected] ~]# sed '1,3s@^.*@#&@' grub.cfg.head3
##
## DO NOT EDIT THIS FILE
##

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

[[email protected] ~]# sed -r 's@(enabled|gpgcheck)=0@\[email protected]' /etc/yum.repos.d/CentOS-Media.repo
# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-7. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c7-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c7-media [command]
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

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

[[email protected] ~]# cat /var/spool/cron/root
0 */4 * * * root find /etc | cpio -oc > /backup/etc-$(date +%Y%M%d)

7. 每周2,4,6备份/var/log/messages文件至/back/massages_logs/目录中,保存的文件名刑如message-20150402

0 0 * * */2 root find /var/log/messages | cpio -oc > /back/message_logs/message-$(date +%Y%M%d)

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

0 */2 * * * root grep "^S" /proc/meminfo >> /stats/memory.txt

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

0 9-18/2 * * 1-5 root echo "howdy"

脚本编程练习:

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

11. 在此目录创建100个空文件;file1-file100

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

[[email protected] ~]# cat ./my_shell/week6
!#/bin/bash
#create a directory under /tmp and named following by testdir-CURRENTDATE.
declare TEST_DIR=testdir-$(date +%Y%M%d)
mkdir /tmp/$TEST_DIR
#create 100 new empty file under the directory just created.
#use while struction to realize this
declare I=1
while [ $I -le 100 ]; do
touch /tmp/$TEST_DIR/FILE$I
let I++
done
#print out user name of even number line in file /etc/password
sed -n 'n;p' /etc/passwd | cut -d: -f 1
[[email protected] ~]#

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: 博客CUEDI删除变量工作日
分页:12
转载请注明
本文标题:N25 Week6 作业
本站链接:http://www.codesec.net/view/533162.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(57)