Chcete vědět, jak provádět vyhledávání pomocí příkazů Linuxu? Pak jste na správném místě!
V tomto článku budeme hovořit o vyhledání Linuxu a najít příkazy, které vám pomohou vyhledat jakýkoli soubor na vašem počítači.
Proč používat příkazy Najít a najít v Linuxu?
Noví uživatelé Linuxu často tvrdí, že jsou zmatení ohledně umístění svých souborů na serveru. To může být způsobeno tím, že většina lidí je zvyklá ovládat Windows nebo macOS, které mají přehlednější a uživatelsky přívětivější rozložení adresářů.
I když je na tom něco pravdy, Linux poskytuje uživatelům více možností, jak vyhledávat soubory pomocí určitých příkazů. Kromě vyhledávání na základě běžných filtrů můžete také najít soubory podle uživatelských oprávnění, velikosti, časových razítek atd.
Co je skvělé, jakmile pochopíte příkazy, je vyhledávání souborů na vaší platformě Linux překvapivě snadné.
K tomu použijeme najít a najít příkazy v Linuxu.
Důležité je poznamenat, že v této příručce budeme používat Ubuntu VPS. Jak již bylo řečeno, kroky by měly fungovat také pro Debian, CentOS nebo jakoukoli jinou distribuci Linuxu. Pokud nevíte, jak se připojit k VPS, můžete před pokračováním postupovat podle tohoto průvodce.
Použití příkazu Najít v systému Linux
Nejprve si vysvětlíme zjištění příkaz a jak jej používat.
Základní syntaxe
Nejoblíbenějším příkazem k vyhledání a filtrování souborů v systému Linux je najít . Základní syntaxe je následující:
find <startingdirectory> <options> <search term>
Začíná klíčovým slovem najít , který varuje Linux, že cokoli následuje, bude použito k nalezení vašeho souboru.
- / (lomítko) — prohledejte celý systém.
- . (tečka) — vyhledejte ve složce, se kterou právě pracujete (aktuální adresář).
- ~ (vlnovka) — pro vyhledávání z domovské složky.
Druhý argument
Způsoby využití příkazu find
Podívejme se na různé možnosti, které Linux svým uživatelům nabízí:
Vyhledávání podle jména
Nejběžnějším způsobem hledání souboru je samozřejmě použití jeho názvu. Chcete-li spustit jednoduchý vyhledávací dotaz pomocí názvu souboru, použijte najít příkaz takto:
find . -name my-file
Použili jsme -name a hledali soubor s názvem můj-soubor . Všimněte si, že jsme zahájili vyhledávání v našem aktuálním adresáři pomocí . (tečka) argument.
Mějte na paměti, že -jméno argument hledá v Linuxu výrazy rozlišující velká a malá písmena. Pokud znáte název souboru, ale nejste si jisti rozlišováním malých a velkých písmen, použijte následující vyhledat příkaz:
find . -iname my-file
Můžete také vyhledat všechny soubory bez určitého klíčového slova v jejich názvu. Toho lze dosáhnout dvěma způsoby. První metoda zahrnuje použití –ne klíčové slovo následujícím způsobem:
find . -not -name my-file
Za druhé můžeme použít symbol vykřičníku (! ). Musí mu však předcházet identifikátor escape (\), aby Linux věděl, že se jedná o část najít příkaz.
find . \! -name my-file
Můžete hledat více souborů ve společném formátu, jako je .txt také:
find . -name “*.txt”
Zobrazí se seznam všech textových souborů počínaje aktuální složkou.
Nakonec, pokud chcete najít určitý soubor podle názvu a odstranit jej, použijte -delete argument za názvem souboru:
find . -name my-file -delete
Vyhledávání podle typu
Linux umožňuje uživatelům vypsat všechny informace na základě jejich typů. Existuje několik filtrů, které můžete použít:
- d – adresář nebo složka
- f – normální soubor
- l – symbolický odkaz
- c – znaková zařízení
- b – blokovat zařízení
Jednoduchý příklad použití typu souboru lze vidět níže:
find / -type d
Zobrazí se seznam všech aktuálních adresářů ve vašem systému, protože jsme hledali v našem kořenovém adresáři se symbolem / (lomítko).
Můžete také kombinovat –typ a -jméno možnosti pro další zúžení vyhledávání:
find / -type f -name my-file
Toto vyhledá soubory s názvem můj-soubor , s výjimkou adresářů nebo odkazů.
Vyhledávání podle času
Pokud chcete vyhledávat soubory podle toho, kdy byly zpřístupněny, a podle časové stopy úprav. Linux sleduje soubory pomocí těchto tří časových razítek.
- Doba přístupu (-čas ) – když byl soubor přečten nebo zapsán.
- Čas úpravy (-mtime ) – kdy byl soubor změněn.
- Změnit čas (-ctime ) – když byla aktualizována metadata souboru.
Tato možnost musí být použita s číslem, které udává, kolik dní uplynulo od doby, kdy byl soubor zpřístupněn, upraven nebo změněn:
find / -atime 1
Tento příkaz zobrazí všechny soubory, které byly zpřístupněny před dnem, počínaje vaším aktuálním časem.
Dotazy můžeme ještě více zúžit přidáním plus (+ ) a minus (–) znaménka před počtem dní. Například:
find / -mtime +2
Uvádí seznam všech souborů, které mají čas úpravy před více než dvěma dny.
Chcete-li najít všechny soubory, jejichž metadata byla aktualizována před méně než jedním dnem, spusťte následující:
find / -ctime -1
I když se často nepoužívá, existuje několik dalších argumentů, které také souvisejí s časovaným vyhledáváním. -mmin argument hledá upravené soubory každou minutu. Lze jej použít takto:
find / -mmin -1
Také máme -novější argument, který lze použít k porovnání stáří dvou nebo více souborů a zobrazení toho novějšího.
find / -newer my-file
Získáte všechny soubory, které byly upraveny nedávno než váš soubor.
Vyhledávání podle velikosti
Linux umožňuje vyhledávat soubory na základě jejich velikosti. Syntaxe pro vyhledávání souborů podle velikosti je:
find <startingdirectory> -size <size-magnitude> <size-unit>
Můžete zadat následující jednotky velikosti:
- c – bajtů
- k – kilobajty
- M – megabajtů
- G – gigabajty
- b – 512bajtové bloky
Jednoduchý příklad, jak používat najít příkaz pro velikosti souborů je následující:
find / -size 10M
Zde hledáme všechny soubory ve vašem systému, které mají přesně 10 megabajtů. Stejně jako při vyhledávání podle času můžete svá vyhledávání dále filtrovat pomocí znamének plus a mínus:
find / -size +5G
Zobrazí všechny soubory, které jsou větší než pět gigabajtů.
Vyhledávání podle vlastnictví
Linux vám dává možnost zúžit vyhledávání na základě vlastnictví souboru. Chcete-li najít soubory určitého vlastníka, měl by být proveden následující příkaz:
find / -user john
Skript vrátí seznam všech souborů, které uživatel pojmenoval john vlastní. Podobně jako u uživatelských jmen můžeme také najít soubory pomocí názvů skupin:
find / -group classroom
Vyhledávání podle oprávnění
Uživatelé mohou vyhledávat soubory na základě oprávnění k souboru pomocí -perm volba. Například:
find / -perm 644
V systému Linux 644 odpovídá oprávnění ke čtení a zápisu. To znamená, že tento příkaz vyhledá všechny soubory, které mají pouze oprávnění ke čtení a zápisu. S touto možností si můžete dále pohrát:
find / -perm -644
S přidáním symbolu pomlčky se vrátí se všemi soubory, které mají oprávnění alespoň 644.
Neváhejte a přečtěte si více o oprávněních a různých kódech odpovídajících jiným oprávněním Linuxu.
Další užitečné možnosti
Existují další užitečné možnosti, které byste si měli zapamatovat.
Chcete-li například vyhledat prázdné soubory a složky ve vašem systému, použijte následující:
find / -empty
Podobně, chcete-li vyhledat všechny spustitelné soubory uložené na disku, použijte -exec možnost:
find / -exec
Chcete-li vyhledat čitelné soubory, můžete spustit následující příkaz:
find / -read
Jak vidíte, uživatelé mají k dispozici spoustu možností, jak přizpůsobit své dotazy tak, jak chtějí. Podívejme se na další příkaz, který lze použít k vyhledání souborů v Linuxu.
Použití příkazu Locate v systému Linux
místo Příkaz je užitečná alternativa, protože je rychlejší než najít příkaz při provádění vyhledávání. Je to proto, že první skenuje pouze vaši databázi Linuxu namísto celého systému. Navíc se syntaxe píše relativně snadněji.
Jak nainstalovat lokalizační balíček
Ve výchozím nastavení Linux neobsahuje locate příkaz předinstalovaný. Chcete-li získat balíček, spusťte následující příkazy jeden po druhém:
sudo apt-get update sudo apt-get install mlocate
Základní syntaxe
Nyní můžete pomocí příkazu vyhledávat soubory pomocí této syntaxe:
locate [my-file]
Vanilku najděte příkaz může někdy vrátit soubory, které byly odstraněny, pokud databáze nebyla aktualizována. Nejlepším řešením je ručně aktualizovat databázi spuštěním následujícího:
sudo updatedb
Jak používat Linux Locate Command
Podělíme se s vámi o nejběžnější aplikace Linuxu najděte příkaz.
Vyhledat přesný název souboru
Základní syntaxe umožňuje vyhledávat pouze soubory, které obsahují hledaný výraz. Pokud chcete získat soubor s přesným názvem, můžete použít -r a přidejte symbol dolaru ($ ) na konci hledaného výrazu, například:
locate -r my-file$
Spočítat počet souborů
Chcete-li zjistit, kolik souborů se objeví ve výsledcích vyhledávání, vložte -c za příkazem locate.
locate -c my-file
Místo vypsání všech souborů vám poskytne jejich celkový počet.
Ignorovat malá a velká písmena
Použijte -i na vašem linuxunajděte příkaz k ignorování souborů citlivých na velká a malá písmena. Například:
locate -i my-file
Budou zobrazeny všechny soubory s tímto názvem, bez ohledu na nalezená velká nebo malá písmena.
Zobrazit existující soubory
Jak jsme již zmínili, Linux najděte příkaz vám může dokonce zobrazit smazaný soubor, pokud jste neaktualizovali databázi. Naštěstí můžete tento problém obejít pomocí -e možnost, jako je tato:
locate -e my-file
Tímto způsobem získáte pouze soubory, které existují v době provedení lokace příkaz.
Zakáže chyby při hledání
-q Tato možnost zabrání zobrazení jakýchkoli chyb při zpracovávání vyhledávání. Chcete-li to provést, jednoduše zadejte:
locate -q my-file
Omezit počet výsledků vyhledávání
Pokud chcete omezit počet výsledků hledání, -n <číslo> udělá trik. Pamatujte však, že tuto volbu musíte umístit na konec příkazového řádku. Podívejte se na tento příklad:
locate my-file n 10
Skript zobrazí pouze prvních 10 souborů, které objeví, i když jich je více.
Závěr
Soubory na svém serveru můžete vyhledávat pomocí najít a najít příkazy v Linuxu. Tyto dva výkonné nástroje mají své výhody. Proto vám doporučujeme vyzkoušet oba a zjistit, který z nich je pro vás vhodnější. Zde je krátké shrnutí toho, o čem jsme mluvili:
- Použijte najít pro vyhledávání souborů podle názvu, typu, času, velikosti, vlastnictví a oprávnění, kromě některých dalších užitečných možností
- Nainstalujte a používejte Linux vyhledejte pro rychlejší vyhledávání souborů v celém systému. Umožňuje také filtrovat podle názvu, rozlišování malých a velkých písmen, složky atd.
Pokud máte nějaké dotazy, neváhejte se zeptat v komentářích!