Команда locate находит путь к файлу, но файл не существует по этому пути [дубликат]

У меня есть написано:

locate Origin90SR2DVD.iso

И я получил путь, по которому расположен этот файл:

/home/david/Origin90SR2DVD.iso

Затем я написал:

cd /home/david

Я запустил:

ls -lrth

И я не могу найти файл Origin90SR2DVD.iso .

Почему файл не находится по этому пути?

6
задан 8 May 2015 в 23:53

2 ответа

Возможно, что Вы имели Origin90SR2DVD.iso файл в месте /home/david когда файл базы данных locate (/var/lib/mlocate/mlocate.db) был обновлен в прошлый раз cron (или собой). Как locate только для имен файлов в файле базы данных (thats, почему это быстро) при поиске, можно полагать, что это - техника, не живая.

Хотя locate показывает местоположение файла, очень возможно, что файл не присутствует там (мог бы быть удален или перемещен в где-то в другом месте).

У Вас есть два способа быть уверенными в том, что продолжается:

  • Можно обновить locate файл базы данных sudo updatedb и затем выполненный то же locate команда.

  • Поочередно, можно использовать find сделать живой поиск. Искать файл в Вашем корневом каталоге рекурсивно:

    find ~ -type f -iname 'Origin90SR2DVD.iso' -print -o -path ~/.gvfs -prune
    

    -path ~/.gvfs -prune (благодаря Eliah Kagan), используется так, чтобы мы не убывали в ~/.gvfs каталог при поиске. Иначе мы доберемся, недовольное разрешение отклонило сообщение, так как каталог принадлежит корню. Можно опустить это (и видеть сообщение) путем удаления -print -o -path ~/.gvfs -prune.

    Можно также искать все возможные места в иерархии файловой системы. Здесь я рассмотрел немного мест, которые могут содержать файл, будет необычно, если Ваш файл будет найден в соответствии с каким-либо другим каталогом.

    sudo find /home /root /opt /usr/local /mnt -type f -iname 'Origin90SR2DVD.iso'
    

РЕДАКТИРОВАНИЕ:

locateбаза данных обновляется cron ежедневно. В моей системе это выполняется в 6:25 каждый день (проверьте Ваш, идет /etc/crontab).

На самом деле anacron будет работать cron задание, чтобы гарантировать, что, если компьютер Прочь в то время, задание будет выполнено после компьютера, превращено На следующем разе. Если anacron не доступно, run-parts выполнит файлы (включая mlocate) в /etc/cron.daily каталог только в упомянутое время.

6
ответ дан 8 May 2015 в 23:53

Выполненный sudo updatedb для проверки mlocate база данных актуальна.

0
ответ дан 8 May 2015 в 23:53

Другие вопросы по тегам:

Похожие вопросы: