Как использовать locate в cygwin?


14

Я пытаюсь использовать, locateчтобы найти файлы, но я ничего не получаю от программы. Он даже не может найти файлы, которые находятся в текущем каталоге. Как мне заставить locateработать?


использовать sudo updatedb?
ukanth

Ответы:


15

По сути, вы должны сначала запустить updatedb, так как это создает базу данных, которую использует локация.
Просто сделайте updatedb --localpaths = c: / в качестве первого решения.

См. Этот пост в блоге для получения полезных советов, в том числе о том, как настроить updatedb через Cygwin Cron: https://web.archive.org/web/20061114000822/www.weiqigao.com/blog/2006/08/14/ten_steps_to_higher_cygwin_productivity .html (обновленная ссылка на archive.org)

Google 'cygwin updatedb' для соответствующего сообщения, если у вас есть проблемы с путями, которые включают пробелы. У меня нет никаких проблем (кроме отказа в разрешении) на WinXP Pro, но другие платформы могут требовать этого.


5
У блога появился новый адрес: webpages.charter.net/weiqigao/2006/08/14/…
Стефан Расмуссон

Я обнаружил, что простой вызов updatedb не будет работать в Cygwin, так как параметры по умолчанию (или --localpaths = c: /) приведут его к следующим ссылкам в бесконечные циклы. Я думаю, это связано с тем, что некоторые типы ссылок на Windows 7 не отображаются в виде символических ссылок на Cygwin, поэтому он не может их пропустить (так как поведение по умолчанию - нелогично, как предполагается)
Phil Goetz

Пост блога недоступен. Было бы лучше изложить свой совет здесь.
reinierpost

1
Спасибо @reinierpost, исправил ссылку. Пост слишком длинный, чтобы его встроить, ИМХО.
Диркджот


-1

Я думаю, что команда, которую вы хотите, это find

Сделать, man findчтобы увидеть синтаксис и параметры

Команда locate запускается для предварительно созданной базы данных имен файлов


Да, программа locate работает с предварительно созданной базой данных. Почему это означает, что ОП хочет найти вместо этого?
CarlF

1
Find, по крайней мере, выполнит запрошенную работу, если locate отсутствует или по какой-либо причине не работает. Медленнее, поскольку у него не будет предварительно подготовленных данных для поиска, но он будет работать, и результаты, скорее всего, будут должным образом обновлены и завершены (updatedb, возможно, был настроен для исключения некоторых частей файловой системы).
Дэвид Спиллетт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.