马哥2016全新Linux+Python高端运维班第六周作业

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

答:可使用vim的查找替换功能完成;

命令如下:

[[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp       ##复制文件
[[email protected] ~]# vim /tmp/rc.sysinit            ##vim编辑该文件

命令结果如下(下图红框为与上图对比效果):

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

答:命令如下

[[email protected] ~]# cp /boot/grub/grub.conf /tmp       ##复制文件至/tmp下
[[email protected] ~]# vim /tmp/grub.conf             ##vim编辑该文件

结果如下:

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

答:使用vim编辑器查找替换功能

结果如下:

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

答:

结果如下:

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

答:

:%s/enabled=0/enabled=1          ##查找替换"enabled=0"为"enabled=1"
:%s/\(gpgcheck=\)0/\11         ##查找替换"gpgcheck=0"为"gpgcheck=1",可使用条件引用

修改"enabled=0"为"enabled=1",命令如下:

(注:下图演示的文件为/etc/yum.repos.d/rhel-source.repo)

结果如下:

修改"enabled=0"为"enabled=1",命令如下:

结果如下:

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

答:命令如下:

00 */4 * * * root /bin/usr/tar -cjf /backup/etc-`date +%y%m%d%H%M` /etc

(注:执行计划任务,可直使用crontab -e来编辑。格式为“分 小时 日 月 星期 命令”)

查看计划任务:

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

答:00 6 * * 2,4,6 root /bin/cp /var/log/messages /backup/messages_logs/messages-`date +%y%m%d`.bak

计划任务如下:

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

答:00 */2 * * *  cat /proc/meminfo | grep "^S.*" >> /stats/memory.txt

计划任务入下:

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

答:00 */2  * * 1-5 /usr/bin/echo "howdy"

计划任务如下:

脚本编程练习

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

答:

#/bin/bash
export dirtime=`date +%y%m%d%H%M%S`       ##定义一个名称为当前时间的变量 
mkdir /tmp/testdir-$dirtime           ##创建以当前时间为名称的文件夹

结果如下:

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

答:

#/bin/bash
export dirtime=`date +%y%m%d%H%M%S`        ##定义一个名称为当前时间的变量 
mkdir /tmp/testdir-$dirtime            ##调用变量创建以当前时间为名称的文件夹
for f in {1..100};do               ##循环次数
  touch /tmp/testdir-$dirtime/file$f       ##在规定的文件夹内创建文件
done

结果如下:(mk已用alias定义,alias=./test1.sh)

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

答:

#bin/bash
export nu=2                                        ##定义一个变量,作为循环中的对比条件
for idnum in {1..100};do                    ##循环次数
    cat /etc/passwd -n | egrep "\b$nu[[:space:]]\b*"   ##输出在passwd文件中以该变量开头且后面跟一个空格的内容
    let nu+=2                                      ##由于要输出passwd文件中所有的偶数,我们让变量自加2
done                                                  ##完成循环后退出

结果如下:(mk已用alias定义,alias=./test1.sh)

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

答:

#/bin/bash
export u=10                      ##定义一个变量为10
for username in {1..10};do              ##循环10次
  if id user$u &> /dev/null;then         ##条件判断,用于判断用户是否已存在
    echo "用户 user$u 存在"                   
  else                                           
    useradd user$u                 ##若不存在则添加该用户
    echo "user$u" | passwd --stdin user$u >> /dev/null ##修改用户密码同用户名
    echo "用户 user$u 添加成功,密码同用户名。请及时修改"
    let u+=1                    ##让变量自加1
  fi                         ##条件判断完成
done                          ##完成循环后退出

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

答:

#/bin/bash
export i=10                     ##定义一个变量为10
for t in {1..10};do                ##循环10次
  if test -e /tmp/file$i;then          ##"test"判断文件是否存在,存在则为真,否则为假
     echo "文件已存在"
  else
     touch /tmp/file$i             ##创建文件
     let i+=1                  ##让变量自加1
  fi                        ##判断结束
done                         ##完成循环后退出

结果如下:(mk已用alias定义,alias=./test1.sh)

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

答:

#/bin/bash                               
export i=10                    ##定义一个变量为10
for t in {1..10};do               ##循环10次  
    chown user$i:user$i /tmp/file$i     ##修改文件的属组和属主为user+当前变量
    echo "文件user$i 属组属主已修改"
    let i+=1                 ##让变量自加1
done

结果如下:(mk已用alias定义,alias=./test1.sh)

时间: 2024-12-22 23:34:45

马哥2016全新Linux+Python高端运维班第六周作业的相关文章

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 答: 网桥:双端口的二层设备,可以隔离冲突域,一般用于划分LAN,或者链接LAN. 集线器:物理层设备,多端口,无法隔离冲突域,用于连接主机. 二层交换机:数据链路层设备,多端口,与网桥相比,交换机可学习MAC地址,根据MAC地址转发数据,可隔离冲突域,用于在路由设备与主机之间架设,接入层与汇聚层皆可使用. 三层交换机:相当于是带路由功能的二层交换机,工作在网络层,有更高的带宽,可做核心层使用,用于大中型网络的路由交

马哥2016全新Linux+Python高端运维班第三周作业

本周作业内容: 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. # who | cut -d' ' -f1 | sort -u 2.取出最后登录到当前系统的用户的相关信息. # id $(who | sort -t' ' -k3,4 | tail -1 | cut -d' ' -f1) 3.取出当前系统上被用户当作其默认shell的最多的那个shell. # cut -d: -f7 /etc/passwd | sort | uniq -c | sort

[作业] 马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥:比较古老的方式二层交换设备,网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域.类似中继器. 集线器: 二层交换设备,多口的网桥 二层交换机: 二层交换设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中 三层交换机: 工作在二层和三层,具有路由功能的交换机.三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有

马哥2016全新Linux+Python高端运维班第七周作业

1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳: 2.创建一个大小为1G的swap分区,并创建好文件系统,并启用之: 3.写一个脚本 (1).获取并列出当前系统上的所有磁盘设备: (2).显示每个磁盘设备上每个分区相关的空间使用信息: 4.总结RAID的各个级别及其组合方式和性能的不同

马哥2016全新Linux+Python高端运维班第五周作业

1.显示当前系统上root.fedora或user1用户的默认shell: 答:需要找到3个字符串,需要用到"或"命令,所以使用egrep.找到后cut再次筛选出我们需要显示的用户默认的shell. 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(): 答: 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 答:首先我们要了解什么是路径的基名和路径名: 基名:可以理解为路径名最右边的名称: 路径名:除基名以外

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8        

马哥2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

本周作业内容: 1.详细描述一次加密通讯的过程,结合图示最佳. 一次加密通讯的过程: 首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面. Bob用对称加密算法把数据及特征码整个进行加密. Bob用接收方的公钥加密对称密钥并附加到数据后面. Alice用私钥解密对称密钥. Alice用对称密钥解密出数据及加密的特征码. Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据. 如图所示: 单向

马哥2016全新Linux+Python高端运维班十一次作业

一.源码编译安装LNMP架构环境: 安装编译工具及库文件 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl