linux命令查找文本,Linux常用的文本查找命令 find

一、常用的文本查找命令

grep、egrep命令

grep:文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,先是能够被模式匹配到的行。后面跟正则表达式,让grep工具相当强大。-E之后还支持扩展的正则表达式。

# grep  [options]  'PATTERN'  file ...

--color=auto:高亮显示被匹配的关键字

-v:反向

-o:仅显示被模式匹配的字串,而非整行

- i:不区分大小写

-E:支持扩展的正则表达式

-A+n:仅显示被匹配到的行和其上n行

-B+n:仅显示被匹配到的行和其下n行

-C+n:仅显示被匹配到的行和其上、下n行

# egrep  [options]  'PATTERN'  file ...

选项和grep相同,egrep=grep -E  ,这里不再继续说明。

locate命令

locate:其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

find命令

find:实时查找,精确匹配,速度略慢

#find  [options]  [查找路径]  [查找条件]  [处理动作]

默认:查找路径:当前目录

查找条件:查找指定路径下的所有文件

处理动作:显示在标准输出上

二、find命令详解

(一)、查找条件

-name  "文件名称":支持文件名通配

-iname "文件名称":支持文件名通配,不区分大小写

-user  "用户名":根据属主查找

-group  "组名":根据属组查找

-uid    "UID":根据UID查找

-gid    "GID":根据GID查找

-nouser:查找没有属主的文件

-nogroup:查找没有属组的文件

◆当一个用户被删除,那么该用户的文件就会变成没有属主或属组的文件

(二)、组合条件

-a:和与相同,同时满足

-o:与或相同,满足其一皆可

-not、!:与非相同,取反

-type:根据文件类型查找

f:普通文件

d:目录

b:块设备

c:字符设备

l:符号链接文件

p:命令管道工具

s:套接字文件

根据文件大小查找

-size  [+|-]单位

+2M:大于2M的

-2M:小于1M的

2M:1.1~2M的

常用单位:k、M、G

例:大于2M的

# find -size +2M

根据时间戳查找

以天为单位(tim

-atime   [+|-]n:被访问的n天

-mtime  [+|-]n:被修改的n天

-ctime   [+|-]n:被创建的n天

+2:大于3天的

- 2:小于2天的

2:2天到3天的

以分钟为单位(min)

-amin   [+|-]n:被访问的n分钟

-mmin  [+|-]n:被修改的n分钟

-cmin    [+|-]n:被创建的n分钟

+2:大于3分钟

-2:小于2分钟

2:2分钟到3分钟

根据权限查找

-perm  [+|-]权限

MODE:精确匹配

+MODE:任何一类用户的任何一位权限匹配,常用语查找某类用户的特点权限是否存在

-MODE:每类用户的任何一位都匹配,每类用户的指定要检查的权限都匹配

(三)、处理动作

-print:打印在标准输出上

-ls:以长格式输出各文件信息

-exec COMMAND\:对查找的文件执行制定的命令

-ok COMMAND\:交互式的-exec

find把查找到的文件一次性的传递给-exec所指定的命令

如果查到到的是多个文件要加{},{}是占位符,表示接受前面find查找的文件,并对文件依次执行动作

格式: find -exec {} \;

例:# find -iname *.sh -exec chmod a-x {} \;

xargs命令

find|xargs COMMAND 一次性接受一批文件,通过管道直接修改

例:# find -iname text.sh | xargs chmod a+x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值