updatedb
updatedb 命令用来创建或更新 slocate/locate 命令所必需的数据库文件。
updatedb 命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入 slocate/locate 数据库文件中。
注意:slocate 本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
语法
updatedb(选项)
参数
-o<文件>:忽略默认的数据库文件,使用指定的slocate数据库文件;
-U<目录>:更新指定目录的slocate数据库;
-v:显示执行的详细过程。
实例
使用-U选项可以指定要更新slocate数据库的目录。
[root@localhost aaa]# updatedb -U /opt/
locate
locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
语法
locate [-d ][--help][--version][范本样式...]
参数
-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
--help 在线帮助。
--version 显示版本信息。
注意:
locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
locate -u
实例
[root@localhost aaa]# locate haha.txt #先查找一个不存在的文件
[root@localhost aaa]# touch haha.txt #创建这个文件
[root@localhost aaa]# locate haha.txt #再次查看,还是没有
[root@localhost aaa]# ll
总用量 12
-rwxr-xr-x 1 root root 614 7月 13 11:02 1.sh
-rw-r--r-- 1 root root 18 7月 9 18:41 2.txt
-rw-r--r-- 1 root root 20 7月 8 09:56 data-file
-rw-r--r-- 1 root root 0 7月 13 11:13 haha.txt
[root@localhost aaa]# updatedb #更新locate.db数据库
[root@localhost aaa]# locate haha.txt #再次查看,查出
/opt/aaa/haha.txt