7月28日上课练习和作业

1、vim编辑器

  • 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
    :%s/^[[:space:]]\+//g---只是匹配行首的空白字符,而不是把整行都匹配了
  • 复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号
    :%s/^[[:space:]]\+/#&/g---只支持基本的正则表达式
  • 在vim中设置tab缩进为4个字符
    :set ai
  • 复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log
    :%s@/etc/sysconfig/init@/var/log@g
  • 删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号
    :%s/^#[[:space:]]\+//g

2、脚本练习

  • 编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。
[root@centos7 test]#cat systeminfo.sh 
#!/bin/bash
##################################
#Filename:systeminfo.sh
#Description:
#Date:2017-07-29
#Author:zhangdazhi
#Version:2.0
#####################################
echo "the hostname is `hostname`"
echo "the IPV4 is `ifconfig ens33|egrep "netmask"|tr -s " "|cut -d " " -f3`"
echo "the system is centos`cat /etc/centos-release |grep -o " [0-9]"`"
echo "the kernel is `uname -r`"
echo "the cpu `lscpu |grep "Model name"|tr -s " "`"
echo "the `cat /proc/meminfo |head -n1|tr -s " "`"
echo "the disk is `lsblk|egrep "disk"|tr -s " "|cut -d " " -f4|head -n1`"
  • 编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中
[root@centos7 test]#cat backup.sh 
#!/bin/bash
##################################
#Filename:backup.sh
#Description:
#Date:2017-07-29
#Author:zhangdazhi
#Version:2.0
#####################################
time=`date +%F`
cp -a /etc/ ./etc"$time"
unset time
  • 编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
[root@centos7 test]#cat disk.sh 
#!/bin/bash
##################################
#Filename:disk.sh
#Description:
#Date:2017-07-29
#Author:zhangdazhi
#Version:2.0
#####################################
echo "the disk uesed is `df |grep "/dev/sd"|tr -s " " "%"|cut -d% -f5|sort -nr|head -n1`"
  • 编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序
[root@centos7 test]#cat links.sh 
#!/bin/bash
##################################
#Filename:links.sh
#Description:
#Date:2017-07-29
#Author:zhangdazhi
#Version:2.0
#####################################
echo -e "the num and  IPV4 is\n `netstat -nt|grep "EST"|tr -s " "|cut -d " " -f4|cut -d: -f1|sort|uniq -c|sort -nr`"

你可能感兴趣的:(7月28日上课练习和作业)