28Jun

Jak najít soubory a složky v systému Linux pomocí příkazového řádku

click fraud protection

Většina lidí používá grafického správce souborů k nalezení souborů v Linuxu, například Nautilus v Gnome, Dolphin v KDE a Thunar v Xfce. Existuje však několik způsobů, jak použít příkazový řádek k nalezení souborů v systému Linux bez ohledu na to, jaký správce systému používáte.

Použití příkazu Find

Příkaz "find" vám umožňuje vyhledat soubory, o kterých znáte přibližné názvy souborů.Nejjednodušší forma příkazu vyhledává soubory v aktuálním adresáři a rekurzivně prostřednictvím svých podadresářů, které odpovídají zadaným kritériím vyhledávání.Můžete vyhledat soubory podle jména, vlastníka, skupiny, typu, oprávnění, data a dalších kritérií.

Zadáním následujícího příkazu do výzvy jsou uvedeny všechny soubory nalezené v aktuálním adresáři.

najít.

Bod po "find" označuje aktuální adresář.

Chcete-li najít soubory, které odpovídají určitému vzoru, použijte argument -name. Můžete použít metacharactery s názvy souborů( například *), ale před každým z nich zadejte znak útěku( \) nebo je vložte do uvozovek.

instagram viewer

Například pokud chceme najít všechny soubory, které začínají "pro" v adresáři Dokumenty, použijeme příkaz cd Documents / příkaz pro změnu adresáře Dokumenty a zadejte následující příkaz:

find.-name pro \ *

Všechny soubory v aktuálním adresáři začínající "pro" jsou uvedeny.

POZNÁMKA: Příkaz find je výchozím nastavením rozlišování malých a velkých písmen. Pokud chcete, aby hledání slova nebo fráze nebylo citlivé na velikost písmen, použijte volbu -iname pomocí příkazu find. Jedná se o případ necitlivý na velikost příkazu -name.

Pokud hledání nenajde žádné soubory odpovídající vašim kritériím, nebude produkovat žádný výstup.

Příkaz find má k dispozici mnoho možností pro vylepšení vyhledávání.Další informace o příkazu find najděte v okně Terminál a klikněte na tlačítko Enter.

Pomocí příkazu Locate

Příkaz locate je rychlejší než příkaz find, protože používá dříve vytvořenou databázi, zatímco příkaz find najde v reálném systému prostřednictvím všech aktuálních adresářů a souborů.Příkaz locate vrátí seznam všech názvů cest obsahujících zadanou skupinu znaků.

Databáze se pravidelně aktualizuje z cronu, ale můžete ho také kdykoli aktualizovat, abyste získali aktuální výsledky. Chcete-li to provést, zadejte na výzvu následující příkaz:

sudo updatedb

Po zobrazení výzvy zadejte heslo.

Základní forma příkazu locate najde všechny soubory v systému souborů od kořenového adresáře, které obsahují celou nebo část kritérií vyhledávání.

vyhledejte mydata

Například výše uvedený příkaz našel dva soubory obsahující "mydata" a jeden soubor obsahující "data."

Pokud chcete najít všechny soubory nebo adresáře, které obsahují přesně a pouze vaše kritéria hledání, použijte volbu -b spříkaz locate následujícím způsobem.

lokalizovat -b '\ mydata'

Zpětné lomítko ve výše uvedeném příkazu je znak globule, který poskytuje způsob rozšíření zástupných znaků v nešpecifickém názvu souboru na soubor specifických názvů souborů.Zástupná karta je symbol, který může být nahrazen jedním nebo více znaky při vyhodnocování výrazu. Nejběžnější znaky zástupných znaků jsou otazník( ?), Který označuje jeden znak a hvězdičku( *), která označuje souvislý řetězec znaků.Ve výše uvedeném příkladu zpětné lomítko zakazuje implicitní nahrazení "mydata" "* mydata *", takže skončíte pouze s výsledky obsahujícími "mydata".

Příkaz mlocate je novou implementací lokalizace. Indexuje celý systém souborů, ale výsledky vyhledávání obsahují pouze soubory, ke kterým má přístup aktuální uživatel. Při aktualizaci databáze mlocate uchovává informace o časové značce v databázi. To umožňuje mlocate vědět, zda se obsah adresáře změnil bez přečtení obsahu a aktualizací databáze rychleji a méně náročně na pevný disk.

Při instalaci mlocate se objeví binární soubor /usr/bin/, který ukazuje na hodnotu mlocate. Chcete-li nainstalovat mlocate, pokud není již součástí distribuce Linux, zadejte na výzvu následující příkaz.

sudo apt-get install mlocate

POZNÁMKA: V tomto článku vám ukážeme příkaz později, který vám umožní zjistit, kde je umístěn spustitelný příkaz pro příkaz, pokud existuje.

Příkaz mlocate nepoužívá stejný databázový soubor jako standardní příkaz find. Proto můžete vytvořit databázi ručně zadáním následujícího příkazu na výzvu:

sudo /etc/cron.daily/ mlocate

Příkaz mlocate nebude fungovat, dokud nebude databáze vytvořena ručně nebo při spuštění skriptu z cronu.

Další informace o příkazu locate nebo příkaz mlocate zadejte do pole Terminal příkaz man locate nebo man mlocate a stiskněte klávesu Enter. Pro obě příkazy se zobrazí stejná obrazovka nápovědy.

Použití příkazu WHO

Příkaz "which" vrací absolutní cestu spustitelného souboru, která se vyvolá při vydání příkazu. To je užitečné při hledání umístění spustitelného souboru pro vytvoření zástupce programu na ploše, na panelu nebo na jiném místě ve správci stolních počítačů.Například zadáním příkazu, který zobrazí firefox výsledky uvedené na následujícím obrázku.

Ve výchozím nastavení příkaz, který zobrazí pouze první odpovídající spustitelný soubor. Chcete-li zobrazit všechny odpovídající spustitelné soubory, použijte volbu -a pomocí příkazu:

which -a firefox

Můžete spustit více spustitelných souborů najednou, jak je znázorněno na následujícím obrázku. Zobrazí se pouze nalezené cesty k spustitelným souborům. V následujícím příkladu byl nalezen pouze spustitelný soubor "ps".

POZNÁMKA: Příkaz, který vyhledává pouze proměnnou PATH aktuálního uživatele. Pokud hledáte spustitelný soubor, který je k dispozici pouze pro uživatele root jako běžného uživatele, nebudou se zobrazovat žádné výsledky.

Další informace o tom, který příkaz zadejte příkaz "člověk"( bez uvozovek) na příkazovém řádku v okně Terminál a stiskněte klávesu Enter.

Použití příkazu Whereis

Příkaz whereis se používá k zjištění místa, kde jsou umístěny binární, zdrojové a manuálové stránky příkazu. Například psaní kde firefox na výzvu zobrazí výsledky, jak je znázorněno na následujícím obrázku.

Chcete-li zobrazit pouze cestu k spustitelnému souboru, nikoliv cesty k zdrojovému a člověku( ual) stránkám, použijte volbu -b. Například příkaz whereis -b firefox zobrazí jako výsledek pouze /usr/bin/ firefox. To je užitečné, protože budete s největší pravděpodobností vyhledávat spustitelný soubor programu častěji, než byste hledali zdrojové a mana stránky pro daný program. Můžete také vyhledat pouze zdrojové soubory( -s) nebo pouze stránky man( -m).

Další informace o příkazu whereis zadejte příkaz man whereis v okně Terminál a stiskněte klávesu Enter.

Porozumění rozdílu mezi příkazem Whereis a příkazem WHERE

Příkaz whereis zobrazuje umístění binárních, zdrojových a manuálových stránek pro příkaz, zatímco příkaz, který vám pouze ukáže umístění binárního příkazu.

Příkaz whereis prohledá seznam konkrétních adresářů pro binární, zdrojové a souborové soubory, zatímco příkaz, který vyhledává adresáře uvedené v proměnné prostředí PATH aktuálního uživatele. Příkaz whereis obsahuje seznam konkrétních adresářů v sekci FILES na manašských stránkách příkazu.

Pokud jde o výsledky zobrazené ve výchozím nastavení, příkaz whereis zobrazí vše, co najde, zatímco příkaz, který zobrazí pouze první spustitelný soubor, který najde. Můžete to změnit pomocí volby -a, dříve popsané, pro který příkaz.

Protože příkaz whereis používá pouze příkazy, které jsou pevně zakódovány do příkazu, nemusí vždy najít to, co hledáte. Pokud hledáte program, který si myslíte, že by mohl být instalován v adresáři, který není uveden v manuálových stránkách příkazu whereis, můžete použít příkaz, který má volbu -a, kde najděte všechny výskyty příkazu v celém systému.