Linux的五个查找命令分析


使用电脑的时候,经常需要查找文件;在Linux中,有很多方法可以做到这一点。

1. find(直接查找硬盘 慢)

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

find的使用格式如下:

  $ find <指定目录> <指定条件> <指定动作>

  - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。

  - <指定条件>: 所要搜索的文件的特征。

  - <指定动作>: 对搜索结果进行特定的处理。

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

find的使用实例:

  $ find . -name 'my*'

搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

\

  $ find . -name "my*' -ls

搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

\

  $ find . -type f -mmin -10

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

\

2. locate(查找数据库文件 快)<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+bG9jYXRlw/zB7sbkyrXKxyZxdW90O2ZpbmQgLW5hbWUmcXVvdDu1xMHt0rvW1tC0t6ijrLWrysfSqrHIuvPV37/stcO24KOs1K3S8tTa09rL/LK7y9HL977fzOXEv8K8o6y2+MrHy9HL99K7uPbK/b7dv+KjqC92YXIvbGliL2xvY2F0ZWRio6mjrNXiuPbK/b7dv+LW0Lqs09CxvrXYy/nT0M7EvP7Qxc+ioaNMaW51eM+1zbPX1LavtLS9qNXiuPbK/b7dv+KjrLKix9LDv8zs19S2r7j80MLSu7TOo6zL+dLUyrnTw2xvY2F0ZcP8we6y6bK7tb3X7tDCseS2r7n9tcTOxLz+oaPOqsHLsdzD4tXi1tbH6b/2o6y/ydLU1NrKudPDbG9jYXRl1q7HsKOsz8jKudPDPHN0cm9uZz51cGRhdGVkYjwvc3Ryb25nPsP8we6jrMrWtq+4/NDCyv2+3b/ioaM8L3A+CjxwPmxvY2F0ZcP8we61xMq508PKtcD9o7o8L3A+CjxwPqGhoaE8c3Ryb25nPiQgbG9jYXRlIC9ldGMvc2g8L3N0cm9uZz48L3A+CjxwPsvRy/dldGPEv8K8z8LL+dPQ0tRzaL+qzbe1xM7EvP6hozwvcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140927/201409270910389.png" alt="\">

  $ locate ~/U

搜索用户主目录下,所有以m开头的文件(加上-i后忽略大小写)。

\

3. whereis(查找数据库文件 快)

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

whereis命令的使用实例:

  $ whereis grep

\

4. which(根据PATH规范查找执行文件 较快)

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which命令的使用实例:

  $ which grep

\

5. type(type -p = which)

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

type命令的使用实例:

  $ type cd

系统会提示,cd是shell的自带命令(build-in)。

\

  $ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

\

  $ type -p grep

加上-p(大写)参数后,就相当于which命令。



相关内容