megeedu Linux+Python高级运维班 3期 第六周作业

本周作业内容:

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

[[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp/    #复制文件
[[email protected] ~]# vim /tmp/rc.sysinit          #编辑文件
:%s/^[[:space:]]/#&/                      #末行模式下查找替换

替换结果对比:

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

[[email protected] ~]# cp /boot/grub/grub.conf /tmp/    #复制文件
[[email protected] ~]# vim /tmp/grub.conf               #vim编辑文件
:%s/^[[:space:]]\+//                                 #末行模式查找替换,不指定替换内容即为删除

删除结果对比:

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

[[email protected] ~]# vim /tmp/rc.sysinit                         #vim 编辑文件   
:%s/^#[[:space:]]\+//                                           #末行模式查找替换

删除结果对比:

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

[[email protected] ~]# vim /tmp/grub.conf         #vim 编辑文件
:1,3s/^/#&/                                    #末行模式查找替换,1,3指定搜索范围,
:w /tmp/grub.conf.bak                          #另存为 /tmp/grub.conf.bak 
[[email protected] ~]# vimdiff /tmp/grub.conf /tmp/grub.conf.bak     #vimdiff 对比两个文件

对比结果:

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

[[email protected] ~]# cp /etc/yum.repos.d/CentOS-Media.repo /tmp/    #复制文件
[[email protected] ~]# vim /tmp/CentOS-Media.repo                     #vim 编辑文件
:%s/enabled=0/enabled=1/g                                          #全局查找替换
:%s/gpgcheck=0/gpgcheck=1/g

替换前后对比:

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202

[[email protected] ~]# mkdir /backup
[[email protected] ~]# crontab -e
0 */4  * * * /bin/cp /etc /backup/etc-`date +%Y%m%d%H%M`

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

[[email protected] ~]# 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文件中

[[email protected] ~]# mkdir /stats
[[email protected] ~]# crontab -e
0 */2 * * * /bin/grep ‘^S‘ /proc/meminfo > /stats/memory.txt

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

[[email protected] ~]# crontab -e
0 8-17/2 * * 1,2,3,4,5  /bin/echo "howdy"        #1-5为工作日,8-17为工作时间

脚本编程练习

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

[[email protected] ~]# vim /MK-testdir.sh
#!/bin/bash
mkdir /tmp/testdir-`date +%Y%m%d%H%M`

[[email protected] ~]# chmod +x /MK-testdir.sh 
[[email protected] ~]# ll /MK-testdir.sh 
-rwxr-xr-x. 1 root root 54 9月   9 10:41 /MK-testdir.sh
[[email protected] ~]# /MK-testdir.sh
[[email protected] ~]# ls /tmp/
3    CentOS-Media.repo  maxusers.txt  testdir-201609091042
3]   crontab.RT2uVE     mylinux       tfile-2016-08-12-17-01-01
a_c  etc.conf           mytest1       yum.log
a_d  etc.test           mytest2       yum_save_tx-2016-08-01-01-55m_XEdJ.yumtx
b_c  grub.conf          mytest3
b_d  grub.conf.bak      rc.sysinit
[[email protected] ~]#

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

[[email protected] tmp]# vim /MK-testdir.sh 
#!/bin/bash
dir=/tmp/testdir-`date +%Y%m%d%H%M`
mkdir $dir
if [ $? -eq 0 ]; then      #判断之前目录是否创建成功,若创建成功则进入循环创建文件file1-file100
  for i in {1..100};do
    touch $dir/file$i
  done
  echo ‘touch file1-file100 success.‘
else
  echo ‘touch file1-file100 failed.‘
fi
[[email protected] /]# ./MK-testdir.sh 
touch file1-file100 success.
[[email protected] /]# ll /tmp/testdir-201609091148
总用量 0
-rw-r--r--. 1 root root 0 9月   9 11:48 file1
-rw-r--r--. 1 root root 0 9月   9 11:48 file10
-rw-r--r--. 1 root root 0 9月   9 11:48 file100
-rw-r--r--. 1 root root 0 9月   9 11:48 file11
......

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

[[email protected] /]# vim test-6-12.sh 
#!/bin/bash
cat -n /etc/passwd | sed -n ‘n;p‘ | cut -d: -f1
[[email protected] /]# ./test-6-12.sh 
     2    hadoop
     4    daemon
     6    lp
     8    shutdown
.........

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

[[email protected] work]# vim test-6.13.sh 
#!/bin/bash
#
for i in {10..19};do                  
  if id user$i &> /dev/null; then          
    echo "user$i exists."                
  else
    useradd user$i &> /dev/null      
     if [ $? -eq 0 ]; then              
        echo "user$i" | passwd --stdin user$i &> /dev/null
        echo "add user$i success."    
     fi
  fi
done
[[email protected] work]# ./test-6.13.sh 
Add user10 success.
Add user11 success.
Add user12 success.
Add user13 success.
Add user14 success.
Add user15 success.
Add user16 success.
Add user17 success.
Add user18 success.
Add user19 success.

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

[[email protected] work]#vim test-6.14.sh 
#!/bin/bash

for i in {10..19};do                  
  touch /tmp/file$i
    if [ $? -eq 0 ];then
       echo "file$i touch success."
    fi
done
[[email protected] work]# ./test-6.14.sh 
file10 touch success.
file11 touch success.
file12 touch success.
file13 touch success.
file14 touch success.
file15 touch success.
file16 touch success.
file17 touch success.
file18 touch success.
file19 touch success.

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

[[email protected] work]#vim test-6.15.sh
#!/bin/bash
#
for i in {10..19};do                       
    if [ -e /tmp/file$i ];then             
       chown user$i:user$i /tmp/file$i &> /dev/null  
    else 
       echo "No Find The file."             
    fi
done

[[email protected] work]# ./test-6.15.sh 
[[email protected] work]# ll /tmp/ | grep user
-rw-r--r--.  1 user10 user10     0 9月   9 12:30 file10
-rw-r--r--.  1 user11 user11     0 9月   9 12:30 file11
-rw-r--r--.  1 user12 user12     0 9月   9 12:30 file12
-rw-r--r--.  1 user13 user13     0 9月   9 12:30 file13
-rw-r--r--.  1 user14 user14     0 9月   9 12:30 file14
-rw-r--r--.  1 user15 user15     0 9月   9 12:30 file15
-rw-r--r--.  1 user16 user16     0 9月   9 12:30 file16
-rw-r--r--.  1 user17 user17     0 9月   9 12:30 file17
-rw-r--r--.  1 user18 user18     0 9月   9 12:30 file18
-rw-r--r--.  1 user19 user19     0 9月   9 12:30 file19
-rw-r--r--.  1 root   root     854 8月  19 18:07 maxusers.txt
[[email protected] work]#
时间: 2025-01-02 18:07:58

megeedu Linux+Python高级运维班 3期 第六周作业的相关文章

megeedu Linux+Python高级运维班 3期 第三周作业

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [[email protected] ~]# who root     pts/0        2016-08-19 17:46 (172.16.168.16) root     pts/1        2016-08-19 17:46 (172.16.168.16) [[email protected] ~]# who | cut -d ' ' -f1 | uniq  root [[email pr

megeedu Linux+Python高级运维班 3期 第五周作业

1.显示当前系统上root.fedora或user1用户的默认shell: [[email protected] ~]# useradd fedora        #添加用户fedora [[email protected] ~]# useradd user1         #添加用户user1 [[email protected] ~]# egrep '^(root|fedora|user1)' /etc/passwd | cut -d: -f1,7                    

megeedu Linux+Python高级运维班 3期 第二周作业

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 答:Linux上常用的文件管理类命令有cp(复制).mv(移动/改名).rm(删除)等命令. ①文件复制命令 命令格式: cp [OPTION]... [-T] SOURCE DEST                   cp [OPTION]... SOURCE... DIRECTORY                   cp [OPTION]... -t DIRECTORY SOURCE... 常用选项:    

megeedu Linux+Python高级运维班 3期 第四周作业

1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [[email protected] ~]# cp -r /etc/skel/ /home/tuser1        #使用cp命令带-r选项:递归复制目录及内部的所有内容: [[email protected] ~]# ll /home/ | grep tuser1        #查看/home/tuser1 目录文件详细信息 drwxr-xr-x. 2 

老男孩教育linux高级运维班35期-杨金恒的决心书

决心书 大家好,我是杨金恒,老家是山西运城,从小对技术方面比较感兴趣,之前从事过"联想售后工程师",由于自身造诣不深薪以及公司资待遇不理想,我决定来老男孩深造自己. 学习目标: 熟练掌握运维技能,找到月薪10K+以上的工作. 学习过程: 好好吃饭,按时睡觉,保证身体运行正常. 多看教学视频,保证充分的知识来源. 学习方面尽量做到"格物致知",保持一颗好奇的心. 克服"我以为"的思想,经验可能把自己带沟里. 细心检查命令,尽量自己排错,自学能力的练

老男孩linux+Python高薪运维就业班第一关课后上机实战考试题

老男孩教育linux+Python高薪运维就业班第一关课后上机实战大考察 (开课第三天上机考试题) (每题10分共130分,过100即可,请给出详细步骤) 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容"inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0"(不包含引号). 2.将题1中的oldboy.txt文件内容通过命令过滤只输出如下内容: 10.0

老男孩python高级运维开发课程

L老男孩培训-python培训二期lesson01(11节)01-第一天内容介绍及课前思想02-python介绍及发展03-python 发展04-python安装05-python编程风格06-raw_input用户交互07-用户交互及格式化输出08-python流程控制if_for_while09-python练习程序_员工信息表10-python练习程序_员工信息表_基本实现11-员工信息表_脚本bug处理 L老男孩培训-python培训二期lesson02(9节)01-学生作业讲解展示0

老男孩教育运维班26期脱产班9月即将开班,伙伴们抓紧报名!

老男孩教育中国linux运维领域教育第一品牌,不仅教学质量一流,就业薪水更是一流! linux运维班平均毕业工资10K,高级架构师毕业平均薪资16K. 本课表为201508制定,适合26期脱产班,最艰苦的周期4-5个月,有胆量挑战么? 什么?还没有掌握linux高级运维实战技术?那你真OUT了! 什么?工资还没过10K,那你更OUT了,北京平均工资最低也10K以上了! 屌丝们最后的福利! 身价千万的老板不足为奇! 身价千万的明星也不足为奇! 身价千万的运维屌丝你见过么?什么-没见过!!! 他如今

老男孩26期运维班linux基础知识大比拼即将开始

老男孩26期运维班linux基础知识大比拼 1 比赛说明 比赛时间:2015年11月12日下午15点 比赛地点:老男孩教育教室二 比赛人员:老男孩教育26期全体同学 奖项:团体奖(按组奖励共1-9组): 一等奖奖励300元人民币或每人老男孩老师新书一本和老师合影签名. 二等奖奖励200元人民币 三等奖奖励100元人民币 个人奖:3名,赠老男孩新书一本 惩罚:没有得奖的组,或者组内无人得奖的组,罚100元或派选代表表演一个节目(唱歌或其它) 比赛规则当场宣布: 主评委:老男孩老师,张导 辅助评委: