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 s locate. 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“.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *