无论在何种系统下,都需要进行查找。Windows下进行查找我们已经轻车熟路了,但是linux下该如何进行查找呢?今天我就来讲讲如何进行查找。
通常情况下我们都是使用whereis和locate来进行查找的。但是如果遇到真的找不到的情况,就需要用find指令来进行查找了。但是使用find命令有一个缺点就是比较慢,因为whereis和locate都是利用数据库来查找数据的,速度相对来说是比较快的,但并没有实际查询硬盘,所以比较节省时间。在这些查找指令中,find可谓是十分强大的。find命令在目录结构中搜索文件,并执行指定的操作。即使系统中含有网络文件系统,find命令在该文件系统中同样有效。所以我们主要剖析find指令的用法。
首先我们来看看常用的whereis和locate是如何使用的呢?
whereis 寻找特定文件
whereis [-bsmu] 文件或目录名
参数剖析>>
- b :只查找二进制文件
- s :只查找在说明文件manual路径下的文件
-m : 只查找source源文件 - u :查找不在上述三个选项中的其他特殊文件
使用示例:
locate
locate [-ir] keyword
参数剖析>>
-i :忽略大小写
-r:后面可接正则表达式的显示方式
使用示例:
find
find [path] [option] [action]
参数剖析:
-size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件
3.根据文件时间进行查找
-atime(上次访问这个文件的时间)、-ctime(文件的inode改变的时间)、-mtime(件的内容上一次发生改变的时候的时间)三种时间参数。以mtime为例:
-mtime n:n为数字,意义为在n天之前的一天内被更改过的文件
-mtime +n:列出在n天之前被更改过的文件名
-mtime -n:列出在n天之内被更改过的文件名
4.根据文件类型搜索
find -type 文件类型
f :普通文件
l :符号文件
d :目录文件
c :字符设备
b :块设备
s :套接字
p :管道文件
5.进行条件限制查找
-a 与条件
-o 或条件
-not 非条件(此参数的功能类似于否定参数‘!’)
6.根据文件权限和文件所有人的查找
-perm :按照文件权限查找
-user :(或者是-uid n n是用户账号的ID) 按照文件所有人查找
-group:(或者是-gid n n是组名的ID)按照文件的所属组查找
find命令还有很多,相信在以后的学习中可以更深入的学习。
本文出自 “七月朔风” 博客,请务必保留此出处http://luminous.blog.51cto.com/10797288/1785325
原文地址:http://luminous.blog.51cto.com/10797288/1785325