博客作业20190526

Linux的主要目录

           / :根目录,一台计算机只有一个根目录,所有内容都是从跟目录开始。如/etc ,先从根目录开始在进入etc目录

           /root:系统管理员的家目录。

           /bin:存放了标准的Linux工具,如ls、cp、rm等。该目录已经包含在PATH中,使用该目录程序无需使用路径

           /boot:用于加载程序的文件。

           /proc:操作系统运行时,进程信息及内核信息,如果CPU、硬盘分区、内存信息等存放在该目录。

           /etc:存放系统的配置方面的文件,如在系统安装vsftpd这个软件,你想要修改vstpd配置文件的时候,vstpd的配置文件就在/etc/vstpd目录下。

          /etc/init.d 存放系统或以system V模式启动的服务脚本。

          /etc/xinetd.d: 如果服务是通过xinetd模式运行的,服务的脚本要放在这个目录下。

          /etc/rc.d : 存放BSD方式启动脚本,如定义网卡开启脚本等。

          /etc/X11:存放X-Windows相关的配置文件

          /dev :主要存放与设备(包括外设)有关的文件。

          /home :存放每个用户的家目录。每个用户的设置文件,桌面文件夹、用户数据都放在这里。

          /tmp :临时目录。

          /bin、/usr/bin:大部分系统命令都是二进制文件形式保存。一般用户使用的命令都在这两个目录,系统核心命令工具,如cd、ls、cp、等都在/bin目录。如Web浏览器为于/usr/bin目录,可以与其他用户共享使用。

          /sbin、/usr/sbin :存放root用户的命令文件。

          /usr/local :用于存放手动安装的软件。

          /usr/share:存放系统共用的文件。

          /usr/src:存放内核源码的目录。

          /var :存放一些经常变化的文件。

          /var/log:存放系统的日志。

          /opt:存放那些可选的程序。

          /lib:系统的库文件

          /lost+found:在文件系统中,系统意外崩溃或意外关机时,产生的一些文件碎片放在该目录。

          /mnt : 存放挂在存储设备的挂载目录。

          /meia:有些发行版使用这个目录来挂载那些USB接口的移动硬盘,CD/DVD驱动器等。

文本处理工具
grep 文本搜索工具,根据用户指定的“模式” 对目标文本逐行进行匹配检查,打印匹配到的行.
-o 仅显示匹配到的字符串
-v 不显示被模式匹配到的行
-n 显示匹配的行数
-c 统计匹配的行数
-i 忽略字符大小写
-q 静默模式,不输出任何信息
-A# 后#行
-B# 前#行
-C# 前后各#行
-e 实现多个选项间的逻辑or关系 grep -e 'cat' -e 'dog'
-w 匹配整个单词
-E 使用ERE
-F 相当于fgrep,不支持正则表达式
正则表达式: 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能.
两类: 基本正则表达式 ; 扩展正则表达式 (grep -E; egrep)
元字符分类: 字符匹配,匹配次数,位置锚定,分组

grep -iEv 'databases|schema' 不显示匹配到databases和schema的行;

基本正则表达式元字符:
\/ 转义
\. 转义 ".\.." \. 就是.的意思
. 任意的单个字符 (在括号里就是 .)
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符

匹配次数: 用在要指定次数字符后面,指定前面字符要出现的次数
.* 任意长度的任意字符
* 匹配前面字符任意次 包括0次
\? 匹配前面字符的0或1次
\+ 匹配前面字符1次或n次
\{n\} 匹配前面字符n次
\{n,\}匹配前面字符最少n次
\{,n\}匹配前面字符最多n次
\{m,n\} 匹配前面字符出现m-n次

如: grep "go\{10\}gle" / o出现十次
go\?gle
"[a-z]\+" a-z 任意一个出现一次或多次

{1,5\} 1-5 个字符
位置锚定: 定位出现的位置
^ 行首锚定,用于模式的行首 "^zhang"
$ 行尾锚定,用于模式的行尾 "zhang$"
^pattren$ 用于模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行 (空格 Tab)
\<或\b 词首锚定,用于单词模式的行首
\>或\b 词尾锚定,用于单词模式的行尾
\<pattern\> 匹配整个单词

分组 : \(\) 将一个或多个字符捆绑在一起,当作一个整体进行处理.
如: \(root\)\+
分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为:\1,\2,\3...
\1 表示从行首起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符
如: \(zhang1\+\(zhang2\)*\) \1 : zhang1\+\(zhang2\)* \2 : zhang2
后向引用:引用前面的分括号中的模式所匹配字符,而非模式本身
或者:\| a\|b a或b \(C\|c\)at Cat或cat
egrep及扩展正则表达式
egrep = grep -E
字符匹配:
. 任意单个字符
.* 任意长度的任意字符
[] 指定范围的字符
[^] 不在指定范围的字符
* 匹配前面的字符任意次
? 0或1次(最多一次)
+ 1次或多次(最少一次)
\{m} 匹配m次
\{m,n} 匹配m-n次

位置锚定:
^ :行首 $ :行尾 \<, \b :语首 \>, \b :语尾 

分组:
() 后向引用:\1, \2, ... 

或者:
'a|b': a或b 'C|cat': C或cat '(C|c)at':Cat或cat

[0-9,a-z] 数字、字母组合;

[0-9,a-z]\{4} 数字、字母组合,匹配4位;

0-9[0-9] 10-99[1-9][0-9] 100-199=1[0-9][0-9] 200-249=2[0-4][0-9] 250-255=25[0-5]

取IP地址:ifconfig ens33 | egrep [0-9]\{1,3}.[0-9]\{1,3}.[0-9]\{1,3}.[0-9]\{1,3} -o | head -n1

猜你喜欢

转载自www.cnblogs.com/wangyouxiaoli/p/10927704.html