合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
[TOC] ># find命令 find命令使用 Linux find命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下: ~~~ # find path expression search-term ~~~ ## 使用find命令根据文件名来查找特定文件的一个例子 ~~~ # find -name test.file ~~~ 命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。你可以使用你Linux上一个存在的文件名来尝试一下。</br> find命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。比如,如果你知道 /var 中存在 test.file,那就没有必要搜索其它目录。这样,你可以使用下面的命令: ~~~ # find /var -name test.file ~~~ find还可以根据时间、大小、所属人、权限等选项搜索文件。要了解更多关于这些选项的信息,你可以使用查看 **Linux find命令**的手册。 ~~~ # man find ~~~ ## find的使用实例 ### 搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件 ``` find -name 'my*' ``` ### 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。 ``` find -type f -mmin -10 ``` ># locate命令 要在Linux中使用locate命令,首先需要安装它。 如果你正在使用Ubuntu,运行下面的命令来安装locate: ~~~ # apt-get update # apt-get install mlocate ~~~ 如果你使用的是[CentOS](https://www.linuxprobe.com/ "centos"),运行下面的命令来安装locate: ~~~ # updatedb ~~~ 使用locate查找文件的语法: ~~~ # locate test.file ~~~ 就像find命令一样,locate也有很多选项来过滤输出。要了解更多你可以查看Linux Locate命令的手册。 ~~~ # man locate ~~~ ># whereis命令 whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 whereis命令的使用实例: ``` whereis grep ``` ![](https://img.kancloud.cn/4a/78/4a78dd81a96c39121b18746044fe6700_1078x84.png) ># which命令 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 which命令的使用实例: ``` which grep ``` ![](https://img.kancloud.cn/fc/ba/fcba122763540329ff1410be087dbde8_645x81.png) ># type命令 type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。 type命令的使用实例: ``` type cd ``` 系统会提示,cd是shell的自带命令(build-in) ``` type grep ``` 系统会提示,grep是一个外部命令,并显示该命令的路径。