1.find命令
find命令我们通过man命令可以看到如下信息:
find - search for files in a directory hierarchy
find命令用于在目录结构中搜索命令,并可以执行指定操作。在不指定查找目录的情况下,find会动这个系统进行遍历。即使系统中含有网络文件系统,find同样有效。
格式:
find 【查找目录】 【查找规则】 【查找完成后的操作(shell指令)】
即:find pathname -option [-print -exec -grep ...]
例子:
这个例子的含义是在当前目录下搜索,以当前时间为起点前3天修改过的所有xsl文件格式文件。
2.locate命令
locate - find files by name
locate命令可以很快速的搜索档案系统内是否有指定的档案,方法是先建立一个包括系统内所有档案名称及路径的数据库,然后搜索这个数据库,使用updatedb可以更新数据库。
格式:
locate [选择参数] [范本样式]
由于locate是在数据库中查找,所以不可以指定查找目录
参数列表:
-e 将排除在寻找的范围之外。
-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。
-q 安静模式,不会显示任何错误讯息。
-n 至多显示 n个输出。
-r 使用正规运算式 做寻找的条件。
-o 指定资料库存的名称。
-d 指定资料库的路径
-h 显示辅助讯息
-V 显示程式的版本讯息
例子:
查找as_rs_main.cpp文件
3.whereis命令
whereis - locate the binary, source, and manual page files for a command
whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径
whereis只能用于程序名的搜索,而且只能搜索二进制文件(参数-b)、man说明文件(参数 -m)和源代码文件(参数-s),如果省略参数,则返回所有信息。whereis的效率很高,因为其也是在数据库中查找。
格式:
whereis [参数] [样式]
例子:
查找SVN程序的路径
4.which命令
which - shows the full path of (shell) commands
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令是需要遍历的目录。也就是说使用which命令可以查看某个系统命令是否存在。
格式:
which [参数] [指令名]
例子:
查找pwd命令的绝对路径