Próbuję użyć locatedo znalezienia plików, ale nic nie odzyskuję z programu. Nie może nawet znaleźć plików, które znajdują się w bieżącym katalogu. Jak mogę locatepracować?
Zasadniczo najpierw musisz uruchomić updatedb, ponieważ buduje to bazę danych, z której korzystają lokalizatorzy.
Po prostu zrób zaktualizowaneb --localpaths = c: / jako rozwiązanie pierwszego strzału.
Google „cygwin updatedb” dla odpowiedniego postu, jeśli masz problemy ze ścieżkami zawierającymi spacje. Nie otrzymuję żadnych problemów (poza odmową zgody) na WinXP Pro, ale inne platformy mogą tego wymagać.
Przekonałem się, że proste wywołanie updatedb nie będzie działać w Cygwin, ponieważ domyślne opcje (lub --localpaths = c: /) doprowadzą go do kolejnych linków w nieskończone pętle. Myślę, że dzieje się tak, ponieważ niektóre typy linków do systemu Windows 7 nie pojawiają się jako dowiązania symboliczne do Cygwina, więc nie można ich pominąć (ponieważ domyślnie takie zachowanie jest sprzeczne z intuicją)
Phil Goetz
Ten post nie jest dostępny. Lepiej byłoby tutaj podać swoje porady.
reinierpost
1
Dzięki @reinierpost, naprawiłem link. Post jest za długi, aby wstawić, IMHO.
dirkjot
5
Aby użyć locate, musisz updatedbnajpierw uruchomić .
Tak, zlokalizuj działa w oparciu o wstępnie zbudowaną bazę danych. Dlaczego to oznacza, że OP chce zamiast tego znaleźć?
CarlF,
1
Find wykona przynajmniej zadanie, o które się prosi, jeśli lokalizator nie jest obecny lub z jakiegoś powodu nie działa. Wolniej, ponieważ nie będzie zawierał wstępnie przygotowanych danych do przeszukiwania, ale będzie działać, a wyniki będą prawdopodobnie poprawnie aktualizowane i kompletne (aktualizacja może być skonfigurowana tak, aby wykluczyć niektóre części systemu plików).
Odpowiedzi:
Zasadniczo najpierw musisz uruchomić updatedb, ponieważ buduje to bazę danych, z której korzystają lokalizatorzy.
Po prostu zrób zaktualizowaneb --localpaths = c: / jako rozwiązanie pierwszego strzału.
Zobacz ten post na blogu, aby znaleźć kilka dobrych wskazówek, w tym jak skonfigurować updatedb przez cygwin cron: https://web.archive.org/web/20061114000822/www.weiqigao.com/blog/2006/08/14/ten_steps_to_higher_cygwin_productivity .html (zaktualizowany link do archive.org)
Google „cygwin updatedb” dla odpowiedniego postu, jeśli masz problemy ze ścieżkami zawierającymi spacje. Nie otrzymuję żadnych problemów (poza odmową zgody) na WinXP Pro, ale inne platformy mogą tego wymagać.
źródło
Aby użyć
locate
, musiszupdatedb
najpierw uruchomić .źródło
Myślę, że polecenie, które chcesz, to
find
Czy
man find
zobaczyć składnię i opcjePolecenie locate działa na bazie wcześniej utworzonych baz danych nazw plików
źródło