GNU/Linux >> Znalost Linux >  >> Linux

Linux find Directory Command:Explained

Možná budete muset najít adresář ve svém operačním systému Linux a trpíte tím, že neznáte skutečný příkaz k nalezení umístění různých souborů přítomných ve vašem operačním systému založeném na Linuxu. K tomuto účelu se používá příkaz Linux find directory.

Příkaz Najít se používá k vyhledání umístění souborů v systémech založených na Unixu nebo Linuxu. Příkaz find je součástí balíčku „findutils“ a je přítomen ve všech distribucích Linuxu. Můžete hledat adresáře a soubory při použití mnoha podmínek. Akce bude provedena podle vámi použitých podmínek, které ovlivní výsledek.

Úvod do příkazu Linux find directory

Nejjednodušší forma příkazu find je dána takto:

find [paths] [expression] [actions]

Další formy příkazu find jsou dány jako při spuštění příkazu find hledá adresáře a soubory v každé cestě. Jakmile nalezne adresář v zadané cestě, začne hledat další soubory a adresáře ve stejné cestě. Tento proces se nezastaví, dokud nevyhledáte všechny soubory ve vámi uvedené cestě.

find /where/to/look/up criteria action
find /dir/path/look/up criteria action
find /dir/path/look/up -name "name-of-dir"
find /dir/path/look/up -name "pattern"
find /dir/path/look/up -name "name-of-dir" -print
find /dir/path/look/up -name "name-of-dir"
find / -name "name-of-dir"
find / -type d -name "name-of-dir"
find / -type d -name "name-of-dir" 2>/dev/null

Prohledávání všech adresářů a souborů

Pokud chcete seznam všech souborů a adresářů ze zadané cesty, můžete to udělat zadáním cesty. Pokud například chcete seznam všech souborů z cesty usr/share, můžete použít následující příkaz:

find /usr/share

Pokud chcete vypsat soubory z více než jednoho adresáře najednou, můžete použít následující příkaz:Po spuštění tohoto příkazu se na konzole zobrazí seznam všech adresářů a souborů z vaší zadané cesty. Seznam může být velmi dlouhý na základě vašeho uloženého obsahu.

find /bin /usr/li

Předpokládejme, že chcete, aby byl seznam obsahu přítomen přímo ve vaší aktuální práci. To lze rychle provést vložením tečky (.) za příkaz find, podobně jako:

find .

Pokud nějakým způsobem zapomenete vložit tečku za příkaz find, pak se data z aktuálního pracovního adresáře zobrazí pouze spuštěním příkazu find.

find

Filtrování položek s jejich názvy

Mnohokrát je potřeba filtrovat různé položky pomocí jejich názvů. Linuxový příkaz find directory vám s tím také může pomoci.

Předpokládejme, že chcete vyhledat soubor s názvem NEW.txt, který se nachází v adresáři /Desktop, pak můžete použít přepínač "-name", jak je uvedeno níže:

find Desktop -name NEW.txt

Použití přepínače "-name" více rozlišuje velká a malá písmena. Chcete-li použít příkaz nerozlišující malá a velká písmena, můžete použít "-name" místo "-name"

find Desktop -iname new.txt

Oba tyto přepínače podporují „zástupné znaky“, které se používají jako zástupné symboly pro neznámé znaky. Zástupný znak "* " se používá k zobrazení libovolného počtu neznámých znaků, zatímco "?" se používá na jeden neznámý znak.

Chcete-li použít tyto zástupné znaky, musíte zadat parametr příkazu "name / inname" do dvojitých nebo jednoduchých uvozovek.

Předpokládejme, že chcete vyhledat všechny soubory v adresáři /Desktop, které jako poslední obsahují .txt. Pak to lze provést následujícím příkazem Linux find directory:

find Desktop -name '*.txt'

Nyní, pokud chcete hledat soubory, které obsahují tři znaky ve svém názvu, můžete použít "?" zástupný znak uzavřený v uvozovkách.

find Desktop -name '???'

Určení hledání buď souborů nebo adresářů

Při použití příkazu k nalezení adresáře v systému Linux můžete také určit typ vyhledávání. Můžete použít přepínač "-type" pro určení, že hledáte pouze soubory nebo adresáře. Přepínač "-type" má celkem tři parametry:

  • f - soubory
  • d – adresáře
  • l – symbolické odkazy

Pokud chcete najít všechny adresáře v cestě /usr, můžete použít:

find /usr -type d

Existuje další způsob použití přepínačů jejich kombinací. Chcete-li například vyhledat „.txt“ pomocí přepínače -name a současně zadat typ souboru přepínačem „-type“:

find /usr -type f -name '*.txt'

Stejně jako ve výše uvedeném příkladu můžete také najít adresáře pomocí parametru "d" v cestě /usr. Pro nalezení "cherrytree" pojmenovaných adresářů:

find /usr -type d -name 'cherrytree'

Prázdný přepínač pro hledání prázdných souborů

Můžete použít přepínač "-empty" v Linuxu v příkazu Linux find directory. Tento přepínač se používá k vyhledání jakýchkoli prázdných souborů nebo prázdných adresářů přítomných ve vámi zadané cestě. Chcete-li najít prázdné soubory v adresáři /usr, můžete použít následující příkaz s přepínačem "-type":

find /usr -type d -empty

Negování shod v příkazech hledání

Pokud chcete něco z vyhledávání vyloučit, můžete použít příkaz find k negaci podmínky.

Předpokládejme, že chcete hledat soubory bez přípony ". Py" v adresáři /usr. S přepínačem "-name" můžete vložit vykřičník (!), jak je znázorněno níže:

find /usr -type f ! -name '*.py'

Vykřičník lze také použít jako oponu jakéhokoli jiného přepínače. Například v případě přepínače "-empty" můžete použít "!" pro hledání neprázdných adresářů namísto prázdných adresářů.

find /usr -type f ! -empty

Hledání souborů na základě jejich vlastnictví

Existuje možnost vyhledání souborů na základě vlastnictví uživatele. Pro vyhledávání souborů souvisejících s konkrétním uživatelem můžete použít přepínač "-user". Pokud chcete vyhledat soubory související s uživatelem jménem "root", můžete použít následující příkaz a získat seznam všech jeho souborů.

find / -type f -user root

Místo uživatelského jména můžete také použít ID uživatele ke kontrole všech souborů patřících tomuto uživateli. Pokud neznáte své uživatelské ID, můžete jej najít pomocí následujícího příkazu.

id -u <username>

Můžete také vyhledávat po skupinách pomocí názvu skupiny nebo ID skupiny. Pro nalezení vašeho ID skupiny můžete použít následující příkaz.

id -g <username>

Vyhledávání souborů podle jejich velikosti

Linuxový příkaz find directory také umožňuje vyhledávat soubory na základě jejich velikosti. Pro tento účel se používá přepínač "-size" a vztahuje se pouze na soubory, nikoli na adresáře.

Velikost souboru můžete určit zadáním čísla, za kterým následuje abeceda. Tato písmena se používají s přepínačem "-size",

  • c-bajtů
  • k – kilobajtů
  • m – megabajtů
  • g – gigabajty

Můžete také použít podmínku menší než nebo větší než pomocí znamének „+“ a „-“.

Zde je příklad, jak najít všechny systémové soubory o velikosti 20 kB:

find / -size 20k

Pokud chcete vyhledat soubory větší než 1 GB, můžete použít:

find / -size +1G

V případě, že chcete soubory o velikosti menší než 20 MB, můžete použít následující prohlášení:

find / -size -20M

Provádění akcí pomocí příkazu najít adresář

Příkazy, které jsme dosud používali, slouží pouze k zobrazení výsledků na terminálu, ale pomocí příkazu find můžeme provést některé akce. Můžeme také provádět nezbytné akce, jako je kopírování nebo mazání souboru.

Pro mazání souborů

Můžete snadno odstranit jakýkoli soubor nebo adresář jednoduchým použitím "-delete" pomocí příkazu find. Předpokládejme, že chcete odstranit všechny prázdné soubory v adresáři /Desktop, pak můžete použít následující příkaz:

find Desktop -type f -empty -delete

Provádění příkazů

Přepínač "-exec" se používá k provedení vlastního příkazu. S pomocí přepínače "-exec" můžete udělat hodně.

Pro kopírování všech souborů najednou můžete použít:

find ~ -type f -name '*.mp3' -exec cp {} ';'

Ve výše uvedeném příkazu používáme ";" zobrazit konec příkazu, který je uzavřen v uvozovkách. "{}" (závorky), které vidíte, se používají k definování umístění.

Nyní, když je nalezen odpovídající soubor podle zadaného, ​​je aktivován příkaz cp k přesunutí souborů z umístění.

Závěr

S pomocí příkazu find toho můžete udělat mnohem víc. Je to užitečné pro ty, kteří jsou zvyklí na Linux CLI (command-line-interface). Příkaz find je nabitý mnoha možnostmi, které vám pomohou provádět různé akce a dělat mnohem více. Existují také návody na příkazy pro přesun a kopírování v Linuxu, podívejte se na ně.


Linux
  1. Zvládněte příkaz Linux ls

  2. najdete příklady příkazů v Linuxu

  3. Průvodce linuxovým příkazem „Najít“.

  1. Najděte čas provedení příkazu nebo procesu v systému Linux

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

  3. Vyhledejte příkaz v Linuxu

  1. Příkaz pwd Linux

  2. Jak používat příkaz Linux cd ke změně adresáře

  3. Příkaz přesunutí adresáře pro Linux