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“
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
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.
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*“.
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ě
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"
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.
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“
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í)
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“
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
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
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á.
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
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.
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
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