linux----查找文件 命令简述

来源:互联网 发布:linux查看集群 硬盘 编辑:程序博客网 时间:2024/06/08 19:08
了解:    通常 find 不很常用的!因为速度慢之外,也很操硬盘!通常我们都是先使用 whereis 或者是locate 来检查,如果真的找不到了,才以 find 来搜寻呦!因为 whereis 与 locate 是利用数据库来搜寻数据,所以相当的快速,而且并没有实际的搜寻硬盘, 比较省时间。    linux系统会将系统内的所有文件都记录在一个数据库文件中,但是该数据库文件并不是实时更新,Linux系统默认每天会检索一下系统中的所有文件,然后将检索到的文件记录到数据库中。在运行locate命令的时候可直接到数据库中查找记录并打印到屏幕上,所以使用locate命令要比find命令反馈更为迅速,并且,我们也可以知道在用locate和whereis 查找文件时,有时会找到已经被删除的数据,而且也找不到最新的刚刚创建的文件。    所以在使用locate之前,先使用updatedb命令,手动更新一下数据库。

查找文件的命令: find,which,whereis,locate, type<特殊的一个>

find:实际搜寻硬盘查询文件名称 点击此处 : find

 格式: find  [PATH]  [option]  [action]

[PATH] : 所要搜索遍历的目录,默认为当前目录

[option] : 所要搜索文件的条件特征

[action] : 对搜索结果进行特殊处理

补充说明
1.find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录
2.为了缩短指令的执行时间,要尽量缩小查找的起始目录。因为find指令使用递归的方式遍目录,所以起
始目录范围较大,会导致find指令的运行时间过长

whereis:寻找特定文件,查看文件的位置 点击此处:whereis

 格式: whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

补充说明
1. whereis指令会在特定目录中查找符合条件的文件。这些文件的属性应属于原始代码,二进制文件,或
是帮助文件
2. whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于
原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻
常项的能力。

locate:配合数据库查看文件位置 点击此处:locate

 格式 : locate [-d <数据库文件>][--help][--version][范本样式...]

补充说明:

locate指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件
的文件或目录。

1.  它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。2. locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库

which:查看可执行文件的位置 点击此处:which

 格式:which [文件...]        

补充说明:

1.  which指令会在环境变量$PATH设置的目录里查找符合条件的文件。2. 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 

type: 查找外部命令的文件的位置

    type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。type命令的使用实例:    $ type cd系统会提示,cd是shell的自带命令(build-in)。  $ type grep系统会提示,grep是一个外部命令,并显示该命令的路径。  $ type -p grep加上-p参数后,就相当于which命令
0 1