linux基础操作-week6

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

# cp /etc/rc.d/rc.sysinit /tmp

#vim /tmp/rc.sysinit

末行模式:

:%s@^[[:space:]]\{1,\}@#&@g

匹配分析: 

    %:的作用是做全文匹配,可以使用1,$来替换; 

    @:表示分隔符,这个可以用其他的非在本文中出现的字符替换; 

    ^[[:space:]]:[[:space:]]表示空白字符,^表示开头; 

    {1,}:匹配至少1次前一个RE字符; 

    &:表示引用所匹配到的所有内容。

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

# cp /boot/grub/grub.conf /tmp

#vim /tmp/grub.conf

末行模式下

:1,$s@^[[:space:]]\{1,\}@@g

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

vim /tmp/rc.sysinit

末行模式下输入 

:%s@^#[[:space:]]\+@@g

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

#vim /grub.conf

末行模式下输入

:1,3s@^.*@#@g

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

#vim /etc/yum.repos.d/CentOS.Media.repo 

vim末行模式输入 

:1,$s@\(enabled\|gpgcheck\)=0@\1=1@g

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

#crontab -e

* */4 * * * /bin/cp /etc /backup/etc-$(date +%Y%m%d%H%M) >/dev/null 2>&1


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

#crontab -e

* * * * 2,4,6  /bin/cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d) >/dev/null 2>&1

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

#crontab -e

* */2 /bin/grep '^S' /proc/meminfo >>/stats/memory.txt

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

#crontab -e

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



脚本编程练习

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

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

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

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

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

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

脚本如下:

# cat test.sh 

#!/bin/bash

#Author LZ

#date xxxx

TMPDIR=/tmp

DATE=`date +%Y%m%d%H%M`

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

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

[ -d $TMPDIR ] &&\

mkdir $TMPDIR/testdir-$DATE

cd $TMPDIR/testdir-$DATE &&\

touch file{1..100}

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

sed '1~2d' /etc/passwd|awk -F ":" '{print $1}'

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

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

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

for i in `seq 10 19`;do

useradd user$i

echo "user$i"|passwd –stdin user$i

touch /tmp/file$i

chown user$i.user$i /tmp/file$i

done


null

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

(0)
N24_liuzN24_liuz
上一篇 2016-11-28 20:04
下一篇 2016-11-28 21:36

相关推荐

  • 文件系统的挂载使用总结

    文件系统使用 除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件,挂载命令mount和 卸载命令umount; 挂载点: mount_point,作为被挂载的文件系统的访问入口; 作为挂载点需要满足三个条件:  (1)这个目录事先存在  (2)使用未被或不会被其他进程使用到的目录…

    系统运维 2016-11-19
  • LNAMP Shell 部署脚本

    LNAMP Shell 部署脚本 学习总结: 这个脚本,早期是出于对个人学习Shell的总结而写,应该有些年头了,目前也在一边学马哥视频的基础上陆续完善,10月初才完成LNAMP环境的分离式部署,并减少整个Shell脚本各部分的依赖关系。 我是网络班13期高级班的学员,因个人做了几年Linux运维,所以目前整个高级班的课程,我是跳着看了集群(LVS + Ke…

    Linux干货 2015-10-27
  • HTTP详解(1)-工作原理

    1. HTTP简介          HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输…

    Linux干货 2015-04-04
  • 重定向

    Linux下定义了三种I/O设备: 标准输入(STDIN):用0表示,默认的标准输入设备是键盘; 标准输出(STDOUT):用1表示,默认的标准输出设备是当前终端; 标准错误(STDERR):用2表示,默认的标准错误输出设备是当前终端; I/O重定向即改变默认的位置 1 标准输出重定向 (1)将标准输出重定向到其他终端 /dev/pts/1代表伪终端1,在伪…

    Linux干货 2017-07-31
  • 启动流程排错,自制linux内核,编译内核

    CentOS 6启动流程: POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs–> switchroot–> /sbin/init–>(/et…

    Linux干货 2016-09-20

评论列表(1条)

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

    看看你的第8个写的对吗?还有啊,作业是需要动手验证的哦