linux查查找文件,Linux中文件查找——find命令

Linux中对文件查找的实现是使用find命令。

Find命令类似于:whatis和locate

Whatis 命令:依赖于数据库,非实时查找,结果非精确,查找速度快,模糊查找,whatis查找的数据库,是在规定时间内更新数据库,或者手动更新数据库(updatedb)。

Find 命令:实时查找,精确匹配,速度慢。

Find的使用格式为:

find  [options]  [查找位置]  [查找条件]  [处理动作]

查找路径:如果省略的话,为当前目录,也可以用”find.”

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

处理动作:默认为显示到桌面

查找条件:

-name“文件名称”:对文件名作精确查找,支持使用globbing(字符匹配)

例子:find / -name“history”

a79c598f1e27f5d7e18e8f26e42a79ac.png

-iname“文件名称”:查找时不区分字符大小写

例子:查看下/tmp都有哪些文件

ebaa8ab74f43957f63dca5d58282649c.png

图中可以看到有两个文件名为:text和Text的,我们试着用-iname选项去查找,

find /tmp -iname “text”

4a07a713001c6dc1c388c6aff87da310.png

看到了吧,不区分大小写,两个文件都被匹配到了。

-user username:根据属主查找

例子:查找以xiezhao为属主的文件,在根(/)目录下:

find / -user "xiezhao"

61ff00ba5cc35f5c3e200f8d883598d2.png

-group groupname:根据属组查找

例子:查找根目录下以xiezhao为属组的文件;

find / -group "xiezhao"

26ac28f0075e68a43bf5da622b18291d.png

-uid UID:根据UID查找。

例子:先查看任意一个用户的UID,然后用此用户的UID进行查找,但是为了方便和更清楚的                         来看到效果,我们就查看下上面的xiezhao用户的UID来看搜索到的文件是否相同。

使用tail命令进行查看:tail -3 /etc/passwd

af72b21e8f1201145e574bb7f5e10589.png

再根据UID:502进行查找:find / -uid 502

55c8c996307c9a13ac06ff87b48f1792.png

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

17be4944442ea10683bb920780c3a9a8.png

验证下:stat /home/123456

d5a20151380c880043cd03333f414af3.png

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

4e7c6d059da1d4f34c72134c36b9f9e6.png

组合条件:

-a:与,或者且,表示同时满足两个或者两个以上的条件,可以省略。

例子:我们查找既没有属主也没有属组的文件,如图:

1012c23d3790d1cbd5b12daf97b6a9b3.png

-o:或。

例子:查找属主为xiezhao的文件,或者属组为xiezhao的文件

cd396061f6397218c4814d75b28e36c0.png

-not:!,非,取反

例子:查找/tmp下非“t”字母结尾的文件

2644099a7f546a28c509136b939fac20.png

非A,并且 非B:非(A或者B)

非A,或 非B:非(A且B)-type:根据文件类型查找。

-typed:查找目标为目录。

16d1cca6776244ee0fb28f3eb3a9ccac.png下面的依此类推

f :普通文件

b :块设备文件

c :字符文件

l :链接文件

P :管道文件

S :套接字文件

-size:根据文件大小查找

-size [+|-]单位 (M, K,G)

例子:-size +2M查找大于2MB

735c9e290eec3272fd25b69a021c9ae0.png

-size - 2M查找1MB以下

1a3ae35f268a21e0cf7f6317c3939fb2.png

-size  2M查找大于1M小于2M

2ea9ed93277c2a37e71a87713faf72e3.png

根据时间戳查找:

以天为单位(time):

-atime

-atime +#表示(#+1)天之外被访问过。

79c4320878bda5bbc26706adf7e3d4d0.png

剩下的依此类推:

-atime- #表示# t天 之内被访问过。

-atime  #表示大于等于#天,小于#+1天被访问过。

-mtime:用来搜索显示被修改过的文件。

-ctime:用来搜索显示被改变过的文件。

以分钟为单位(min)用法和上面类似,就不做一一的举例。

-amin-mmin-cmin

根据权限查找:

-perm [+|-] MODE

+MODE:任何一类用户任何一位权限匹配 (或)常用于查找某类用户的某特定权限是否存在。

例子:查询下/tmp下其他用户可以有读权限的文件:

ecfd29cfa816e2dc9bdc5fbcc3de27de.png

bf995dbd0cb4bfcba9fc70178dd16a58.png

- MODE:每类用户的任何一位都匹配 (与)每类用户的指定要检查的权限位都匹配,至少两个             权限一起匹配。

d5993ec35f45098367699b4bad9e36be.png

8cb0129ef10062d64fc06bc3eaeeec97.png

处理动作:

默认为:-print:打印在标准输出上

7b8d47c5fa90566b87a31fb2ef7782e7.png

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

ebff78ec844029c92c7b2efd0361903f.png

-exec COMMAND {}\; :对查找到的文件执行指定的命令。Find把查找到的所有文件一次性的传递给 -exec所指定的命令

7d0a73d8c7198682d278d0da68273712.png

-ok  COMMAND {}\; :交互式的显示

find .... |xargs  COMMAND

xargs一次接收一批结果。

举例使用:

ed7cc83cdf3d131ee8757c17eb327386.png

以上为find命令的一些基本以及常用的选项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值