Linux删除指定文件命令:Linux的 locate命令返回已删除文件的路径

我正在写一个 bash s 脚本,它使用以下命令删除一个文件

rm abc.xsl

我处理了获得提示并提供所需的 'y' 或 'n' 输入的情况。

为了验证文件是否已被删除,我通过以下方式运行 locate 命令来验证

locate */abc.xsl

注意:所需的文件存在于一个特定的目录,所以在我的情况下,这个特定的命令没有给我任何其他文件的地址

我注意到,尽管文件被删除,locate 命令仍然反映了已删除文件的路径。

我通过手动执行每个必需的命令来调试问题

FYR

admin@sharad-server$ pwd
/usr/local/myserver/myapplication/lib
admin@sharad-server$ rm abc.xsl
rm: remove write-protected regular file 'abc.xsl'? y
admin@sharad-server$ locate */abc.xsl
/usr/local/myserver/myapplication/lib/abc.xsl

该文件被删除,因为当我执行 ls 命令和 cat 命令时没有反映出来,如下所示

admin@sharad-server$ cat /usr/local/myserver/myapplication/lib/abc.xsl
cat: /usr/local/myserver/myapplication/lib/abc.xsl: No such file or directory

FYR 我的应用程序部署在 GCP 和器的平台的详细信息如下:

admin@sharad-server$ uname -a
Linux sharad-server 3.10.0-1127.8.2.el7.x86_64 #1 SMP Tue May 12 16:57:42 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

以方式执行所有这些命令的 s 的详细信息如下:

admin@sharad-server$ ps -p $$
  PID TTY          TIME CMD
32296 pts/0    00:00:00 bash

为什么 locate 命令仍然反映已删除文件的路径?

更新:

根据建议之一,我尝试了 updatedb 命令,但它给了我一个错误。

admin@sharad-server$ updatedb
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

最终更新:

updatedb 命令与 root 用户一起使用,并已成功更新了 locate 命令的功能。

0

出于性能原因,Locate 使用存储所有文件树结构的索引来查找某些内容...需要使用命令updatedb #root permision needed更新此文件。如果要查找执行“实时分析”的文件或目录,则需要使用 find。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(380)
Nt rpg:Windows NT版本
上一篇
美的10匹一拖二空调故障代码:Windows 10选择性键盘故障
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(72条)