whereis
whereis
只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。
另外,它的搜索非常的快,因为它并没有从硬盘中一一查询,而是直接从自带的数据库中进行查找,也正因此其搜索范围非常有限。
$ whereis who
$ whereis find
locate
和whereis 一样, locate
也是通过数据库进行查找,它通过查询 /var/lib/mlocate/mlocate.db
数据库来检索信息。
由于该数据库也不是时时更新,如果要搜索刚添加的文件,需要使用 updatedb
。
locate 命令也不是系统内建的,需要我们下载。
$ sudo apt-get update
$ sudo apt-get install locate
$ sudo updatedb
-c
参数可以统计数目, -i
可以忽略大小写查找。
which
一般用来查找命令。
find
find
应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。基本命令格式为 find [path][option] [action]
。
在/etc/ 下查找interfaces 的文件或目录。
$ sudo find /etc/ -name interfaces
通过时间查找
find 提供了可以通过时间来查找文件的方式。
比如列出工作目录下当天修改过的文件。
$ find ~ -mtime 0
列出工作目录下比etc 目录新的文件。
$ find ~ -newer /etc