28Jun

Ako nájsť súbory a priečinky v systéme Linux pomocou príkazového riadka

click fraud protection

Väčšina ľudí používa grafický správca súborov na vyhľadávanie súborov v systéme Linux, ako napríklad Nautilus v Gnome, Dolphin v KDE a Thunar v Xfce. Existuje však niekoľko spôsobov, ako môžete použiť príkazový riadok na vyhľadanie súborov v systéme Linux bez ohľadu na to, čo používate.

Pomocou príkazu Nájsť

Príkaz "nájsť" umožňuje vyhľadávať súbory, o ktorých poznáte približné názvy súborov. Najjednoduchšia forma príkazu vyhľadáva súbory v aktuálnom adresári a rekurzívne cez svoje podadresáre, ktoré zodpovedajú dodaným kritériám vyhľadávania. Môžete vyhľadávať súbory podľa mena, vlastníka, skupiny, typu, oprávnení, dátumu a ďalších kritérií.

Nasledovný príkaz na výzve obsahuje všetky súbory nachádzajúce sa v aktuálnom adresári.

nájsť.

Bodka po "find" označuje aktuálny adresár.

Ak chcete nájsť súbory, ktoré zodpovedajú určitému vzoru, použite argument -name. Môžete použiť metacharactery s názvami súborov( napríklad *), ale pred každým z nich by ste mali vložiť znak úniku( \) alebo ich obklopiť v úvodzovkách.

instagram viewer

Napríklad, ak chceme nájsť všetky súbory, ktoré začínajú "pro" v adresári Dokumenty, použijeme príkaz cd Documents / príkaz na zmenu adresára Dokumenty a potom napíšte nasledujúci príkaz: Nájdite

.-name pro \ *

Všetky súbory v aktuálnom adresári začínajúce "pro" sú uvedené.

POZNÁMKA: Príkaz find nájde predvolené rozlišovanie veľkých a malých písmen. Ak chcete, aby bolo hľadanie slova alebo frázy nepresné, použite voľbu -iname pomocou príkazu find. Je to prípustná verzia príkazu -name.

Ak nájdenie nenájde žiadne súbory zodpovedajúce vašim kritériám, nebude produkovať žiadny výstup.

Príkaz find má k dispozícii mnoho možností na vylepšenie vyhľadávania. Viac informácií o príkaze find nájdeme v terminálovom okne a stlačte kláves Enter.

Použitie príkazu Locate

Príkaz locate je rýchlejší ako príkaz find, pretože používa predtým vytvorenú databázu, zatiaľ čo príkaz find nájde v skutočnom systéme cez všetky aktuálne adresáre a súbory. Príkaz locate vráti zoznam všetkých názvov ciest obsahujúcich zadanú skupinu znakov.

Databáza sa pravidelne aktualizuje z cronu, ale môžete ju kedykoľvek aktualizovať sami, aby ste získali aktuálne výsledky. Ak to chcete urobiť, zadajte na výzvu nasledujúci príkaz:

sudo updatedb

Po výzve zadajte svoje heslo.

Základná forma príkazu locate nájde všetky súbory v súborovom systéme, počnúc koreňom, ktoré obsahujú všetky alebo všetky kritériá vyhľadávania.

nájsť mydata

Napríklad uvedený príkaz našiel dva súbory obsahujúce "mydata" a jeden súbor obsahujúci "dáta".

Ak chcete nájsť všetky súbory alebo adresáre, ktoré obsahujú presne a iba vaše kritériá vyhľadávania, použite voľbu -b spríkaz locate, ako je uvedené nižšie.

nájsť -b '\ mydata'

Spätné lomítko vo vyššie uvedenom príkaze je globching znak, ktorý poskytuje spôsob rozšírenia zástupných znakov v nešpecifickom názve súboru do súboru špecifických názvov súborov. Zástupná karta je symbol, ktorý môže byť pri výmene výrazu nahradený jedným alebo viacerými znakmi. Najbežnejšie znaky zástupných znakov sú otazník( ?), Ktorý označuje jeden znak a hviezdičku( *), ktorá označuje súvislý reťazec znakov. Vo vyššie uvedenom príklade spätné lomítko zakazuje implicitnú výmenu "mydata" za "* mydata *", takže skončíte len s výsledkami obsahujúcimi "mydata".

Príkaz mlocate je nová implementácia vyhľadávania. Indexuje celý systém súborov, ale výsledky vyhľadávania obsahujú iba súbory, ku ktorým má prístup aktuálny používateľ.Pri aktualizácii databázy mlocate uchováva informácie o časovej pečiatke v databáze. To umožňuje spoločnosti mlocate vedieť, či sa obsah adresára zmenil bez opätovného čítania obsahu a rýchle a menej náročné aktualizácie databázy na vašom pevnom disku.

Keď nainštalujete modul mlocate, nájde sa binárny súbor /usr/bin/, ktorý sa zmení na bodovanie. Ak chcete nainštalovať mlocate, ak ešte nie je súčasťou distribúcie Linuxu, zadajte na výzvu nasledujúci príkaz.

sudo apt-get install mlocate

POZNÁMKA: Ukážeme vám príkaz neskôr v tomto článku, ktorý vám umožní zistiť, kde sa nachádza spustiteľný príkaz pre daný príkaz, ak existuje.

Príkaz mlocate nepoužíva rovnaký databázový súbor ako štandardný príkaz na vyhľadanie. Preto možno budete chcieť vytvoriť databázu ručne zadaním nasledujúceho príkazu na výzvu:

sudo /etc/cron.daily/ mlocate

Príkaz mlocate nebude fungovať, kým databáza nebude vytvorená buď manuálne, alebo keď bude skript spustený z cron.

Ak chcete získať ďalšie informácie o príkaze locate alebo mlocate, napíšte man locate alebo man mlocate v okne Terminal a stlačte Enter. Na oboch príkazoch sa zobrazí tá istá pomocná obrazovka.

Použitie príkazu

Príkaz "ktorý" vráti absolútnu cestu spustiteľného súboru, ktorá sa volá pri príkaze príkazu. To je užitočné pri hľadaní umiestnenia spustiteľného súboru na vytvorenie skratky pre program na pracovnej ploche, na paneli alebo na inom mieste v manažérovi stolných počítačov. Napríklad napíšte príkaz, ktorý firefox zobrazí výsledky zobrazené na obrázku nižšie.

V predvolenom nastavení príkaz zobrazí len prvý spustiteľný súbor. Ak chcete zobraziť všetky zodpovedajúce spustiteľné súbory, použite voľbu -a pomocou príkazu:

, ktorý -a firefox

Môžete hľadať viacero spustiteľných súborov naraz, ako je znázornené na nasledujúcom obrázku. Zobrazia sa iba cesty k spustiteľným súborom. V nižšie uvedenom príklade bol nájdený iba spustiteľný súbor "ps".

POZNÁMKA: Príkaz, ktorý vyhľadáva iba premennú PATH aktuálneho používateľa. Ak hľadáte spustiteľný súbor, ktorý je k dispozícii len pre používateľa root ako bežného používateľa, nebudú sa zobrazovať žiadne výsledky.

Ďalšie informácie o tom, ktorý príkaz zadajte do príkazového riadka v okne Terminál a stlačte kláves Enter.

Použitie príkazu Whereis

Príkaz whereis sa používa na zistenie, kde sa nachádzajú súbory binárnych, zdrojových a manuálových stránok pre príkaz. Napríklad zadaním príkazu firefox na výzvu sa zobrazia výsledky, ako je znázornené na nasledujúcom obrázku.

Ak chcete zobraziť iba cestu k spustiteľnému súboru, a nie cestu k zdrojovému a manuálovému stránkam, použite voľbu -b. Napríklad príkaz whereis -b firefox zobrazí ako výsledok iba /usr/bin/ firefox. Je to užitočné, pretože budete s najväčšou pravdepodobnosťou vyhľadávať spustiteľný súbor programu častejšie, než by ste hľadali zdrojové a manové stránky pre daný program. Môžete tiež vyhľadávať iba zdrojové súbory( -s) alebo iba stránky man( -m).

Ďalšie informácie o príkazu whereis zadajte príkaz man whereis v okne Terminal a stlačte kláves Enter.

Pochopenie rozdielu medzi príkazom Whereis a ktorým príkazom

Príkaz whereis zobrazuje umiestnenie binárnych, zdrojových a manuálových stránok pre príkaz, zatiaľ čo príkaz, ktorý zobrazuje iba umiestnenie binárneho príkazu.

Príkaz whereis vyhľadáva zoznam konkrétnych adresárov pre binárne, zdrojové a manové súbory, zatiaľ čo príkaz vyhľadáva adresáre uvedené v premennej prostredia PATH aktuálneho používateľa. Príkaz whereis obsahuje zoznam konkrétnych adresárov v sekcii SÚBKY na manuálových stránkach príkazu.

Pokiaľ ide o predvolene zobrazené výsledky, príkaz kdeis zobrazí všetko, čo nájde, pričom príkaz, ktorý zobrazuje iba prvý spustiteľný súbor, nájde. Môžete to zmeniť pomocou možnosti -a, o ktorej ste už hovorili, pre ktorý príkaz.

Pretože príkaz whois používa iba príkazy, ktoré sú pevne zakódované, nemusí vždy nájsť to, čo hľadáte. Ak hľadáte program, ktorý si možno myslíte, že by mohol byť nainštalovaný v adresári, ktorý nie je uvedený v manuálových stránkach pre príkaz whereis, možno budete chcieť použiť príkaz s voľbou -a na vyhľadanie všetkých výskytov príkazu v celom systéme.