Pokaždé, když používáme operační systém, je plný souborů a archivů. Ať už jsou stažené z internetu nebo vytvořené samotným uživatelem. Pak je to stejně složité jako jejich hledání. V tomto příspěvku vám tedy pomůžeme najít soubory v Ubuntu. Tento příspěvek vám však může pomoci s jakýmkoli systémem.
Konkrétně Ubuntu a rodina Unix má příkaz nazvaný find
který v podstatě hledá soubory, ale dělá to docela rychle. Tento příkaz je nainstalován v Ubuntu, takže nemusíme instalovat nic jiného.
Na druhou stranu díky find
pomocí příkazu je možné efektivně najít mnoho souborů. To oceníme, když naše Ubuntu funguje jako server a nemá žádné grafické rozhraní. Je také užitečné, pokud máte skromný počítač, protože s tímto příkazem může být rychlejší než použití grafického rozhraní.
Příkaz find
Základní syntaxe použití příkazu find je následující
find [directory-to-find] [options] [search-term]
Musíte tedy definovat adresář, ze kterého bude vyhledávání začínat. Pak jsou zde možnosti vyhledávání a nakonec hledaný výraz.
Ve výchozím nastavení bude adresář, ve kterém bude vyhledávání zahájeno, aktuální. Možná budete chtít spustit celosystémové vyhledávání, v takovém případě by adresář byl /
což je symbol představující kořenový adresář systému. Na druhou stranu, pokud byste chtěli začít hledat v domovském adresáři, použili byste ~
jako reference. Pokud tedy neznáte aktuální polohu terminálu, můžete to zjistit spuštěním pwd
příkaz.
Hledání souborů v Ubuntu
Nejtypičtějším vyhledáváním v systému je podle názvu souboru. Řekněme tedy, že hledám soubor s názvem report.odt
v celém systému.
Chcete-li vyhledat soubor podle jeho názvu, přidejte do příkazu volbu -name takto:
:~$ find / -name "report.odt"
Výše uvedený příkaz vyhledá přesně soubor report.odt
na systému. Při vyhledávání by se však neměla rozlišovat malá a velká písmena. V tomto případě je volba -iname
.
:~$ find / -iname "report.odt"
Na druhou stranu jsou chvíle, kdy si pamatujeme jen to, jak se soubor nejmenuje. S pomocí -not
můžeme filtrovat vyhledávání.
:~$ find / -not -name "report.odt"
Výše uvedený příkaz vyhledá v systému všechny soubory, které se nenazývají report.odt
.
Další užitečnou funkcí příkazu find je, že nám umožňuje hledat pouze podle přípony. Chceme například vyhledávat pouze obrázky JPG.
:~$ find / -name "*.jpg"
Můžete také vyhledávat soubory obsahující dvě jména. V takovém případě musíte přidat volbu -a
:~$ find / -name "report" -a "july"
To znamená, že tento příkaz vyhledá všechny soubory, jejichž názvy obsahují slova report
a july
.
V opačném případě je možné změnit podmínku a definovat některá slova nebo jiná jako vyhledávací kritéria.
:~$ find / -name "report" -or "july"
Příkaz nyní vyhledá soubory, jejichž názvy obsahují slova report
nebo july
.
Vyhledávání souborů podle typu
Velmi užitečnou možností v příkazu find je vyhledávání podle typu. Také je třeba poznamenat, že pro mnoho uživatelů stačí vyhledávání podle jména, ale podle typu můžeme výsledky dále upřesnit.
K tomu tedy musíme použít -type
argument, který nabízí několik možností:
- f :pro běžné soubory.
- d :pro složky.
- l :symbolické odkazy.
- c :znaková zařízení.
- b :blokovat zařízení.
Navíc můžete kombinovat -type s -name a dále upřesnit hledání, například:
:~$ find / -type f -name "report"
V tomto případě find
příkaz bude hledat pouze soubory, které se nazývají report
ale s výjimkou složek a odkazů.
Najít soubory podle velikosti
Je také možné vyhledávat podle velikosti souboru pro větší přesnost vyhledávání. K tomu slouží -size
je indikován příkaz.
Tento příkaz má také různé jednotky velikosti, které musíme zadat:
- c :bajtů
- k :kilobajty
- M :megabajty
- G :gigabajty
Příklad použití -size
možnost je následující:
:~$ find / -size 100M
Tento příkaz vyhledá jakýkoli soubor nebo složku v systému, která váží 100 milionů. Je možné použít + nebo – operátory k definování kritérií větších a menších než.
:~$ find / -size +100M
Výše uvedený příkaz vyhledá soubory, které váží více než 100 megabajtů.
Nebo naopak hledat soubory menší než 100 megabajtů.
:~$ find / -size -100M
Tento příkaz můžete samozřejmě kombinovat s příkazem -type
a -iname
pro lepší výsledky. Například:
:~$ find . -size 2G -type f -name "report"
Najít soubory podle data přístupu nebo úpravy
Dalším velmi užitečným kritériem pro nás je vyhledávání souborů v Ubuntu po dobu úpravy. V tomto případě nám s úkolem pomohou tři příkazy.
- -atime :poslední datum, kdy byl soubor přečten nebo zapsán.
- -mtime :tento příkaz určuje poslední datum, kdy byl soubor upraven.
- -ctime :poslední datum, kdy byla aktualizována metadata souboru.
Použití je u všech tří dost podobné. Musíte jej přidat do příkazu:
:~$ find / -atime 1
Tento příkaz vrátí všechny soubory zpřístupněné předchozí den. A abyste poznali upravené soubory, změňte -atime
na -mtime
:~$ find / -mtime 1
Můžete také použít + nebo – operátory k definování přesnějšího kritéria jako v předchozí části. Můžete je také kombinovat s -type
a -name
.
Závěr
Vyhledávání souborů v Ubuntu je jednou z operací, která nám může zkomplikovat každodenní práci. Díky příkazu find to však lze provést poměrně efektivně. V tomto příspěvku jsme se naučili používat příkaz, a tak mít tento nástroj připravený pro naši práci.