Linux学习013文件查找

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习013文件查找相关的知识,希望对你有一定的参考价值。

一、文件查找命令分类

    1.locate命令

        该命令是非实时的,模糊匹配,查找是根据全系统文件数据库进行的,速度比较快;可以自己定义更新数据库的策略,也可以使用updatedb命令手动生成或者更新文件数据库;该命令不经常使用。

    2.find命令

        该命令是实时的,精确查找,遍历所有目录中的所有文件完成查找,速度比较慢,但是支持众多的查找标准,是最经常使用的文件查找命令。

    3.find命令的使用格式:

find 查找路径 查找标准 查找到以后的处理动作

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

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

    查找到以后的处理动作:默认为打印到屏幕

二、查找标准

-name ‘FILENAME‘

该命令对文件名做精确匹配,可以使用文件名通配符

* : 任意长度的任意字符

? : 长度为1的任意字符

[] : 指定范围内的任意字符

-iname ‘FILENAME‘ 文件名匹配时不区分大小写
-regex PATTERN 基于正则表达式进行文件名匹配
-user USERNAME
根据属主查找
-group GROUPNAME
根据数组查找
-uid UID
根据UID查找
-gid GID 根据GID查找
-nouser
查找没有属主的文件
-nogroup 查找没有数组的文件
-type
f:普通文件
d:目录
c:字符设备文件
b:块设备文件
l:链接文件
p:管道设备文件
s:套接字文件
-size

[+|-]#k:按照k为单位查找文件

[+|-]#M:按照M为单位查找文件
[+|-]#G:按照G为单位查找文件
-mtime [ + | - ]#
modify time,文件最后一次修改时间,单位是天
-ctime [ + | - ]# change time,文件最后一次改变时间,单位是天
-atime [ + | - ]# access time,文件最后一次访问时间,单位是天
-mmin [ + | - ]#
同上,单位是分钟
-cmin [ + | - ]# 同上,单位是分钟
-amin [ + | - ]# 同上,单位是分钟
-perm MODE
精确匹配
-perm -MODE 只有文件权限完全包含此MODE时才符合条件
-perm /MODE 任意一位匹配即满足条件

三、组合条件

-a -and 与条件
-o -or 或条件
-not 非条件

四、处理动作

- print 显示
-ls
详细显示每一个文档的信息

-ok COMMAND {} \;

每一次操作都需要用户确认
-exec COMMAND {} \; 不需要用户确认

五、文件查找练习题

    1.查找/var目录下属主为root并且属组为mail的所有文件

find /var -user root -a -group mail

    2.查找/usr目录下不属于root,bin,或student的文件

find /usr -not -user root -a -not -user bin -a -not -user student

        或者

find /usr -not \( -user root -o -user bin -o -user student\)

    3.查找/etc目录下最近一周内内容修改过且不属于root及kdyzm用户的文件

find /etc -mtime -7 -a -not \( -user root -o -user kdyzm \)

        或者

find /etc -mtime -7 -a -not -user root -a -not -user kdyzm

    4.查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主属组均修改为root

find / -mtime -1 -a \( -nouser -o -nogroup \) -exec chown root.root {} \;

    5.查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中

find /etc -size +1M >> /tmp/etc.largefiles

    6.查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息

find /etc -not -perm /222 -ls




本文出自 “狂盗一枝梅的博客” 博客,请务必保留此出处http://kdyzm.blog.51cto.com/8316029/1741454

以上是关于Linux学习013文件查找的主要内容,如果未能解决你的问题,请参考以下文章

学习记录013-HTML基础dom操作

Linux脚本练习之script013-判断当前用户对指定参数文件,是否不可读并且不可写。

Linux学习总结(十五)文件查找 which whereis locate find

linux中怎么查看mysql数据库版本

免费下载全套最新013Spring Struts hibernate整合项目视频教程+教学资料+学习课件+源代码+软件开发工具

013_Linux驱动之_poll机制