GNU/Linux >> Znalost Linux >  >> Ubuntu

Hledání souborů v příkazovém řádku (jak na to)

Bohužel v Linuxu, určitě Ubuntu, není výchozí vyhledávání souborů GUI nejužitečnějším způsobem hledání souborů.

S trochou trpělivosti můžete najít soubory rychle a snadno pomocí příkazového řádku a vaše možnosti jsou opravdu mocné, pokud se o tom chcete trochu dozvědět.

Vyhledat

Snadný a rychlý příkaz se nazývá „vyhledat“. Chcete-li použít tento příkaz na terminálu, jednoduše napište:

$ locate -i searchstring

Toto vyhledá všechny soubory a adresáře s „searchstring“ v názvu a -i znamená, že vyhledávání nerozlišuje velká a malá písmena (tj. najde vyhledávací řetězec, vyhledávací řetězec, vyhledávací řetězec atd.).

Výsledky jsou okamžité, protože systém vytvořil databázi (také známou jako index), která vám řekne, kde se soubory nacházejí. Jediným problémem je, že nově vytvořené nebo přesunuté soubory nemusí být správně nalezeny až do příští aktualizace databáze a nemáte mnoho možností, ze kterých si můžete vybrat.

Vynucení locate k aktualizaci databáze/indexu se provádí pomocí sudo updatedb   a nezabere to moc času.

Příklad:

$ locate -i omgubuntu.desktop

Najít

Máte k dispozici mnohem výkonnější příkaz s názvem „najít“.

Můžete říci „najít“, kde hledat, jaká kritéria použít při hledání a jaké kroky podniknout, jakmile najdete to, co hledáte.

Syntaxe pro „najít“ je:

$ find <where to start searching> <search criteria> <actions to take>

Pokud nepřidáte žádné parametry, funkce find bude ve výchozím nastavení vyhledávat aktuální pracovní adresář (nebo „. “), nepoužívá žádná vyhledávací kritéria (ve výchozím nastavení zobrazují všechny soubory) a -print (který navzdory svému názvu zobrazí nebo „vytiskne“ výsledky na obrazovce) jako jedinou akci, kterou je třeba provést.

Dva příklady:

 $ sudo find / -type f -mmin -10

Tento příklad najde (začínající v kořenovém adresáři nebo / a rekurzivně prohledávat podadresáře) všechny normální soubory (-type f znamená normální soubory, bez toho najde normální soubory + speciální soubory + adresáře), které byly změněny před méně než deseti minutami (-mmin -10), a poté vám zobrazí výsledky.

To by bylo užitečné, pokud víte, že jste nedávno upravovali soubor, ale nevíte, kam jste jej umístili, nebo musíte najít soubor protokolu pro program, který se zhroutil.

Můžete přidat sudo zde, protože find neprohledává soubory/adresáře, pro které aktuální uživatel nemá oprávnění, a pokud nejste sudoer, vrátí chybové zprávy — jen buďte opatrní!

 $ find ~ -iname "*new*" -exec mv -v {} /media/current-projects/ \;

To ve vašem domovském adresáři (~) najde vše s názvem, nerozlišuje malá a velká písmena (-iname), obsahuje nové (“*new*”) a provede (-exec) přesun (mv) výsledků ({}) do /media/current-projects/ ( \; vyžaduje -exec pro zobrazení konce příkazu, který se má provést). Takže všechny vaše soubory budou přesunuty na stejné místo. mv -v zobrazí výsledky příkazu move s (-v) podrobnými zprávami.

Další varování s -exec, i když je mocné, při neopatrném používání můžete přepsat celý domovský adresář nebo celý disk – buďte opatrní!

Sumec je možnost GUI

Pro ty z vás, kteří se bez GUI prostě neobejdou, můžete v repozitářích najít program Catfish – to vám umožní spustit obě funkce locate a find z grafického front-endu, ale má velmi omezené možnosti.

Představte si Catfish jako ekvivalent k Windows Search. Pokud chcete plnou moc hledání, budete jej muset spustit z příkazového řádku pomocí rychlých tipů výše.

Nainstalujte Catfish ze softwaru Ubuntu

Jakou metodu hledání souborů preferujete? Odpovězte níže a já $ grep Nixie * to později.;-)


Ubuntu
  1. Jak najít soubory v CentOS 8 na příkazovém řádku

  2. Jak získat počet souborů v adresáři pomocí příkazového řádku?

  3. Jak ztlumit z příkazového řádku?

  1. Jak najít všechny soubory související se softwarem?

  2. Jak používat Linuxový příkaz find k hledání souborů

  3. Jak stáhnu soubory z příkazového řádku pomocí příkazu wget?

  1. Jak najít soubory v Linuxu pomocí příkazu Najít

  2. Jak hledat soubory z příkazového řádku Linuxu

  3. Jak zjistit počet jader v Ubuntu