GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi příkazem locate a find v Linuxu

Dva oblíbené příkazy pro vyhledání souborů v systému Linux jsou najít a najít . V závislosti na velikosti vašeho systému souborů a hloubce vašeho hledání může příkazu find někdy trvat dlouho, než prohledá všechna data. Pokud například prohledáváte celý souborový systém pro soubory s názvem data.txt:

# find / -name data.txt

S největší pravděpodobností bude návrat trvat řádově minuty, ne-li déle. Rychlejší metodou je použít příkaz locate:

# locate data.txt

Tato efektivita však něco stojí, data hlášená ve výstupu locate nejsou tak čerstvá jako data hlášená příkazem find. Ve výchozím nastavení systém spustí updatedb který pořizuje snímek systémových souborů jednou denně, locate používá tento snímek k rychlému hlášení, jaké soubory jsou kde. Nedávná přidání nebo odstranění souborů (do 24 hodin) však nejsou ve snímku zaznamenána a nelze je najít.

Příkaz find má řadu možností a je velmi konfigurovatelný. Existuje mnoho způsobů, jak snížit hloubku a šířku vyhledávání a zefektivnit jej.

locate používá dříve vytvořenou databázi. Pokud databáze není aktualizována, příkaz locate nezobrazí výstup. pro synchronizaci databáze je nutné provést příkaz updatedb.

# updatedb
Linux / UNIX :Příklady příkazu find k vyhledání souborů se specifickými sadami oprávnění


Linux
  1. Jaký je rozdíl mezi linuxovým kontejnerem a obrázkem?

  2. Jaký je rozdíl mezi &(ampersand) a &&(dvojitý ampersand) při provádění simultánních příkazů v Linuxu

  3. Jaký je rozdíl mezi env a set (na Mac OS X nebo Linux)?

  1. Jaký je rozdíl mezi vyrovnávací pamětí a mezipamětí v Linuxu?

  2. Jaký je rozdíl mezi „vyhledat“ a „najít“ v Linuxu?

  3. Jaký je rozdíl mezi &> a >&v bash?

  1. Jaký je rozdíl mezi volbami -i a -U použitými v příkazu rpm v Linuxu

  2. Rozdíl mezi '{}' a {} v příkazu find?

  3. Jaký je rozdíl mezi ls a l?