第六周练习

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

# cp /etc/rc.d/rc.sysinit /tmp
# vim /tmp/rc.sysinit
末行模式下:%s@^[[:space:]]\+@#&@

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

末行模式下:%s@[[:space:]]\+@@g

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

末行模式下:%s@^[#][[:space:]]\+@@

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

末行模式下:1,3s@[^[:space:]]@#&@

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

0 */4 * * * cp -r /etc/ /backup mv /backup/etc etc-$(date +%Y%M%d%H%m%S)

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

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

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

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

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

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

脚本编程练习

10、创建目录/tmp/testdir-当前日期时间; 在此目录创建100个空文件:file1-file100

#!/bin/bash
#
mkdir -p /tmp/testdir-$(date +%Y%m%d/%H:%M:%S)
cd /tmp/testdir-*
for i in {1..100};do
    touch file$i
done

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

#!/bin/bash
#
awk -F: '{if(NR%2!=0) next;print $1}' /etc/passwd

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

#!/bin/bash
#
for((i=10;i<=19;i++));do
    id user$i &> /dev/null && exit 0 || useradd user$i && echo "user$i" | passwd --stdin user$i
done

14、在/tmp/创建10个空文件file10-file19; 把file10的属主和属组改为user10,依次类推。

#/bin/bash
#
for((i=10;i<=19;i++));do
    if [ -a file$i ];then
        continue
    else
        touch /tmp/file$i
        chown user$i:user$i /tmp/file$i
    fi
done

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

(0)
N24_涩味N24_涩味
上一篇 2016-12-03 10:31
下一篇 2016-12-03 14:55

相关推荐

  • 定时任务的完成contab

    采用crontab来完成 利用crontab来定时执行任务大致有如下三步: 1、编写shell脚本 2、利用crontab加入到定时任务队列 3、查看作业完成情况 一、如何建立shell脚本 Linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序必须以下面的行开始(…

    Linux干货 2016-08-11
  • 高可用keepalived+haproxy实现动静分离

    高可用keepalived+haproxy: 实验环境: clientIP为:172.18.254.149 VIRROUTEIP为:172.18.61.5 keepalived+haproxy机器1IP为172.18.61.1 keepalived+haproxy机器2IP为172.18.61.2 server1IP为172.18.61.3 server2I…

    2017-05-17
  • LVM 逻辑卷管理

    一、概述: LVM: logical Volumn Manager  LVM是建立在硬盘和分区之上的一个逻辑层。可以将多个物理分区整合起来,无需停机,可以对文件系统的大小进行调整。同时,还提供快照功能 二、概念及实现过程: PE :每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的…

    Linux干货 2015-10-05
  • Leetcode 编程训练

    Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司,比如:Google、微软、Facebook、Amazon之类的这些公司,基本上是应试教育的功利主义。 我做这些题目的不是为了要去应聘这些公司,而是为了锻炼一下自己的算法和编程能力。因为我开始工作的时候基本没有这样的训练算法和编程的网站,除了…

    Linux干货 2016-08-15
  • 文本处理-vim编辑器

    命令格式、(1)模式、(2)关闭文件、(3)可视化模式、(4)使用多个“窗口”、(5)定制vim的工作特性、(6)示例

    2018-03-13
  • 分布式存储介绍、FastDFS 部署

    什么是分布式系统? 简单来说,多台主机提供同一个服务,例如负载均衡集群,就是一个分布式系统。 什么是分布式存储? 看看某宝,上面多少图片,如果使用传统的单机存储,需要准备多大的磁盘空间?读写性能如何提升? 上图就是一个分布式存储的结构,此处存储节点不在是磁盘,而是多个主机组成,多个主机内部通信实现数据副本,客户端发来的请求发往前端,前端分发至后端,有点像负载…

    2017-03-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-07 23:53

    第9题,注意环境变量的问题