Файла там нету. В других каталогах указаных locate он есть.
Не понимаю данный принцип работы команды locate - почему так?
Команда locate работает не с файлами, как с таковыми, а с созданным ранее индексом (который должен периодически обновляться!), в котором указано местоположение файлов в системе.
Опять же, в зависимости от настроек, команда locate индексирует не все доступные каталоги.
Для поиска в «реальном» времени следует использовать find — не так быстро, но зато наверняка ;)
Да, согласен. Для поиска файла, существует команда find. Но чтобы ей воспользоваться надо знать, либо тип файла, либо имя, либо часть имени, например несколько букв. Вообщем советую почитать ключики к команде find (т.е man find). Позволяет задавать разные параметры поиска и хорошо делает свою работу эта команда. Пример find /home/user/ - name ".*txt" (эта запись означает поиск файлов в домашнем каталоге юзера по расширению txt. а звездочка означает искать все файлы с таким расширением. А если имя знаешь, пиши имя. Пробуй. все получится легко.
Насколько я понимаю, первые два пути относятся к виртуальным каталогам, так что ничего удивительного, что ранее проиндексированных файлов там уже нет.[/quote]
В первых друх он есть, в последнем нету. Как можно обновиться индексацию для locate?
Пока не нашел решения.
...и добавить, если не добавлено, соответствующее задание в cron ;)
IMHO, искать файлы во временных и виртуальных каталогах с помощью locate неправильно.
...и добавить, если не добавлено, соответствующее задание в cron ;)
IMHO, искать файлы во временных и виртуальных каталогах с помощью locate неправильно.[/quote]
Когда оправдано использование команды locate?
Shell скрипты при выполнении не используют значения временных и виртуальных катологов? У меня тут как раз один скрипт странно себя ведет, выкидывает ошибку о место положении файла.