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 | 非条件 |
四、处理动作
显示 | |
-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文件查找的主要内容,如果未能解决你的问题,请参考以下文章
Linux脚本练习之script013-判断当前用户对指定参数文件,是否不可读并且不可写。
Linux学习总结(十五)文件查找 which whereis locate find
免费下载全套最新013Spring Struts hibernate整合项目视频教程+教学资料+学习课件+源代码+软件开发工具