Jak najít soubory a složky v systému Linux pomocí příkazového řádku
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.
Pomocí příkazu Najít
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.
nalézt .
Bod po vyhledání označuje aktuální adresář.
Chcete-li najít soubory, které odpovídají určitému vzoru, použijte -název
argument. Můžete použít metaznačky souborů (například * *
), ale buď byste měli dát útěk ( \
) před každým z nich nebo obklopte je v uvozovkách.
Například, pokud chceme najít všechny soubory, které začínají "pro" v adresáři Dokumenty, použijeme cd Dokumenty /
příkaz pro změnu adresáře Dokumenty a zadejte následující příkaz:
najít. -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 velikosti písmen. Pokud chcete, aby hledání slova nebo fráze nebylo citlivé na velikost písmen, použijte -iname
pomocí příkazu find. Je to malá a malá písmena -název
příkaz.
Li nalézt
nenachází žádné soubory odpovídající vašim kritériím, nevytváří žá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 člověk najít
v okně Terminál a stiskněte klávesu Enter.
Použití 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 nalézá v reálném systému všechny aktuální adresáře a soubory. 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 je kdykoli aktualizovat sami, 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 jakoukoli část vyhledávacích kritérií.
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 kritéria vyhledávání, použijte -b
volba příkazem locate, jak je uvedeno dále.
vyhledejte -b '\ mydata'
Zpětné lomítko ve výše uvedeném příkazu je globovací znak, který poskytuje způsob rozšíření zástupných znaků v nespecifické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 ( ?
), což znamená jeden znak a hvězdičku ( * *
), což znamená souvislý řetězec znaků. Ve výše uvedeném příkladu zpětné lomítko zakazuje implicitní nahrazení "mydata" výrazem "* 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 dovolí mlocate vědět, zda se obsah adresáře změnil bez přečtení obsahu znovu a aktualizací do databáze rychlejší a méně náročné na pevném disku.
Když nainstalujete mlocate, změní se adresář / usr / bin / locate binární soubor, který bude ukazovat na hodnotu mlocate. Chcete-li nainstalovat mlocate, pokud již není součástí distribuce Linux, zadejte na výzvu následující příkaz.
sudo apt-get nainstalovat
Poznámka: Ukážeme vám později v tomto článku příkaz, 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 buď ručně nebo při spuštění skriptu z cronu.
Další informace o příkazu locate nebo příkaz mlocate zadejte člověk najít
nebo muž mlocate
v okně Terminál a stiskněte klávesu Enter. Pro obě příkazy se zobrazí stejná obrazovka nápovědy.
Použití příkazu WHERE
Příkaz "který" vrátí 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í příkazu který firefox
zobrazuje výsledky uvedené na následujícím obrázku.
Ve výchozím nastavení příkaz zobrazí pouze první odpovídající spustitelný soubor. Chcete-li zobrazit všechny odpovídající spustitelné soubory, použijte -A
volba s příkazem:
který - firefox
Najednou můžete spustit více spustitelných souborů, jak je znázorněno na následujícím obrázku. Zobrazeny jsou pouze cesty k spustitelným souborům. V následujícím příkladu byl nalezen pouze spustitelný soubor ps.
Poznámka: Příkaz, který pouze vyhledá 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 zobrazeny žá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 Enter.
Použití příkazu Whereis
Příkaz whereis slouží k zjištění, kde se nacházejí soubory binárních, zdrojových a manuálových stránek pro příkaz. Například psaní kde je firefox
na výzvě se zobrazují 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 -b
volba. Například příkaz whereis -b firefox
zobrazí se pouze / usr / bin / firefox
jako výsledek. 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 pro manuální stránky ( -m
)..
Další informace o příkazu whereis zadejte člověk kde
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ý zobrazuje pouze 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 stránkách mana pro příkaz.
Pokud jde o výsledky zobrazované 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í příkazu -A
volba, diskutovaná dříve, pro který příkaz.
Protože příkaz whereis používá pouze příkazy, které jsou pevně zakódovány, nemusí vždy najít to, co hledáte. Pokud hledáte program, o kterém si myslíte, že by mohl být nainstalován v adresáři, který není uveden v manuálových stránkách příkazu whereis, můžete použít příkaz s -A
možnost najít všechny výskyty příkazu v celém systému.