Jak mohu vyhledat soubor pomocí locate
v CentOS
v konkrétním adresáři z terminálu? Vyhledejte vyhledávání v celé databázi!
Odpověď
Ve výstupu z alespoň na CentOS 6.5. Změnou hledaného výrazu však můžete získat pseudofunkčnost. Například locate cron
může produkovat příliš mnoho výstupu, ale locate "/var/log/cron"
by omezil výsledky na tyto položky v locate
databáze, která odpovídá hledaným výrazům. Nebo by fungovalo potrubí: locate cron | grep "/var/log/"
Jinak použijte find: find /path/to/search -name "*cron*"
nebo podobné.
Zdá se, že odpověď
locate
nemá tuto možnost, ale stále můžete prohledávat konkrétní adresáře pomocí jednoho z následující:
- Při hledání použijte zástupné znaky. Příklad:
locate "*/directory/*filename*"
- Použijte
grep
slocate
. Příklad:locate filename | grep /directory/
- Použijte příkaz
find
. Příklad:find /my/directory/ -name filename
. Hledání můžete také omezit na adresáře nebo soubory přidáním-type d
nebo-type f
. Chcete-li ve své domovské složce najít soubor s názvem „myScript“, postupujte takto:find ~/ -name myScript -type f
. Tím se ve vaší domovské složce vyhledá soubor (nikoli adresáře) s názvem přesně „myScript“.