Этот вопрос уже имеет ответ здесь:
У меня есть написано:
locate Origin90SR2DVD.iso
И я получил путь, по которому расположен этот файл:
/home/david/Origin90SR2DVD.iso
Затем я написал:
cd /home/david
Я запустил:
ls -lrth
И я не могу найти файл Origin90SR2DVD.iso
.
Почему файл не находится по этому пути?
Возможно, что Вы имели 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
каталог только в упомянутое время.
Выполненный sudo updatedb
для проверки mlocate база данных актуальна.