在linux中找不到文件,即使"找到"返回其位置

时间:2015-07-24 17:15:47

标签: linux postgresql ubuntu postgis locate

我在ubuntu 14.04上安装了postgis-9.3,它应该有一个名为" shp2pgsql"的函数。当我"找到"它的位置,它返回结果,但实际上它不存在。

yang@ubuntu:~$ locate shp2pgsql-gui
/home/yang/shp2pgsql-gui (1).1
/usr/bin/shp2pgsql-gui
/usr/share/man/man1/shp2pgsql-gui.1.gz
yang@ubuntu:~$ /usr/bin/sh
sha1pass         sha384sum        showconsolefont  shred
sha1sum          sha512sum        showfont         shuf
sha224sum        shasum           showkey          
sha256sum        shotwell         showrgb          
yang@ubuntu:~$ /usr/bin/shp2pgsql-gui
-su: /usr/bin/shp2pgsql-gui: No such file or directory

我在哪里可以找到shp2pgsql?谢谢

2 个答案:

答案 0 :(得分:3)

locate告诉您上次更新数据库时确实存在哪些文件;那(不需要查看文件系统的真实,当前状态)就是为什么它如此之快。它并不能保证你现在还在那里。如果要使locate数据库保持最新,请运行sudo updatedb

答案 1 :(得分:0)

查找查询由更新创建的一个或多个数据库,它不会检查文件是否存在。有关详细信息,请阅读其man页面。

如果您无法在locate返回的位置找到该文件,则可以尝试使用以下find命令,如果您仍然认为该文件存在于其他位置。

find / -name "shp2pgsql-gui" -type f