Linux基础-进程和服务(2)

Linux的正则表达式和通配符(这是2个不同的概念)

通配符:它是由shell解析,并且一般用于匹配文件名。如:ls

正则表达式:是一个字符匹配标准,可以匹配文本中的内容

一些命令工具按此标准实现字符匹配,常用语支持正则表达式的工具,如grep,sed等。一般用于匹配文件中的内容

常用的通配符:

*:匹配任意多个字符

?:匹配任意一个字符

[...]:匹配中括号内出现的任意一个字符

[!...]:不匹配中括号内出现的任意一个字符

 

 

 (搜索以p开头的所有文件)

 

 

(搜索pass后有2个字符的文件目录) 

 

 

 (搜索pass[acndw]d与[ ]内任意一个字符匹配的文件和目录,只搜到了passwd)

 

(搜索不到不与[ ]内匹配的pass[]d的文件或目录,加!表示不与[ ]内的任意字符匹配)

 

 

 (若w不在[ ]内就可搜索到)

正则表达式:

 

 

 

 

 

 

 

 

 

 编辑abc,并在其中写入一些字符

 

 (使用cat查看adc并过滤有a.d的字符;  “.”代表任意一个“*”代表任意多个)

 

 

 

 

 (使用cat查看abc从头到尾)

 

 (匹配空白行)

 

 

 

 

 (搜索有大写字母的,和有4个大写字母的字符;其他字符操作也类似)

 查找和替换

grep:只能用于查找文件中的内容

sed:可以查找,然后替换或者插入想要的内容

a:新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)

d:删除,因为是删除,所以d后面通常不接任何东西

i:插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)

p:列印,即将某个选择的资料印出,通常p会与参数sed

s:取代,可以直接进行取代的工作

 

 

 删除adc的2到5行

 

 在abc的第二行后面增加123456(使用a新增到目前的下一行,如图)

 

 在abc的最后一行的前一行插入123456(使用$锚定到最后一行,用i在目前的前一行插入,如图)

 

 把abc中的ad替换成da(使用s ,并紧接/,/的右边替换左边,如图【运用正则表达式,在上图】)

 sed操作并不会对原文件进行修改只是在显示出来中做出修改

 

 

如果要对原文件进行修改,使用-i选项(慎用)

如果想要更了解sed和grep可以使用 man sed ; man grep

 

查找语句find

用法: find 【路径】【命令参数】【表达式】

参数:

-name“文件名”:查找指定名称文件

-user 用户名:查找指定用户拥有的文件

-group 组名:查找指定组拥有的文件

-mtime:查找在N天前被修改过的文件

-atime:查找在N天前被访问过的文件

-type d/f/b/l/p:查找指定类型的文件

-empty:查找为空的文件

-size:按容量大小查找

-perm mode:查找指定属性的文件

-exec command{}\;:查看指定的文件并执行指定的命令

-newer文件名:查找比指定文件新的文件

 

 (查找/var下3天内被修改过的文件)

 

 (查找/var下3天前被修改过的文件)

 

 (查找/var下大于5M的文件(把+换成 - 就表示小于))

 

 (查找/var下大于2M文件的详细信息)

 

 

 

 (把/var中大于5M的文件拷贝至/tmp/shuaifile中,-a表示把文件属性保留,-r表示把文件和目录一起cp)

其他参数用法也类似,若想知道更多find用法:man find

posted @ 2019-10-10 14:52  王者辉  阅读(248)  评论(0编辑  收藏  举报