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

Obsah:

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

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

Video: 3 způsoby, jak najít soubory v systému Linux
Video: Jak rychle odblokovat IPHONE nebo IPAD | ZAPOMNĚL JSEM KOD NEBO HESLO 2024, Listopad
Anonim

Hledání souborů v systému Linux může být obtížné, pokud nevíte jak. Nejlepší způsob, jak najít soubory v systému Linux, je použít několik příkazů terminálu. Zvládnutí některých z těchto příkazů vám může poskytnout úplnou kontrolu nad soubory a jsou užitečnější než jednoduché vyhledávací funkce jiných operačních systémů.

Krok

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

690519 1
690519 1

Krok 1. Vyhledejte soubory podle názvu

Tento typ vyhledávání je nejzákladnější a můžete to provést pomocí příkazu find. Níže uvedený příkaz provede vyhledávání na základě slova zadaného v adresáři, ve kterém se nacházíte, a také v jeho podadresářích.

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

Pokud použijete -iname místo -name, rozdíl mezi velkými a malými písmeny nebude mít žádný účinek. Příkaz -name považuje velká a malá písmena za odlišné znaky

690519 2
690519 2

Krok 2. Nastavte vyhledávání tak, aby začalo v kořenovém adresáři

Pokud chcete provést vyhledávání v celém systému, můžete ke klíčovému slovu přidat modifikátor /. Modifikátor řekne příkazu find, aby důkladně prohledal, 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 /modifikátoru cestou adresáře, například /home /pat.
  • Můžeš použít. jiné než /, takže vyhledávání se provádí pouze v adresáři, ve kterém se nacházíte, a také v jeho podadresářích.
690519 3
690519 3

Krok 3. Použijte zástupné znaky

* k vyhledání čehokoli, co částečně odpovídá vašim klíčovým slovům.

Zástupný znak * lze použít k vyhledání souborů, jejichž úplná jména neznáte, nebo pokud chcete najít všechny soubory s konkrétní příponou.

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

  • Výše uvedený příkaz vrátí všechny soubory.conf v uživatelském adresáři s názvem Pat (a také jeho podadresáře).
  • Můžete jej také použít k vyhledání čehokoli, jehož název se částečně shoduje s tímto klíčovým slovem. Pokud například máte mnoho dokumentů souvisejících s wikiHow, najdete je zadáním „*wiki*“.
690519 4
690519 4

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

Pokud je výsledků hledání příliš mnoho, bude pro vás obtížné najít požadovaný soubor. Použijte znak | a odešlete výsledky vyhledávání zpět do programu filtrů „méně“. Tímto způsobem můžete snáze procházet a filtrovat výsledky hledání.

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

690519 5
690519 5

Krok 5. Najděte výsledky vyhledávání s konkrétním typem

Pomocí modifikátorů můžete vrátit pouze určité typy výsledků. Pomocí vhodných modifikátorů 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
690519 6

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

Pokud máte spoustu souborů s podobnými názvy, ale znáte velikost požadovaného souboru, můžete vyhledávání filtrovat podle velikosti.

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

  • Výše uvedený příkaz vrátí výsledky hledání 50 megabajtů nebo více. Pomocí + nebo - můžete hledat soubory s větší nebo menší velikostí. Vynechání znaménka + nebo - způsobí, že vyhledávání vrátí pouze výsledky se skutečně „správnou“velikostí.
  • Hledání můžete filtrovat podle bloků bajtů (c), kilobajtů (k), megabajtů (M), gigabajtů (G) nebo 512 bajtů (b). Uvědomte si, že označení rozlišuje velká a malá písmena.
690519 7
690519 7

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

K kombinování různých vyhledávání můžete použít operátory -and, -or a -not.

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

Výše uvedený příkaz vyhledá soubory v adresáři „travelphotos“, které mají velikost přes 200 kilobajtů, ale v názvu nemají slovo „2015“

690519 8
690519 8

Krok 8. Proveďte vyhledávání souborů podle jména vlastníka nebo oprávnění

Pokud se pokoušíte najít konkrétní soubor, který patří konkrétnímu uživateli, nebo hledáte soubor 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 provedou vyhledávání konkrétního uživatele, skupiny nebo oprávnění v rámci klíčového slova. Můžete také vynechat 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
690519 9

Krok 9. Spojte příkazy k provedení akce, když byl soubor nalezen

Příkaz find můžete kombinovat s jinými příkazy, abyste mohli s tímto příkazem zpracovávat soubory vrácené klíčovým slovem. 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 {};

Výše uvedený příkaz vyhledá v adresáři, ve kterém se nacházíte (a všechny jeho podadresáře), soubory s oprávněními 777. Poté příkaz chmod změní oprávnění na 755

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

690519 10
690519 10

Krok 1. Instalace

lokalizovat funkčnost. Příkaz locate je obecně rychlejší než příkaz find kvůli využití databáze vašeho systému souborů. Ne všechny typy Linuxu jsou vybaveny funkcí lokalizace, proto jej nainstalujte zadáním následujícího příkazu:

  • 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 poté stiskněte Enter. Pokud byla funkce locate nainstalována dříve, zobrazí se zpráva mlocate je již nejnovější verzí.
  • V Arch Linuxu použijte správce balíčků pacman: pacman -Syu mlocate
  • Pro Gentoo použijte emerge: emerge mlocate
690519 11
690519 11

Krok 2. Aktualizace

lokalizovat databáze Vy. Příkaz locate nebude moci nic najít, dokud nebude vytvořen a aktualizován. Proces se obvykle provádí automaticky každý den, ale můžete jej také aktualizovat ručně. Musíte to udělat, pokud chcete použít funkci vyhledání co nejdříve.

Zadejte sudo updatedb a stiskněte klávesu Enter

690519 12
690519 12

Krok 3. Použijte

lokalizovat provést jednoduché vyhledávání.

Funkce locate funguje rychle, ale nemá tolik možností jako příkaz find. Základní hledání souborů můžete provádět podobným způsobem jako příkaz find.

vyhledejte -i "*.jpg"

  • Výše uvedený příkaz vyhledá v celém systému soubory s příponou.jpg. Zástupný znak * funguje podobně jako příkaz find.
  • Stejně jako příkaz find, modifikátor -i také dělá velká a malá písmena v klíčových slovech považovaných za stejná.
690519 13
690519 13

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

Pokud vaše vyhledávání vrací tolik výsledků, že je pro vás obtížné je použít, můžete tyto výsledky zredukovat pomocí modifikátoru -n následovaného počtem výsledků, které chcete vrátit.

vyhledejte -n 20 -i "*.jpg"

  • Zobrazí se pouze 20 výsledků vyhledávání.
  • Můžete také použít | k odeslání výsledků hledání do méně filtrovaného programu pro snazší posouvání výsledků.

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

690519 14
690519 14

Krok 1. Použijte příkaz

grep vyhledejte textový řetězec v souboru.

Pokud hledáte soubor, který obsahuje konkrétní frázi nebo řetězec znaků, můžete použít příkaz grep. Základní příkaz grep má následující formát:

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

  • Modifikátor -r činí vyhledávání "rekurzivním", takže bude provedeno vyhledávání v adresáři a všech jeho podadresářích, aby se našly soubory obsahující text s klíčovým slovem hledání.
  • Modifikátor -i označuje, že klíčové slovo pro vyhledávání nerozlišuje velká a malá písmena. Pokud chcete vynutit, aby vyhledávání rozlišovalo velká a malá písmena, ignorujte modifikátor -i.
690519 15
690519 15

Krok 2. Odstraňte přebytečný text

Při vyhledávání grep výše, uvidíte název souboru se zvýrazněnými odpovídajícími písmeny. Odpovídající text můžete skrýt a zobrazit pouze název adresáře souboru a cestu přidáním:

grep -r -i "vyhledávací klíčové slovo"/cesta/do/adresáře/| cut -d: -f1

690519 16
690519 16

Krok 3. Skrýt chybovou zprávu

Příkaz grep vrátí chybu při pokusu o přístup k adresáři bez příslušných oprávnění nebo při zadávání prázdného adresáře. Můžete odeslat chybové zprávy na /dev /null, aby se nezobrazovaly.

grep -r -i "klíčové slovo pro hledání"/cesta/do/adresáře/2>/dev/null

Doporučuje: