Unix/BSD

关注公众号 jb51net

关闭
操作系统 > Unix/BSD >

FreeBSD 文件和目录查找

佚名

0. 前言
档案搜寻,对于一个新系统来说,可能没有很大的用途;
但是对于一个旧系统,档案及文件越来越多, 这时就必须要用搜寻来找寻档案了。  

1.which
指令 : which ( locate a program file in the user's path )  
语法 : which
program  
用途 : 从使用者的执行路径,寻找执行文件。
实例 : 搜寻 cd 的位置。

2.whereis 指令 : whereis ( locate programs )  
语法 : whereis [ -bms ]
program  
用途 : 寻找原始程序数据夹 (source directory), 二进制程序 (binary). 使用手册 (manuals)  
参数 : -b 搜寻二进制程序 ; -m 搜寻使用者手册; -s 搜寻原始程序的数据夹
实例 :
(1) 搜寻 cd 使用者手册的位置。 

( 2) 搜寻 cd 执行文件的位置。

说明 : 若不加任何参数,则表示 -bms 都有。 实例中出现警告讯息乃是因泡泡未安装 X-window 的关系。  

3.find
指令 : find ( walk a file hierarchy )  
语法 : find 起始目录 -name 欲找的文件名 -print  
用途 : 在档案系统架构中搜寻。
实例 : 在目前目录中,搜寻名为 test 的档案。

4.grep 指令 : grep ( print lines matching a pattern )  
语法 : grep
pattern file_name  
用途 : 搜寻档案内容中含有 pattern 的行。
实例 : 搜寻档案 test 中,包含 panda 的行。
先显示档案内容: 

后进行内容搜寻:

5.locate
指令 : locate ( find filenames quickly )  
语法 : locate
program/file  
用途 : 从系统建立的数据库中搜寻档案及数据夹。
实例 : 从数据库中搜寻 test 档案。

说明 : /var/db/locate.database 预设的 locate 数据库: /usr/libexec/locate.updatedb
更新 locate 数据库的 script 档案。 /etc/periodic/weekly/310.locate 定时更新重建 locate 数据库的 script 档案。  
补充 : locate 预设每一个星期才更新一次数据库,所以新建立的档案不会出现。但是它的数据显示量是最多的喔