3 způsoby, jak najít soubor v systému Linux

Obsah:

3 způsoby, jak najít soubor v systému Linux
3 způsoby, jak najít soubor v systému Linux

Video: 3 způsoby, jak najít soubor v systému Linux

Video: 3 způsoby, jak najít soubor v systému Linux
Video: Protect Your Devices From Unauthorized Access! 2024, Smět
Anonim

Nalezení souboru v systému Linux může být obtížné, pokud nevíte jak. Nejlepší způsob, jak najít soubory, je použít několik různých příkazů terminálu. Zvládnutí těchto příkazů vám může poskytnout úplnou kontrolu nad vašimi soubory a jsou mnohem výkonnější než jednoduché vyhledávací funkce v jiných operačních systémech.

Kroky

Metoda 1 ze 3: Použití „vyhledat“

690519 10 1
690519 10 1

Krok 1. Nainstalujte soubor

lokalizovat funkčnost.

Příkaz locate obecně funguje mnohem rychleji než find, protože funguje mimo databázi vaší struktury souborů. Ne všechny distribuce Linuxu mají nainstalovanou funkci lokalizace, takže se pokuste jej nainstalovat zadáním následujících příkazů:

  • Zadejte sudo apt-get update a stiskněte klávesu ↵ Enter.
  • Můžete jej nainstalovat do Debianu a Ubuntu takto: Zadejte sudo apt-get install mlocate a stiskněte ↵ Enter. Pokud je locate již nainstalován, zobrazí se zpráva mlocate je již nejnovější verzí.
  • V Arch Linuxu použijte správce balíčků pacman: pacman -S mlocate
  • Pro Gentoo použijte emerge: emerge mlocate
690519 11 1
690519 11 1

Krok 2. Aktualizujte svůj

lokalizovat databáze.

Příkaz locate nebude schopen nic najít, dokud nebude jeho databáze vytvořena a aktualizována. To se děje automaticky denně, ale můžete to také aktualizovat ručně. Budete to muset udělat, pokud chcete okamžitě začít používat locate.

Zadejte sudo updatedb a stiskněte klávesu ↵ Enter

690519 12 1
690519 12 1

Krok 3. Použijte

lokalizovat provádět jednoduchá vyhledávání.

Příkaz locate je rychlý, ale nemá tolik možností jako příkaz find. Základní vyhledávání souborů můžete provádět téměř stejným způsobem jako příkaz find.

vyhledejte -i "*.jpg"

  • Tento příkaz vám prohledá celý systém soubory s příponou.jpg. Zástupný znak * funguje stejně jako s příkazem find.
  • Stejně jako příkaz find i -i ignoruje případ vašeho dotazu.
690519 13 1
690519 13 1

Krok 4. Omezte výsledky vyhledávání

Pokud vaše vyhledávání vrací příliš mnoho výsledků na zpracování, můžete je oříznout pomocí volby -n následované počtem výsledků, které chcete zobrazit.

vyhledejte -n 20 -i "*.jpg"

  • Zobrazí se pouze prvních 20 výsledků, které odpovídají dotazu.
  • Můžete také použít | potrubí poslat výsledky na méně pro snadné posouvání.

Metoda 2 ze 3: Použití „najít“

690519 1 1
690519 1 1

Krok 1. Vyhledejte soubor podle jeho názvu

Toto je nejzákladnější vyhledávání, které můžete provést pomocí příkazu find. Níže uvedený příkaz vyhledá dotaz v aktuálním adresáři a všech podadresářích.

najít -název "název souboru"

Použití -iname namísto -name ignoruje případ vašeho dotazu. Příkaz -name rozlišuje velká a malá písmena

690519 2 1
690519 2 1

Krok 2. Nastavte spuštění hledání v kořenovém adresáři

Pokud chcete prohledávat celý systém, můžete do dotazu přidat modifikátor /. To řekne find, aby prohledal všechny adresáře počínaje kořenovým adresářem.

najít / -název "název_souboru"

  • Hledání můžete zahájit v konkrétním adresáři nahrazením cesty /adresářovou cestou, například /home /pat.
  • Můžete použít a. namísto / vynutit, aby se vyhledávání provádělo pouze v aktuálním adresáři a podadresářích.
690519 3 1
690519 3 1

Krok 3. Použijte zástupný znak

* k vyhledání čehokoli, co odpovídá části dotazu.

Zástupný znak * může být užitečný pro nalezení něčeho, pokud neznáte celé jméno nebo pokud chcete najít vše s konkrétní příponou.

find /home /pat -iname "*.conf"

  • Tím se vrátí všechny soubory.conf do Patovy uživatelské složky (a podadresářů).
  • Můžete jej také použít k nalezení všeho, co odpovídá části názvu souboru. Pokud například máte mnoho dokumentů souvisejících s wikiHow, můžete je všechny najít zadáním „*wiki*“.
690519 4 1
690519 4 1

Krok 4. Usnadněte si správu výsledků vyhledávání

Pokud máte mnoho výsledků vyhledávání, může být obtížné je procházet. Použijte | znak a odešlete výsledky vyhledávání do filtračního programu „méně“. To vám umožní mnohem snáze procházet a filtrovat výsledky.

find /home /pat -iname "*.conf" | méně

690519 5 1
690519 5 1

Krok 5. Najděte konkrétní typy výsledků

Pomocí modifikátorů můžete vracet pouze konkrétní typy výsledků. Pomocí správného modifikátoru můžete vyhledávat běžné soubory (f), adresáře (d), symbolické odkazy (l), znaková zařízení (c) a bloková zařízení (b).

find / -type f -iname "filename"

690519 6 1
690519 6 1

Krok 6. Filtrujte výsledky vyhledávání podle velikosti

Pokud máte spoustu souborů s podobnými názvy, ale znáte velikost, kterou hledáte, můžete filtrovat naše výsledky podle velikosti.

find / -size +50M -iname "filename"

  • To vrátí výsledky, které jsou 50 megabajtů nebo větší. Pomocí + nebo - můžete vyhledávat větší nebo menší velikosti. Vynechání + nebo - vyhledá soubory přesně zadané velikosti.
  • Můžete filtrovat podle bajtů (c), kilobajtů (k), megabajtů (M), gigabajtů (G) nebo bloků 512 bajtů (b). Všimněte si, že příznak velikosti rozlišuje velká a malá písmena.
690519 7 1
690519 7 1

Krok 7. Pomocí booleovských operátorů zkombinujte filtry vyhledávání

Pomocí operátorů -and, -or a -not můžete kombinovat různé typy vyhledávání do jednoho.

find /travelphotos -type f -size +200k -not -iname "*2015*"

Příkaz najde soubory v adresáři „travelphotos“, které jsou větší než 200 kilobajtů, ale nikde v názvu souboru nemají „2015“

690519 8 1
690519 8 1

Krok 8. Hledejte soubory podle vlastníka nebo oprávnění

Pokud se pokoušíte najít konkrétní soubor vlastněný uživatelem nebo soubory s určitými oprávněními, můžete hledání zúžit.

find / -user pat -iname "filename" find / -group users -iname "filename" find / -perm 777 -iname "filename"

Výše uvedené příklady prohledají zadané uživatele, skupiny nebo oprávnění pro dotaz. Můžete také vynechat dotaz na název souboru a vrátit všechny soubory, které odpovídají tomuto typu. Například find / -perm 777 vrátí všechny soubory s oprávněními 777 (bez omezení)

690519 9 1
690519 9 1

Krok 9. Kombinujte příkazy a provádějte akce, když jsou nalezeny soubory

Příkaz find můžete zkombinovat s jinými příkazy, abyste je mohli spustit na souborech vrácených dotazem. Příkaz find a druhý příkaz oddělte příznakem -exec a řádek ukončete znakem {};

najít. -typ f -perm 777 -exec chmod 755 {};

Tím se v aktuálním adresáři (a všech podadresářích) vyhledají soubory, které mají oprávnění 777. Poté pomocí příkazu chmod změní oprávnění na 755

Metoda 3 ze 3: Hledání textu v souborech

690519 14 1
690519 14 1

Krok 1. Použijte

grep příkaz pro hledání řetězců textu v souborech.

Pokud hledáte soubor, který obsahuje určitou frázi nebo řetězec znaků, můžete použít příkaz grep. Základní příkaz grep je formátován následovně:

grep -r -i "vyhledávací dotaz"/cesta/do/adresáře/

  • Parametr -r nastaví vyhledávání na "rekurzivní", takže prohledá aktuální adresář a všechny podadresáře pro jakýkoli soubor, který obsahuje řetězec dotazu.
  • -I označuje, že dotaz nerozlišuje velká a malá písmena. Pokud chcete vynutit, aby vyhledávání věnovalo pozornost případům, vynechejte operátor -i.
690519 15 1
690519 15 1

Krok 2. Vystřihněte nadbytečný text

Když provedete vyhledávání grep výše, uvidíte název souboru spolu s textem se zvýrazněným odpovídajícím dotazem. Odpovídající text můžete skrýt a pouze zobrazit názvy souborů a cesty přidáním následujícího:

grep -r -i "vyhledávací dotaz"/cesta/do/adresáře/| cut -d: -f1

690519 16 1
690519 16 1

Krok 3. Skrýt chybové zprávy

Při pokusu o přístup ke složkám bez správných oprávnění nebo při spuštění do prázdných složek vrátí příkaz grep chybu. Chybové zprávy můžete odeslat na /dev /null, což je skryje z výstupu.

grep -r -i "vyhledávací dotaz"/cesta/do/adresáře/2>/dev/null

Doporučuje: