正则表达式:
  简单的说,正则表达式就是一套处理字符串的规则和方法,以行为单位对字符串进行处理,通过特殊的符号辅助,我们可以快速的过滤,替换某些特定的字符串。
  运维工作中,会有大量的访问日志,错误日志。如何能快速的过滤出我们需要的内容,这就要靠正则表达式。
  awk,sed,grep(egrep)linux三剑客想要工作的更高效,那么一定离不开正则表达式的配合。
  我们想要玩好三剑客,主要是awk,sed,grep。三剑客的正则表达式。

正则表达式实际就是一些特殊的字符,赋予了他特等的含义。
1)^word        搜索以word开头的
2)word$        搜索以word结尾的
3).              代表且只能代表任意一个字符
4)\                 转义字符,转义符号,让有着特殊身份意义的字符,脱掉马甲,还原原型。
5)*                 重复0个或多个前面的一个字符
6).*                匹配所有字符。^.*以任意多个字符开头
7)[]                字符集合,重复特殊字符的符号
8)[^word]       匹配不包含^后的任意字符的内容
9)a\{n,m\}      重复n到m次,前一个字符
    \{n,\}          重复至少n次,前一个字符
    \{n\}           重复n次,前一个字符

扩展的正则表达式:ERE
1)+                重复一个或一个以上前一个字符
2)?                重复0个或0以上个前面的字符
3)|                 用或的方式查找多个字符串
实战例题
1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644或0644这样的数字。

方法1:
xiaorui@xiaorui:~/test$ ll etiantian
-rw-r--r-- 1 xiaorui xiaorui 0 11月 25 21:28 etiantian
xiaorui@xiaorui:~/test$ ll etiantian |cut -c 2-10
rw-r--r--
xiaorui@xiaorui:~/test$ ll etiantian |cut -c 2-10|tr rwx- 4210
420400400
xiaorui@xiaorui:~/test$ ll etiantian |cut -c 2-10|tr rwx- 4210|awk -F "" '{print $1}'
4
xiaorui@xiaorui:~/test$ ll etiantian |cut -c 2-10|tr rwx- 4210|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'
644
方法2:
xiaorui@xiaorui:~/test$ stat etiantian文件:"etiantian"大小:0             块:0          IO 块:4096   普通空文件
设备:802h/2050d    Inode:23200567    硬链接:1
权限:(0644/-rw-r--r--)  Uid:( 1000/ xiaorui)   Gid:( 1000/ xiaorui)
最近访问:2015-11-25 21:28:48.071446235 +0800
最近更改:2015-11-25 21:28:48.071446235 +0800
最近改动:2015-11-25 21:29:07.707803664 +0800
创建时间:-
xiaorui@xiaorui:~/test$ stat etiantian |sed -n '4p'|awk -F '[(/]' '{print $2}'
0644
方法3:
xiaorui@xiaorui:~/test$ stat etiantian |awk -F '[(/]' 'NR==4 {print $2}'
0644
方法4:
xiaorui@xiaorui:~/test$ stat etiantian |head -4|tail -1|awk -F '[(/]' '{print $2}'
0644

2.linux下通过mkdir命令创建一个新目录/home/xiaorui/ett,ett的硬链接数是多少,为什么?
 在ett下再创建一个test目录,ett的硬链接数又是多少?为什么?

xiaorui@xiaorui:~$ mkdir ett
xiaorui@xiaorui:~$ ls -ld ett/
drwxrwxr-x 2 xiaorui xiaorui 4096 11月 25 22:15 ett/
xiaorui@xiaorui:~$ cd ett/
xiaorui@xiaorui:~/ett$ mkdir test
xiaorui@xiaorui:~/ett$ ls -ld ../ett/
drwxrwxr-x 3 xiaorui xiaorui 4096 11月 25 22:16 ../ett/
xiaorui@xiaorui:~/ett$ ll -i
24512863 drwxrwxr-x  3 xiaorui xiaorui 4096 11月 25 22:16 ./
23068674 drwxr-xr-x 34 xiaorui xiaorui 4096 11月 25 22:15 ../
24512865 drwxrwxr-x  2 xiaorui xiaorui 4096 11月 25 22:16 test/
xiaorui@xiaorui:~/ett$ ll -id /home/xiaorui/ett/
24512863 drwxrwxr-x 3 xiaorui xiaorui 4096 11月 25 22:16 /home/xiaorui/ett//
xiaorui@xiaorui:~/ett/test$ ls -lai
24512865 drwxrwxr-x 2 xiaorui xiaorui 4096 11月 25 22:16 .
24512863 drwxrwxr-x 3 xiaorui xiaorui 4096 11月 25 22:16 ..

当新创建一个目录时,此目录的硬链接数为2这是因为:
1、创建的目录本身为一个硬链接。
2、目录ett下隐藏目录.(点号)为创建目录的有一个硬链接,因此其硬链接数为2。
  当在新创建目ett下再创建一个目录test时,ett目录的硬链接数为3,这是因为,在新创建的test目录下有一个隐藏..(两个点号)为ett的又一个硬链接。

3.请执行命令取出linux中wlan0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。

方法1:
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet"inet 地址:192.168.1.111  广播:192.168.1.255  掩码:255.255.255.0inet6 地址: fe80::162d:27ff:fefd:c215/64 Scope:Link
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "inet 地址:192.168.1.111  广播:192.168.1.255  掩码:255.255.255.0
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "|awk '{print $2}'
地址:192.168.1.111
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "|awk '{print $2}'|awk -F ':' '{print $2}'
192.168.1.111
方法2:
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "|cut -d ':' -f2
192.168.1.111  广播
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "|cut -d ':' -f2|cut -d ' ' -f1
192.168.1.111
方法3:
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "|awk -F "[ :]" '{print $13}'
192.168.1.111
方法4:
xiaorui@xiaorui:~$ ifconfig wlan0|grep "inet "|awk -F "[ :]+" '{print $4}'
192.168.1.111
方法5:
xiaorui@xiaorui:~$ ifconfig wlan0|awk -F "[ :]+" 'NR==2{print $4}'
192.168.1.111
方法6:
xiaorui@xiaorui:~$ ifconfig wlan0|sed -n '2p'|sed  's#^.*地址:##g'|sed 's# 广播:.*$##g'
192.168.1.111 方法7:xiaorui@xiaorui:~$ ifconfig eth0|sed -nr '2s#^.*r:(.*)B.*$#\1#gp'192.168.1.71 方法8:xiaorui@xiaorui:~$ ifconfig eth0 | awk -F [:\ ] 'NR==2 { print $13 }'192.168.1.71

4.请给出默认情况下eth0网卡配置文件的路径及客户端DNS的路径。
     eth0网卡配置路径:/etc/sysconfig/network-scripts/ifcfg-eth0
     客户端DNS的路径 :/etc/resolv.conf

5.推荐老男孩老师两篇博文:
  Linux系统基础网络配置老鸟精华篇
  深入浅出route命令小结
  

转载于:https://www.cnblogs.com/migongci0412/p/5003091.html

第十三天-linux正则表达式及重点命令相关推荐

  1. linux正则表达式与cut命令

    cut命令 cut -d '分隔符' -f1:表示使用指定的分隔符将内容分割,并取走分割的第一块内容 cut -d '分隔符' -f1,2,3 :表示取出分隔符分完后的1,2,3列 cut -c1-2 ...

  2. linux 通配符 正则表达式 区别,linux 正则表达式和通配符

    linux 正则表达式和通配符 通配符用于查找文件 包含三种:  * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...

  3. linux批量替换文件名中的日期,rename:Linux 批量修改文件名命令,支持正则表达式...

    昨天有需要要用到 Linux 批量改文件名,网上查了下,大多都是用 shell 脚本来实现的.我看了看那几句 shell 脚本,那几个 % 和 $ 的符号实在是没搞懂,也不想花时间去研究,于是又搜了搜 ...

  4. Linux实战教学笔记12:linux三剑客之sed命令精讲

    第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...

  5. 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  6. 正点原子linux串口驱动下载,「正点原子Linux连载」第六十三章Linux RS232/485/GPS驱动实验...

    1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南>关注官方微信号公众号,获取更多资料:正点原子 第六十三章Linux RS232/485/ ...

  7. 【正点原子Linux连载】第六十三章 Linux RS232/485/GPS驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  8. 【正点原子Linux连载】第四十三章 Linux设备树 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  9. linux常用60条命令 转

    Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令 ...

最新文章

  1. mysql进程SHOW PROCESSLIST详解Command命令状态
  2. layui table 列覆盖
  3. 复选框选择变化(可以演化成简单的字符串拼接)
  4. git:config命令
  5. C++题解-Leecode 520. 检测大写字母——Leecode每日一题系列
  6. 程序员才能看懂,看到第18张终于忍不住笑喷了。
  7. 亚信科技笔试面试2019届
  8. Android Studio 3.0 下 Cordova 打包时 Gradle 兼容性问题解决
  9. 数据结构之 栈 (Python 版)
  10. 几个常用的CSS3样式代码以及不兼容的解决办法
  11. [18/11/22] 将点分十进制的IP地址化成二进制输出
  12. 特朗普前竞选经理犯罪证据曝光,竟是因不会 PDF 转换!
  13. android kk界面旋转流程_【技术浅析】基于Android的五轴联动数控系统设计
  14. [转]asp 无法连接 access,出现 -2147467259 未指定的错误
  15. 今日头条向百度“开炮”:瞄准百度铁饭碗,上万台机器已在运作
  16. 一位腾讯离职创业 6 年 CEO 的忠告:不要等公司倒闭,才思考这 3 个问题
  17. Android 极光IM-基础篇
  18. 解决phpmyadmin加载慢问题
  19. 部署asp.net mvc_在ASP.NET 2.0上部署ASP.NET MVC
  20. SkyWalking分布式系统应用程序性能监控工具-中

热门文章

  1. 用cookiecutter快速构建机器学习项目结构
  2. leetcode - 104. 二叉树的最大深度
  3. 利用RobHess源码实现SIFT算法及RANSAC去错的图像特征提取匹配及去除错匹配
  4. Ubuntu下挂载NTFS分区错误修复
  5. 汇编程序的编辑、编译、连接与执行(附带DOSBox安装)
  6. STM32 - 定时器的设定 - 基础- 02 - Capture/compare channels 和相关设置寄存器 - 和STM32缩写词条解释
  7. 前端开发 跨平台的构架GSOAP
  8. python 数学公式识别_Python实现基于KNN算法的笔迹识别功能详解
  9. arraylist删除指定元素_【追凶】ArrayList使用增强for遍历删除元素异常ConcurrentModification...
  10. android权限适配 简书,Android动态权限适配