Väčšina populárnych správcov súborov pre operačné systémy v jadre Linuxu má pomerne funkčný vyhľadávací nástroj. Parametre, ktoré nie sú vždy prítomné, však postačujú na to, aby užívateľ mohol vyhľadať potrebné informácie. V tomto prípade dôjde k záchrane štandardného nástroja, ktorý beží cez terminál . To vám umožní ľahko nájsť požadované údaje v konkrétnom adresári alebo v celom systéme zadaním príkazu, argument a možnosť.
obsah
Príkaz find je určený na vyhľadávanie rôznych objektov, vrátane súborov všetkých formátov a adresárov rôznych hĺbok. Užívateľ je povinný zadať iba samotný príkaz, zadať požadovanú hodnotu a priradiť argumenty na nastavenie parametrov filtrovania. Vykonávanie postupu samotným obslužným programom zvyčajne netrvá veľa času, ale závisí aj od množstva naskenovaných informácií. Poďme sa pozrieť na príklady použitia nájsť podrobnejšie.
Na začiatok by som sa chcel trochu vrátiť z hlavného tímu a dotknúť sa témy ďalších akcií, ktoré v budúcnosti pomôžu pri riadení z konzoly. Faktom je, že nástroje v distribúciách Linuxu nie sú zaostrené vyhľadávaním všetkých položiek v počítači. Všetky procesy by sa mali spúšťať len s plným umiestnením prvkov alebo prejsť na miesto pomocou príkazu cd . Dá sa to urobiť celkom jednoducho:
cd /home/user/folder
príkaz cd /home/user/folder
, kde užívateľ je názov domovského priečinka používateľa a priečinok je názov požadovaného adresára. Ak pred použitím príkazu find na vykonanie vyššie uvedených pokynov môžete vynechať úplnú cestu k súboru za predpokladu, že sa nachádza vo vybratom umiestnení. Takéto riešenie výrazne urýchli vstupné príkazy v budúcnosti.
Keď spustíte find
z konzoly, ktorú ste práve spustili, výsledok vyhľadávania sa zobrazí vo vašom domovskom adresári aktívneho používateľa. V inom prípade, napríklad keď aktivujete počas vyhľadávania podľa umiestnenia, vo výsledkoch uvidíte všetky podpriečinky a súbory tohto miesta, ktoré sa v nich nachádzajú.
Aktivácia vyhľadávania bez argumentov a volieb sa používa vtedy, keď potrebujete zobraziť všetky položky naraz. Ak sa ich meno úplne nezmestí do reťazcov, stojí za to zmeniť príkaz tak, aby našiel formulár find . -print
find . -print
.
Príkaz na zobrazenie súborov cez danú cestu je takmer rovnaký ako príkaz uvedený vyššie. Mali by ste tiež zadať find
a potom pridať ./folder
ak sa chcete dozvedieť o adresári v aktuálnom umiestnení, alebo musíte zadať úplnú cestu napísaním, napríklad find ./home/user/downloads/folder
, kde je priečinok adresár Každý prvok sa zobrazí v samostatných riadkoch v poradí podľa ich hĺbky.
Niekedy je potrebné zobraziť iba objekty, ktoré spĺňajú názov. Potom musí užívateľ nastaviť pre príkaz samostatnú možnosť, aby rozumel výzve. Vstupný riadok má formu: find .
-meno "slovo", kde slovo je kľúčové slovo vyhľadávania, ktoré musí byť napísané v dvojitých úvodzovkách a citlivé na veľkosť písmen pre každý znak.
Ak nepoznáte presný prípad každého písmena, alebo ak chcete zobraziť všetky zodpovedajúce mená bez toho, aby ste tento parameter zohľadnili, zadajte do konzoly vyhľadávač find . -iname "word"
find . -iname "word"
.
Ak chcete filtrovať výsledky podľa kľúčového slova, do argumentu -name sa pridá ešte jedno. Príkaz má find . -not -name "word"
formulár find . -not -name "word"
find . -not -name "word"
, kde slovo je slovo, ktoré sa má vymazať.
Niekedy je potrebné nájsť objekty jedným kľúčom a zároveň vylúčiť ostatné. Potom je priradených niekoľko možností vyhľadávania a vstupný riadok je nasledujúci: find . -name "word" -not name "*.txt"
find . -name "word" -not name "*.txt"
. Vezmite prosím na vedomie, že druhý argument v úvodzovkách označuje „ * .txt“ , čo znamená, že vyhľadávanie funguje nielen s menami, ale aj s formátmi súborov, ktoré sú špecifikované v tomto formulári.
K dispozícii je tiež operátor OR . To vám umožní nájsť jeden alebo niekoľko vhodných argumentov naraz. Každý je špecifikovaný samostatne, s pridaním zodpovedajúcich argumentov. Výsledkom je niečo ako: find -name "word" -o -name "word1"
.
Príkaz find pomôže užívateľovi aj vtedy, keď potrebuje nájsť obsah adresárov iba v zadanej hĺbke, napríklad v treťom podadresári sa analýza nevyžaduje. Ak chcete nastaviť tieto limity, zadajte príkaz find . -maxdepth N -name "word"
find . -maxdepth N -name "word"
, kde N je maximálna hĺbka, a -meno "slovo" je každý nasledujúci argument.
V mnohých adresároch je niekoľko priečinkov s rôznym obsahom. Ak je ich veľký počet a vyhľadávanie je potrebné vykonať iba v niektorých, potom je potrebné zadať toto pri zadávaní find ./folder ./folder1 -type f -name "word"
a - názov "slovo" - zostávajúce argumenty.
Bez zodpovedajúceho argumentu sa skryté objekty v naskenovaných adresároch v konzole nezobrazia. Preto užívateľ manuálne zadá ďalšiu možnosť, aby skončil s príkazom: find ~ -type f -name ".*"
. Dostanete kompletný zoznam všetkých súborov, ale ak niektoré z nich nie sú prístupné, napíšte sudo
do riadku pred slovom, aby ste aktivovali práva superuživatela.
Každý užívateľ môže vytvoriť neobmedzený počet adresárov a objektov na rôznych miestach. Najrýchlejší spôsob, ako nájsť informácie, ktoré patria jednému z užívateľov, pomocou príkazu find a jedného z jeho argumentov. V zozname "Terminal" find . -user username
find . -user username
, kde username je užívateľské meno. Po zadaní sa skenovanie spustí automaticky.
Približne rovnaká schéma funguje so skupinami používateľov. Analýza súborov spojených s jednou zo skupín je find /var/www -group groupname
cez find /var/www -group groupname
. Nezabudnite, že tam môže byť veľký počet objektov a niekedy to trvá dlho, než ich všetky výstupy.
Operačný systém automaticky uloží dátum zmeny každého existujúceho súboru. Príkaz find vám umožňuje nájsť všetky z nich zadaným parametrom. Musíte len zaregistrovať sudo find / -mtime N
, kde N je počet dní, kedy bol objekt naposledy upravený. Prefix sudo je tu potrebný na získanie údajov o súboroch určených len pre superuser.
Ak máte záujem o prezeranie položiek, ktoré naposledy otvorili určitý počet dní, riadok zmení svoj vzhľad trochu na sudo find / -atime N
Každý objekt má svoju vlastnú veľkosť, resp. Príkaz na vyhľadávanie súborov musí mať funkciu, ktorá vám umožní filtrovať ich pomocou tohto parametra. nájsť je schopný to urobiť, užívateľ potrebuje len nastaviť veľkosť argumentom. Jednoducho zadajte find / -size N
, kde N je objem v bytoch, megabajtoch (M) alebo gigabajtoch (G).
Môžete zadať rozsah požadovaných položiek. Potom sa kvalifikátory zmestia do príkazu a dostanete napríklad nasledujúci riadok: find / -size +500M -size -1000M
. Táto analýza zobrazí súbory viac ako 500 megabajtov, ale menej ako 1000.
Niektoré súbory alebo priečinky sú prázdne. Jednoducho zaberajú viac miesta na disku a niekedy narúšajú normálnu interakciu s počítačom. Mali by byť nájdené, aby sa rozhodlo o ďalších akciách, a find /folder -type f -empty
s tým pomôže, kde / folder je miesto, kde sa skenovanie vykonáva.
Samostatne by som rád stručne spomenul ďalšie užitočné argumenty, ktoré sa z času na čas stávajú užitočnými pre používateľa:
-mount
- obmedzenie len na aktuálny súborový systém; -type f
- zobrazovať iba súbory; -type d
- zobraziť iba adresáre; -nogroup
, -nouser
- vyhľadá súbory, ktoré nepatria do žiadnej skupiny alebo nepatria používateľovi; -version
- zistiť verziu používaného nástroja. Na základe tejto znalosti je príkaz na nájdenie kompletný. Ak chcete podrobne študovať ďalšie štandardné konzolové nástroje operačných systémov v jadre Linuxu, odporúčame vám, aby ste sa obrátili na náš samostatný materiál na nasledujúcom odkaze.
Ďalšie podrobnosti: Často používané príkazy v termináli Linuxu
Po vyhľadaní požadovaných informácií môžete s nimi vykonávať akékoľvek iné činnosti, napríklad upravovať, mazať alebo študovať obsah. To pomôže ostatným vstavaným nástrojom "Terminal" . Príklady ich použitia sú uvedené nižšie.