Většina populárních správců souborů pro operační systémy v jádře Linuxu má poměrně funkční vyhledávací nástroj. Parametry, které nejsou vždy přítomny, jsou však dostatečné pro to, aby uživatel mohl vyhledat potřebné informace. V tomto případě dojde k záchraně standardního nástroje, který běží přes terminál . To vám umožní snadno najít požadovaná data ve specifickém adresáři nebo v celém systému zadáním příkazu, argumentu a volby.
Obsah
Příkaz find je určen k vyhledávání různých objektů, včetně souborů všech formátů a adresářů různých hloubek. Uživatel je povinen zadat pouze příkaz sám, zadat požadovanou hodnotu a přiřadit parametry pro nastavení parametrů filtrování. Provádění postupu samotným obslužným programem obvykle netrvá dlouho, ale závisí také na množství naskenovaných informací. Podívejme se nyní na příklady použití podrobněji.
Pro začátek bych chtěl trochu ustoupit od hlavního týmu a dotknout se tématu dalších akcí, které pomohou v budoucnu při řízení z konzoly. Faktem je, že nástroje v distribucích Linuxu nejsou naostřeny vyhledáváním všech položek v počítači. Všechny procesy by měly být spuštěny pouze s plným umístěním prvků nebo přejdou na místo pomocí příkazu cd . To lze provést poměrně snadno:
cd /home/user/folder
, kde uživatel je jméno domovské složky uživatele a složka je název požadovaného adresáře. Pokud před použitím příkazu Find provedete výše uvedené pokyny, můžete vynechat úplnou cestu k souboru za předpokladu, že je ve vybraném umístění. Takové řešení významně urychlí vstupní příkazy v budoucnu.
Když spustíte find
z konzoly, kterou jste právě spustili, dostanete výsledek vyhledávání do domovského adresáře aktivního uživatele. V jiném případě, například když aktivujete během vyhledávání podle místa, ve výsledcích uvidíte všechny podsložky a soubory tohoto místa, které se v nich nachází.
Aktivace hledání bez argumentů a možností se používá, když potřebujete zobrazit všechny položky najednou. Pokud se jejich jméno nevejde do řetězců, stojí za to změnit příkaz tak, aby našel formulář find . -print
find . -print
.
Příkaz k zobrazení souborů přes danou cestu je téměř stejný jako ten, který jsme uvedli výše. Měli byste také určit find
a poté přidat ./folder
pokud se chcete dozvědět o adresáři v aktuálním umístění, nebo musíte zadat úplnou cestu zadáním, například, find ./home/user/downloads/folder
, kde je složka adresář Jednotlivé prvky budou zobrazeny v samostatných řádcích v pořadí jejich hloubky.
Někdy je potřeba zobrazit pouze objekty, které tento název splňují. Poté musí uživatel nastavit samostatnou volbu pro příkaz, aby porozuměl odvolání. Vstupní řádek má tvar: find .
-meno "slovo", kde slovo je vyhledávací klíčové slovo, které musí být napsáno ve dvojitých uvozovkách a rozlišuje velká a malá písmena pro každý znak.
Pokud neznáte přesný případ každého dopisu, nebo chcete-li zobrazit všechny odpovídající názvy, aniž byste tento parametr vzali v úvahu, zadejte do konzoly příkaz find . -iname "word"
find . -iname "word"
.
Chcete-li výsledky filtrovat podle klíčového slova, přidá se do argumentu -name ještě jedno . Příkaz find . -not -name "word"
formulář find . -not -name "word"
find . -not -name "word"
, kde slovo je slovo, které má být vymazáno.
Někdy je třeba najít objekty jedním klíčem a zároveň vyloučit ostatní. Následně je přiřazeno několik možností vyhledávání a vstupní řádek je následující: find . -name "word" -not name "*.txt"
find . -name "word" -not name "*.txt"
. Vezměte prosím na vědomí, že druhý argument v uvozovkách označuje „ * .txt“ , což znamená, že hledání funguje nejen s názvy, ale také s formáty souborů, které jsou uvedeny v tomto formuláři.
Existuje operátor OR . To vám umožní najít jeden nebo několik vhodných argumentů najednou. Každý je specifikován samostatně, s přidáním odpovídajících argumentů. Výsledkem je něco jako: find -name "word" -o -name "word1"
.
Příkaz find pomůže uživateli, i když potřebuje najít obsah adresářů pouze do zadané hloubky, například analýza není vyžadována uvnitř třetí podsložky. Chcete-li tyto limity nastavit, zadejte příkaz find . -maxdepth N -name "word"
find . -maxdepth N -name "word"
, kde N je maximální hloubka a -jméno "slovo" je každý následující argument.
V mnoha adresářích je několik složek s různým obsahem. Je-li jich velký počet a hledání musí být provedeno pouze v určitých případech, je nutné toto zadat při zadávání find ./folder ./folder1 -type f -name "word"
a - jméno "slovo" - zbývající argumenty.
Bez odpovídajícího argumentu nebudou skryté objekty v naskenovaných adresářích zobrazeny v konzole. Proto uživatel ručně zadá další možnost, která skončí příkazem: find ~ -type f -name ".*"
. Obdržíte kompletní seznam všech souborů, ale pokud některé z nich nejsou přístupné, zadejte do řádku sudo
než slovo najde a aktivuje práva superuživatele.
Každý uživatel může vytvořit neomezený počet adresářů a objektů na různých místech. Nejrychlejší způsob, jak najít informace, které patří jednomu z uživatelů, pomocí příkazu find a jednoho z jeho argumentů. V seznamu "Terminál" find . -user username
find . -user username
, kde username je uživatelské jméno. Po zadání skenování se automaticky spustí.
Přibližně stejné schéma pracuje se skupinami uživatelů. Analýza souborů spojených s jednou ze skupin je find /var/www -group groupname
přes find /var/www -group groupname
. Nezapomeňte, že tam může být velké množství objektů a někdy to trvá dlouho, než je všechny výstupy.
Operační systém automaticky uloží datum změny každého existujícího souboru. Příkaz find umožňuje vyhledat všechny podle zadaného parametru. Musíte pouze zaregistrovat sudo find / -mtime N
, kde N je počet dní, kdy byl objekt naposledy upraven. Předpona sudo je nutná pro získání dat o souborech určených pouze pro superuživatele.
Máte-li zájem o zobrazení položek, které naposledy otevřely určitý počet dní, pak linka změní svůj vzhled na sudo find / -atime N
Každý objekt má svou vlastní velikost, resp. Příkaz k hledání souborů musí mít funkci, která umožňuje filtrovat je tímto parametrem. Najít je schopen to udělat, uživatel potřebuje pouze nastavit velikost podle argumentu. Jednoduše zadejte find / -size N
, kde N je objem v bytech, megabajtech (M) nebo gigabajtech (G).
Můžete zadat rozsah požadovaných položek. Pak se kvalifikátory vejdou do příkazu a dostanete například následující řádek: find / -size +500M -size -1000M
. Tato analýza zobrazí soubory větší než 500 megabajtů, ale menší než 1000.
Některé soubory nebo složky jsou prázdné. Prostě zabírají více místa na disku a někdy ruší normální interakci s počítačem. Měly by být nalezeny, aby se rozhodly o dalších akcích, a find /folder -type f -empty
tím pomůže, kde / folder je místo, kde se provádí skenování.
Samostatně bych chtěl stručně zmínit další užitečné argumenty, které se čas od času stanou pro uživatele užitečnými:
-mount
- omezení pouze na aktuální souborový systém; -type f
- zobrazovat pouze soubory; -type d
- zobrazit pouze adresáře; -nogroup
, -nouser
- hledání souborů, které nepatří do žádné skupiny, nebo nepatří uživateli; -version
- zjistit verzi používaného nástroje. Na základě této znalosti je příkaz find kompletní. Chcete-li podrobně prostudovat další standardní nástroje konzoly operačních systémů v jádře Linuxu, doporučujeme vám odkazovat na náš samostatný materiál na následujícím odkazu.
Další podrobnosti: Často používané příkazy v terminálu Linuxu
Po vyhledání požadovaných informací můžete s nimi provádět další akce, například úpravy, mazání nebo studium obsahu. To pomůže dalším vestavěným nástrojům "Terminal" . Příklady jejich použití jsou uvedeny níže.