在linux下,文件的搜索有其自己的命令,可以帮助我们更快的找到所需的文件。常见的文件搜索命令有whereis,locate和find。通常情况下,我们会使用前两个如果真找不到了,才会使用find。这是因为whereis和locate是利用数据库来搜索,所以速度较快,而且并没有实际搜索硬盘,可以节省时间。
1、whereis [-bmsu] 文件名(目录名)
参数:
-b :只找binary格式的文件
-m :只找说明文件manual路径下的文件
-s :只找source来源文件
-u :搜寻不在上述三个分类中的其他特殊文件
2、locate [-ir] keyword
参数:
-i :忽略大小写
-r :后面可接正则表达式
locate是从数据库中搜寻的,所以速度较快。这个数据库是linux系统中负责记录所有文件的数据库文件。为了查找的准确性,可以对这个数据库进行更新,直接输入updatedb就可以了。updatedb命令会去读取/etc/updatedb.conf这个配置文件的设置,然后再去硬盘里面进行文件名的搜寻,最后就是更新数据库文件(/var/lib/mlocate)
3、find [PATH][option][action]
参数:
(1)、与时间有关的选项:共有-atime,-ctime和-mtime,以-mtime说明
-mtime n :n为数字,意义为在n天前的一天之内被改动过内容的文件
-mtime +n :列出在n天之前(不含n天本身)被更改过内容的文件名
-mtime -n :列出在n天之内(不含n天本身)被更改过内容的文件名
-newer file : file为一个存在的文件,列出比file还要新的文件名
(2)、与使用者或组名有关的参数:
-uid n :n为数字,这个数字是用户的账号ID,亦即UID,这个UID是记录在/etc/passwd里面与账号名称对应的数字。
-gid n :n为数字,这个数字是组名ID,亦即GID,这个GID是记录在/etc/group中。
-user name :name为使用者的账号名称。
-group name :name为组名
-nouser :寻找/etc/passwd文件中不存在的用户的文件
-nogroup : 寻找/etc/group文件中不存在的群组的文件
(3)、与文件权限及名称有关的参数:
-name filename :搜寻文件名为filename的文件
-size [+ -]SIZE :搜寻比SIZE还要大(+)或小(-)的文件。这个SIZE的单位有:
c:代表byte,k:代表1024bytes。
-type TYPE :搜寻文件的类型为TYPE的。类型主要有:一般正规文件(f),装置文件(b,c),目录(d),连接文件(l),socket(s),及FIFO(p)等属性
-perm mode :搜寻文件权限刚好等于mode的文件,这个mode类似chmod的属性值。举例来说,-rwsr-xr-x的属性值为4755
-perm -mode :搜寻文件权限必须全部包括mode权限的文件。
-perm +mode :搜寻文件权限包含任一mode的权限的文件。
(4)、额外可进行的命令:
-exec command :command为其他命令,-exec后面可接其他命令来处理搜寻的结果
-print :将结果打印到屏幕上,这是预设命令
阅读(1686) | 评论(0) | 转发(0) |