vim编辑器使用,cron任务计划和bash编程实例

vim编辑器使用,cron任务计划和bash编程实例

马哥教育网络班20期+第6周课程练习

一、vim编辑器使用总结

vim编辑器使用总结.png

二、cron任务计划

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文件中的行首的空白字符;

# cp /boot/grub/grub.conf /tmp
# vim /tmp/grub.conf
:%s/^[[:space:]]//

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

# vim /tmp/rc.sysinit
:%s/^#[[:space:]]\+//

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

# vim /tmp/grub.conf
:1,3s/^/#&/

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

# vim /etc/yum.repos.d/CentOS-Media.repo
:%s/enabled=0/enabled=1/
:%s/gpgcheck=0/gpgcheck=1/

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

# mkdir /backup
# crontab
* */4 * * * /bin/cp -a /etc /backup/etc-$(date +%Y%m%d%H%M)

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

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

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

# mkdir /stats
# crontab
* */2 * * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

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

# crontab
* 9-18/2 * * 1-5 /bin/echo "howdy"

三、脚本编程练习

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

#!/bin/bash
#
dirName=testdir-$(date +%Y%m%d%H%M)
mkdir /tmp/$dirName

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

#!/bin/bash
#
dirName=testdir-$(date +%Y%m%d%H%M)
mkdir /tmp/$dirName
touch /tmp/$dirName/file{1..100}

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

#!/bin/bash
#
lines=$(wc -l /etc/passwd)
for i in seq{2 2 $lines}; do
    head -n $i /etc/passwd | tail -1 | cut -d: -f1
done

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

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

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

#!/bin/bash 
#
for ((i=10;i<=19;i++));do
    touch /tmp/file$i
done

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

#!/bin/bash
#
for ((i=10;i<=19;i++));do
    chown user$i:user$i /tmp/file$i
done

原创文章,作者:N20-背旅,如若转载,请注明出处:http://www.178linux.com/24843

(0)
上一篇 2016-07-22 10:11
下一篇 2016-07-22 10:11

相关推荐

  • bash脚本与程序包管理

    概述:本章主要介绍bash编程中的函数和数组以及字符串处理和程序包管理工具等,来帮助小伙伴们更进一步的了解bash编程的内容和软件的安装、更新、卸载、查询等操作。 一、函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序…

    Linux干货 2016-08-24
  • systemd

    1、systemd (1)CentOS 7 使用systemd替换了SysV。Systemd目的是要取代一直在使用的init系统,兼容SysV和LSB的启动脚本,负责在系统启动或运行时,激活系统资源、服务器进程和其它进程。 (2)systemd的新特性: 系统引导是实现服务并行启动 按需启动守护进程 自动化管理各服务间的依赖关系 同时采用sockets式与D…

    Linux干货 2016-09-21
  • Linux文件类型及颜色标识整理

    Linux文件类型及颜色标识整理 M21陆东贵 使用工具: ls命令     ls –l:以常格式显示文件及目录的详细信息     例如:-rw-r–r–  1 root root       0 10月 …

    Linux干货 2016-10-18
  • 权限管理

    权限管理 普通权限 通过划分为三种人来管理,所有者u,所属组g,其他人o,所有人a 文件 删除文件用文件所在文件夹的写权限来决定 读写权限root不受控制,执行受控制 对于目录没有执行权限,无法进入目录,无法查看目录内文件属性,无法查看文件内容 执行权限是基础权限没有执行读写权限无用 程序要运行,所在目录要有执行权限 普通用户无法更改文件的所有者,要更改文件…

    Linux笔记 2018-03-31
  • AWK三剑客之一

    笔记

    2018-05-20
  • Redis集群明细文档

    Redis目前版本是没有提供集群功能的,如果要实现多台Redis同时提供服务只能通过客户端自身去实现(Memchached也是客户端实现分布式)。目前根据文档已经看到Redis正在开发集群功能,其中一部分已经开发完成,但是具体什么时候可以用上,还不得而知。文档来源:http://redis.io/topics/cluster-spec 一、介绍   该文档是…

    Linux干货 2015-04-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-22 10:36

    写的很好,排版也很棒,第7个不对,在仔细想想,加油