第三周学习总结

匿名 (未验证) 提交于 2019-12-02 23:36:01

第三周学习总结

内容总结


按关键字抽取为grep。其中最重要的就是文本处理三剑客之一的grep。grep为文本搜索工具,根据用户指定的模式对目标文本逐行匹配并且打印匹配到的行。然后学习了正则表达式。正则表达式分为基本正则表达式和拓展正则表达式。正则表达式在刚开始学的时候,我对于正则表达式的格式感到十分的不适应。不过经过了几天的练习,慢慢的掌握了正则表达式的输入方法。周三我们学习了这周最难得内,SHELL脚本编程。SHELL脚本的格式要求是首航shebang机制。它的用途有自动化常用命令,执行系统管理和故障排除,创建简单的应用程序,处理文本或文件。SHELL脚本最难的地方是,看得懂脚本但是真正开始写确感到没有思路。其实脚本里的内容基本都是我们之前学的口令组合到一起,没有不知道的口令,但是要求我们要把他们运用自如才能做到写出脚本。我们还学习了与或非的逻辑运算,这些对于我来说并没有什么太大的难度。第三天我们学习的文件查找和压缩,查找的口令有locate,特点是查找速度快,模糊查找。缺点是非实时查找。还有find,特点是实时查找工具,但它的查找速度略慢。在工作中我们用的口令更多是find。然后我们又学习了压缩,解压缩和归档工具。压缩和解压缩的工具非常多,又compress,gzip,bzip,xz,zip等等。归档工具是tar,既可以压缩也可以解压缩。 最后我们学习文本处理三剑客之一的sed,它一次处理一行的内容,处理的实收,把当前处理的行存储在临时的缓冲区中,所以sed的修改并不会改变源文件。

重点题目总结

文本处理工具的重点题目:
找出ifconfig “网卡名” 命令结果中本机的IPv4地址

[root@magedu ~]# ifconfig ens33 | grep netmask | tr -s " " ":"|cut -d: -f3

先用ifconfig命令显示所有IP信息,用管道将输出信息传到grep命令,用grep找到有netmask的行,之后将那一行的空格压缩并且用:代替,最后截取由:分割的第三个字段就是我们要的信息

如何查看file1文件的第300-500行的内容?

[root@magedu ~]# head -500 file1 | tail - 200

先查看file1文件,用head取出前500行,然后再在这500行中取后200行就是要求的行。

SHELL脚本基础的重点题目:

CPU型号,内存大小硬盘大小

[root@magedu ~]# vim sysinfo.sh #!/bin/bash ipv4=`ifconfig |egrep -o "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]| [1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0- 9]|25[0-5])\>"` echo "当前主机系统信息如下:" echo 主机名: `hostname` echo ipv4地址:"$ipv4" echo 操作系统版本: `cat /etc/redhat-release |cut -d. -f1-2` echo 内核版本: `uname -r` echo CPU型号: `lscpu |grep "Model name"|tail -1 |tr -s ' '|cut -d: -f2` echo 内存大小: `free -mh |head -2|tail -1|tr -s ' '|cut -d' ' -f2` echo 硬盘容量: `fdisk -l|head -2|tail -1|cut -d, -f1|cut -d' ' -f2-4`

编写脚本/root/bin/checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满

[root@magedu ~]# vim /root/bin/checkdisk.sh #!/bin/bash disk=`df|egrep /dev/sd|tr -s ' ' '%'|cut -d% -f5|sort -nr|head -n1` inode=`df -i|egrep /dev/sd|tr -s ' ' '%'|cut -d% -f5|sort -nr|head -n1` [ $disk -ge 80 -o $inode -ge 80 ] && wall space will full.

成绩判断

[root@localhost data]# vim score.sh #!/bin/bash read -p "please input your score: " SCORE if [[ ! $SCORE =~ ^[0-9]+$ ]]; then echo "please input a digit!" exit elif [ $SCORE -lt 60 ];then echo "no pass!" elif [ $SCORE -lt 80 ];then echo "so so!" elif [ $SCORE -lt 100 ];then echo "very good!" else echo "bug!" fi

文件查找和压缩的重点题目
Linux系统中,删除/data/files目录下1周前修改过且大于10MB的文件?

 [root@Magedu ~]# find /data/files -type f -mtime +7 -size +10M -exec rm {} \;

先找到普通文件(type -f),-mtime为查找7天以上的文件,-size 找到符合条件大小的文件,执行删除命令。

SED文本处理的重点题目

[root@magedu ~]# sed -r 's/^#[[:blank:]]+//'g /etc/fstab
用空白替代就是删除方式所以用sed -r ‘s@@@“。

转载请标明出处:第三周学习总结
文章来源: https://blog.51cto.com/14322573/2400011
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!