Při práci v libovolném operačním systému někdy potřebují nástroje pro rychlé nalezení souboru. Ve skutečnosti je to pro Linux, takže všechny možné způsoby hledání souborů v tomto OS budou diskutovány níže. Zastoupeny budou jak nástroje pro správu souborů, tak příkazy použité v "Terminálu" .
Čtěte také:
Přejmenujte soubory v systému Linux
Vytvořte a odstraňte soubory v systému Linux
Obsah
Pokud potřebujete zadat mnoho vyhledávacích parametrů pro nalezení požadovaného souboru, pak je příkaz find nenahraditelný. Než uvažujete o všech svých variacích, stojí za to projít syntaxou a možnostmi. Syntaxe je následující:
find путь опция
kde cesta je adresář, ve kterém se vyhledávání objeví. Existují tři základní cesty k zadání cesty:
Také můžete zadat cestu přímo do adresáře, kde má být soubor umístěn.
Existuje mnoho možností, jak najít , a díky nim můžete provést flexibilní konfiguraci vyhledávání zadáním potřebných proměnných:
Existuje také mnoho typů požadovaných prvků. Zde je jejich seznam:
Po podrobném rozboru syntaxe a možností příkazu find můžete přejít přímo na ilustrativní příklady. Vzhledem k velkému množství možností použití příkazu nejsou příklady uvedeny pro všechny proměnné, ale pouze pro ty nejpoužívanější.
Čtěte také: Populární příkazy v "Terminálu" Linux
Nejčastěji uživatelé používají volbu -name pro vyhledávání v systému, a tak začneme s ním. Podívejme se na několik příkladů.
Vyhledávání podle rozšíření
Řekněme, že musíte najít v systému soubor s příponou ".xlsx" , která je umístěna v adresáři "Dropbox" . Chcete-li to provést, použijte následující příkaz:
find /home/user/Dropbox -name "*.xlsx" -print
Z jeho syntaxe lze říci, že vyhledávání se provádí v adresáři "Dropbox" ( "/ home / user / Dropbox" ) a požadovaný objekt by měl mít příponu ".xlsx" . Hvězdička označuje, že vyhledávání bude provedeno ve všech souborech této pobočky, aniž by bylo zohledněno jejich jméno. "-print" označuje, že se zobrazí výsledky vyhledávání.
Příklad:
Vyhledávání podle názvu souboru
Například chcete vyhledat adresář "/ home" pro soubor s názvem " {$lang_domain} " , Ale jeho rozšíření není známo. V takovém případě je třeba provést následující:
find ~ -name " *" -print
{$lang_domain} find ~ -name " *" -print
Jak vidíte, zde se používá symbol "~" , což znamená, že vyhledávání se uskuteční v domovském adresáři. Po volbě "-name" se název vyhledávacího souboru ( " {$lang_domain} * ). Hvězdička nakonec znamená, že hledání bude procházet pouze jménem, aniž by se jednalo o rozšíření.
Příklad:
Vyhledávání podle prvního písmena v názvu
Pokud si pamatujete pouze první písmeno, ze kterého název souboru začíná, existuje speciální syntaxe příkazu, která vám to pomůže najít. Například chcete najít soubor začínající písmenem "g" na "l" a nevíte, který adresář je v něm. Potom musíte spustit následující příkaz:
find / -name "[gl]*" -print
Při posuzování podle symbolu "/", který se nachází hned za hlavním příkazem, bude hledání provedeno od kořenového adresáře, tj. V celém systému. Dále část "[gl] *" znamená, že vyhledávací slovo bude začínat určitým písmenem. V našem případě z "g" na "l" .
Mimochodem, pokud znáte příponu souboru, můžete ji zadat za symbolem "*" . Například musíte najít stejný soubor, ale víte, že má příponu ".odt" . Potom můžete použít tento příkaz:
find / -name "[gl]*.odt" -print
Příklad:
Někdy potřebujete najít objekt, jehož jméno neznáte, ale víte, jaký přístupový režim má. Potom musíte použít volbu "-perm" .
Chcete-li ji použít, je to poměrně jednoduché, stačí zadat umístění vyhledávání a přístupový režim. Zde je příklad takového příkazu:
find ~ -perm 775 -print
To znamená, že vyhledávání se provádí v domovské části a vyhledávací objekty budou mít přístup 775 . Také můžete před tímto číslem napsat znak "-", pak nalezené objekty budou mít bity oprávnění od nuly k zadané hodnotě.
V každém operačním systému existují uživatelé a skupiny. Pokud chcete najít objekt patřící do jedné z těchto kategorií, můžete použít volbu "-user" nebo "-group" .
Vyhledejte soubor podle jeho uživatelského jména
Například musíte najít soubor "Lampics " v adresáři "Dropbox" , ale nevíte, co se říká, ale víte, že patří uživateli . Potom musíte spustit následující příkaz:
find /home/user/Dropbox -user user -print
V tomto příkazu jste zadali potřebný adresář ( / home / user / Dropbox ), označili, že chcete vyhledat soubor, který patří uživateli ( -user ), a označili, kterému uživateli tento soubor patří ( uživatel ).
Příklad:
Čtěte také:
Jak zobrazit seznam uživatelů v systému Linux
Jak přidat uživatele do skupiny v systému Linux
Vyhledejte soubor podle jména jeho skupiny
Hledání souboru, který patří do určité skupiny, je stejně snadné - stačí nahradit možnost "-user" možností "-group" a zadat název této skupiny:
find / -groupe guest -print
To znamená, že jste uvedli, že chcete najít soubor v systému, který patří do skupiny "host" . Vyhledávání se uskuteční v celém systému, jak je naznačeno symbolem "/" .
Vyhledání prvku v Linuxu určitého typu je poměrně jednoduché, stačí specifikovat příslušnou volbu ( typ ) a označit typ. Na začátku článku byly uvedeny všechny typové označení, které lze použít pro vyhledávání.
Chcete například najít všechny blokové soubory v domovském adresáři. V takovém případě bude váš tým vypadat takto:
find ~ -type b -print
Podle toho jste uvedli, že vyhledáváte podle typu souboru, jak je naznačeno volbou "-type" , a pak definujete jeho typ vložením symbolu blokového souboru - "b" .
Příklad:
Podobně můžete zobrazit všechny adresáře v požadovaném adresáři zadáním symbolu "d" do příkazu:
find /home/user -type d -print
Pokud znáte pouze jeho velikost ze všech informací o souboru, pak to dokonce může stačit k nalezení. Pokud například chcete v určitém adresáři najít soubor o velikosti 120 MB, proveďte následující kroky:
find /home/user/Dropbox -size 120M -print
Příklad:
Čtěte také: Jak znát velikost složky v systému Linux
Jak můžete vidět, soubor, který potřebujeme, byl nalezen. Pokud však nevíte, který adresář je, můžete vyhledávat celý systém zadáním kořenového adresáře na začátku příkazu:
find / -size 120M -print
Příklad:
Pokud znáte velikost souboru přibližně, pak pro tento případ existuje speciální příkaz. Potřebujete napsat stejný text v "Terminálu" , těsně před zadáním velikosti souboru, vložte znak "-" (pokud potřebujete najít soubory menší než zadaná velikost) nebo "+" (pokud velikost souboru překračuje zadanou velikost). Zde je příklad takového příkazu:
find /home/user/Dropbox +100M -print
Příklad:
Existují případy, kdy je nejvhodnější vyhledat soubor podle data jeho úpravy. V Linuxu se pro tuto možnost používá volba -mtime . Použití je poměrně jednoduché, všechno budeme považovat za příklad.
Například ve složce Obrázky musíme najít objekty, které byly upraveny posledních 15 dní. Zde je třeba se zaregistrovat do "Terminálu" :
find /home/user/Изображения -mtime -15 -print
Příklad:
Jak vidíte, tato možnost zobrazuje nejen soubory, které se změnily v určeném období, ale také složky. Pracuje také v opačném směru - objekty, které byly po uplynutí stanovené doby změněny. Chcete-li to provést, zadejte znak "+" před číselnou hodnotou:
find /home/user/Изображения -mtime +10 -print
Grafické rozhraní velmi usnadňuje život nově příchozích, kteří právě nainstalovali distribuci Linuxu. Tato metoda vyhledávání je velmi podobná metodě, která je implementována ve Windows, ačkoli nemůže poskytnout všechny výhody, které Terminal nabízí. Ale o všechno v pořádku. Podívejme se tedy na to, jak vyhledávat soubory v systému Linux pomocí grafického rozhraní systému.
Nyní se podíváme, jak najít soubory prostřednictvím systému Linux. Provedené akce budou provedeny v distribuci Ubuntu 16.04 LTS, nicméně instrukce je pro všechny společná.
Čtěte také: Jak zjistit verzi distribuce systému Linux
Řekněme, že musíte najít soubory pod názvem "Najít" v systému, také tyto soubory v systému jsou dva: jeden ve formátu ".txt" a druhý - ".odt" . Chcete-li je najít, musíte nejprve kliknout na ikonu nabídky (1) a ve speciálním poli pro zadání (2) zadejte vyhledávací dotaz "Najít mě" .
Zobrazí se výsledek vyhledávání, ve kterém budou zobrazeny hledané soubory.
Pokud by však systém měl mnoho takových souborů a všechny se lišily v rozšířeních, hledání by se stalo složitějším. Chcete-li vyloučit zbytečné soubory, například programy, na výstupu výsledků, je nejlepší použít filtr.
Nachází se na pravé straně nabídky. Můžete filtrovat podle dvou kritérií: "Kategorie" a "Zdroje" . Rozbalte tyto dva seznamy klepnutím na šipku vedle názvu a výběrem odstraňte z nepotřebných položek v nabídce. V tomto případě bude rozumnější ponechat pouze vyhledávání souborů a složek , protože hledáme soubory.
Okamžitě můžete zaznamenat nevýhodu této metody - filtr nelze vyladit, jako v "Terminálu" . Takže pokud hledáte textový dokument s názvem, můžete na výstupu zobrazit obrázky, složky, archivy apod. Ale pokud znáte přesný název požadovaného souboru, můžete ho rychle najít, aniž byste se dozvěděli o mnoha způsobech příkazu "najít" " .
Druhá metoda má významnou výhodu. Pomocí nástroje Správce souborů můžete vyhledat v zadaném adresáři.
Tato operace je velmi snadná. V správci souborů, v našem případě Nautilus, musíte zadat složku, kde má být požadovaný soubor umístěn, a klikněte na tlačítko "Hledat" umístěné v pravém horním rohu okna.
Ve vstupním poli, které se zobrazí, musíte zadat očekávaný název souboru. Také nezapomeňte, že vyhledávání nemůže být provedeno celým názvem souboru, ale pouze jeho částí, jak je uvedeno v následujícím příkladu.
Stejně jako v předchozí metodě můžete použít filtr stejným způsobem. Chcete-li jej otevřít, klikněte na tlačítko se znaménkem "+" umístěným na pravé straně vyhledávacího pole. Otevře se podnabídka, ve které můžete vybrat typ souboru z rozevíracího seznamu.
Z výše uvedených skutečností lze konstatovat, že pro rychlé vyhledávání v systému je druhá cesta založená na použití grafického rozhraní dokonalá. Pokud potřebujete zadat mnoho parametrů vyhledávání, příkaz find bude v "Terminálu" nenahraditelný.