定位、查找文件的命令
9.1 which语法 which command 说明 依序从path环境变量所列的目录中找出command的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。 范例,找出ls命令的程序文件的位置: which ls 系统输出: /usr/bin/ls 9.2 whereis语法 whereis [option] name 说明 找出特定程序的可执行文件、源代码文件以及manpage的路径。你所提供的name会被先除去前置的路径以及任何.ext形式的扩展名。 whereis 只会在标准的Linux目录中进行搜索。 常用选项 -b 只搜索可执行文件。 -m 只搜索manpage。 -s 只搜索源代码文件。 -B directory 更改或限定搜索可执行的文件的目录。 -M directory 更改或限定搜索manpage的目录。 -S directory 更改或限定搜索源代码文件的目录。 9.3 find语法 find paths expression [action] 说明 以paths为搜索起点逐层往下找出每一个符合expression条件的文件,并对该文件执行action所代表的动作。expression是搜索条件,它由一个代表匹配项目的选项以及一个代表匹配模式的参数构成。 action是处理动作,它有一个代表“处理方式”的选项以及一个操作参数构成。若不指定action,则默认动作是显示出文件名。 常用的搜索条件
-name pattern 找出名称、路径名称或符号链接的目标匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路径是相对于搜索起点的。 常见处理动作 显示出文件的相对路径(相对于搜索起点)。 -exec cmd /; 执行指定的shell命令。若cmd含有任何shell特殊字符,则他们之前都必须加上/符号,以免shell立刻执行他们。在cmd里,可以用”{}”符号(包括双引号)表示find所找出的文件。 9.4 locate语法 locate patterns 说明 第一次执行locate时,它会建立一个索引数据库,当往后再次执行时,它便从索引数据库中迅速找出文件的位置。locate很适合用来反复搜索很少变动的目录树,但是对于刚改名的旧文件以及新建的文件,locate就找不到了,除非重建数据库。 updatedb 语法 updatedb [option] 说明 更新slocate的索引数据库。 选项 -e directories 略过directories所列的目录。 (责任编辑:IT) |