我正在运行以下命令:
updatedb -l 0 -o mydatabase.db -U /usr/myfiles1/
然后,
locate -d mydatabase.db ""
"" 用于显示 mydatabase.db 的所有内容。但是,我缺少我希望在 /myfiles1/ 中看到的文件。'locate' 似乎没有在目录中递归。我已经检查了权限,但是对于“定位”选择递归到哪些目录似乎是随机的。
如果我 'cd' 到 'myfiles1' 然后运行 'updatedb',它会向下递归到该目录及其子目录并生成 /myfiles1/ 中包含的所有文件。
更新定位数据库时我无法递归到子目录的原因是因为我没有顶级目录的适当权限。以 root 身份运行 updatedb 能够在不跳过目录的情况下浏览整个文件树,而不管我在哪里启动了 updatedb 命令。