定位不起作用

定位不起作用

系统:Linux Mint 19.1 Tessa,版本:Cinnamon

命令有问题locate。我test.txt在桌面上创建了文件。之后我做了:

sudo updatedb

然而

locate test.txt -i 

仍然没有显示任何内容。

权限mlocate.db-rw-r---- 在普通用户上工作,而不是 root (这就是我使用 sudo 命令的原因)

答案1

updatedb命令将扫描系统上的文件系统并创建可用文件和目录名称的索引。此索引是作为非特权用户执行的。这意味着索引将只包含可通过以下方式访问的文件的名称全部系统的用户。

由于您的主目录只有您自己可以访问(您在评论中说您有rwx------该目录的权限),这意味着它不会被索引经过updatedb。这反过来意味着locate永远不会从主目录中返回名称(使用sudo locate而不是只是locate仍然会查询相同的索引,因此这没有帮助)。

要解决这个问题,您有两种选择:

  1. 放宽对您的主目录(以及您希望通过 索引的该目录下的任何目录updatedb)的限制。权限可能应为rwxr-xr-x, 或八进制的 755。

  2. 不要用于locate查找文件。而是使用find

    find "$HOME" -name test.txt
    

    这将查找test.txt您的主目录中或主目录下调用的任何内容。

相关内容