N25期第六周作业

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

1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#
sed -r 's/^[^[:space:]]+/#&/g' /tmp/rc.sysinit
:%s/^[^[:space:]]\+/#&/
2.复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符
sed 's/^[[:space:]]\+//g' /tmp/grub.conf
:%s/^[[:space:]]\+//
3.删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
sed -r 's/^#[[:space:]]+//g' /tmp/rc.sysinit
:%s/^#[[:space:]]\+//
4.为/tmp/grub.conf文件中前三行的行首加#号
sed '1,3s/^/#&/g' /tmp/grub.conf
:1,3s/^/#&/
5.将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1
:%s/\(enabled\|gpgcheck\)=0/\1=1/
6.每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202
* */4 * * * tar -czf /backup/etc-$(date +\%Y\%m\%d\%H\%M\%S).tar.gz /etc/
7.每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402
* * * * 2,4,6 tar -czf /back/messages_logs/messages-$(date +\%Y\%m\%d).tar.gz /var/log/messages
8.每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
* */2 * * * grep '^S' /proc/meminfo >> /stats/memory.txt
9.工作日的工作时间内,每两小时执行一次echo "howdy"
* */2 * * 1-5 echo "howdy"
10.创建目录/tmp/testdir-当前日期时间,在此目录创建100个空文件:file1-file100
#!/bin/bash
testdir=/tmp/testdir-$(date +%Y%m%d%H%M%S)
mkdir $testdir
cd $testdir
for ((i=1;i<=100;i++))
do
touch $testdir/file$i
done
11.显示/etc/passwd文件中位于第偶数行的用户的用户名
awk '!(NR%2)' /etc/passwd|cut -d: -f1
12.创建10用户user10-user19;密码同用户名,在/tmp/创建10个空文件file10-file19,把file10的属主和属组改为user10,依次类推
#!/bin/bash
for ((i=10;i<=19;i++))
do
useradd user$i
echo user$i | passwd --stdin user$i
touch /tmp/file$i
chown user$i:user$i file$i
done

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

(0)
N25_AllenN25_Allen
上一篇 2016-12-26 10:11
下一篇 2016-12-26 10:32

相关推荐

  • 每日一练–8.10 脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空…

    Linux干货 2016-08-15
  • 常用RAID级别浅析

    简介:    RAID为独立冗余磁盘阵列的简称,它可以通过软件或硬件技术把多个较小的磁盘整合成一个较大的磁盘。从而实现较大的 磁盘存储,容错及数据保护功能,较快的数据读写等功能. 实现方式:      硬件实现方式:通过bios参数调整来实现      软件实…

    2017-06-17
  • Linux中的shell脚本编程——基础篇

    概述:       shell脚本在Linux系统管理员的运维工作中非常重要。shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求。本篇将从编程基础、脚本基本格式、变量、运算、条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容。 一、…

    Linux干货 2016-08-15
  • 脚本之循环的特殊用法及函数的使用

    一、本文主要时针对while for select循环结果的特殊用法进行讲解。     1、while循环的特殊用法                 while read…

    Linux干货 2016-08-21
  • N25期—第五周作业

    1、 显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1):" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面…

    Linux干货 2017-01-02
  • Linux中的网络功能概念介绍(一)

      在操作系统中,进程之间的通信是用ipc(内存基本通信)以及内存共享shm来实现本地的通信,那么如果跨主机间通信或者说是不同之间的主机用rpc(远程过程调用)以及socket套接字,用一个主机在socket中写数据,另一个主机在socket之间读数据,以实现进程通信的最终目的。   在网络功能出现之前,基本都是用电话…

    Linux干货 2016-11-23