搜索文件的时候,大部分用户使用的第一个命令就是
“the which”
命令。但是,这样的命令只适用于那些包括在用户路径里的文件。如果一个文件不在用户的路径上,
“the which”
命令是不会找到目标文件的。
下一个选择就是找到命令本身,但是这是极具杀伤里。这样搜索需要时间,因为它要在每个目录,和每个文件下查找与要求的标准相匹配的内容。如果你拥有某种许可或是所有权进行搜索文件,这就相当不错了,但是当你使用名字搜索特定文件却又是相当耗时的。
另外一个选择就是 slocate 命令,它是大部分 Linux 供应商的标准。这种命令是通过数据库进行文件查找,利用 cron job 在夜间进行更新。
安装好 slocate 之后,你必须创建它所要搜索的数据库。创建数据库的时间会有所不同,这个视你的文件系统的大小而定。
下一个选择就是找到命令本身,但是这是极具杀伤里。这样搜索需要时间,因为它要在每个目录,和每个文件下查找与要求的标准相匹配的内容。如果你拥有某种许可或是所有权进行搜索文件,这就相当不错了,但是当你使用名字搜索特定文件却又是相当耗时的。
另外一个选择就是 slocate 命令,它是大部分 Linux 供应商的标准。这种命令是通过数据库进行文件查找,利用 cron job 在夜间进行更新。
安装好 slocate 之后,你必须创建它所要搜索的数据库。创建数据库的时间会有所不同,这个视你的文件系统的大小而定。
创建数据库:
updatedb(
在
/var/lib/slocate)
下
使用以下命令,初始化数据库:
# slocate -c -u
在创建好数据库之后,创建一个 cron job ,每天晚上运行 slocate( 正如以上所示 ) 更新数据库。
执行以下命令,找到文件:
$ slocatemyfile
不管此文件在系统的任何位置上,这个命令都能找到 “myfile” 文件。如果有相似的文件存在,比如 “myfiles” 或 “test-myfile”, 命令也会找到这些文件。
你能够传送许多选项到此命令。你也能够使用 slocate ,通过传递给它一个常规的表达式进行文件搜索,你也能够进行模糊搜索,而且你能限制返回结果的数量。
使用以下命令,初始化数据库:
# slocate -c -u
在创建好数据库之后,创建一个 cron job ,每天晚上运行 slocate( 正如以上所示 ) 更新数据库。
执行以下命令,找到文件:
$ slocatemyfile
不管此文件在系统的任何位置上,这个命令都能找到 “myfile” 文件。如果有相似的文件存在,比如 “myfiles” 或 “test-myfile”, 命令也会找到这些文件。
你能够传送许多选项到此命令。你也能够使用 slocate ,通过传递给它一个常规的表达式进行文件搜索,你也能够进行模糊搜索,而且你能限制返回结果的数量。