GNU/Linux >> Znalost Linux >  >> Debian

Dva příkazy pro snadné vyhledání souborů a adresářů v Debianu 11

V podstatě všechno v Linuxu je soubor. Ale předtím, než budete moci upravit soubor, musíte být schopni jej najít ve vašem systému.

O vyhledávání souborů v systému Linux

V tomto článku stručně podrobně popisuji dva příkazy s užitečnými příklady pro vyhledávání souborů pomocí terminálu. Tyto dva příkazy jsou příkaz najít a příkaz lokalizovat . Rozdíl mezi těmito dvěma příkazy je v tom, že find provádí vyhledávání v reálném čase a locate používá pro vyhledávání indexovanou databázi. To znamená, že příkaz locate je obvykle rychlejší, ale předpokládá, že hledaný soubor je v jeho indexové databázi a že databáze se obvykle vytváří v noci, takže novější soubory příkaz locate nenajde. Ve svém prostředí používám Debian 11. Ale příkazy by měly být stejné na jiných distribucích Linuxu.

Pokud chcete hledat soubory podle jejich obsahu místo názvu souboru, podívejte se místo toho na příkaz grep.

Vyhledávání souborů a adresářů pomocí příkazu find

Vyhledat soubor v aktuálním adresáři

Pokud chcete najít soubor pomocí příkazu find, proveďte na svém terminálu jednu z následujících akcí.

find <filname>

předpokládejme,

find test.txt

Toto prohledá soubor v aktuálním adresáři, na kterém pracujete.

Vyhledat soubor v jiném adresáři

Nyní, pokud chcete najít soubor v konkrétním adresáři. Úplný příkaz by měl vypadat takto,

find <path of directory/filename>

Předpokládejme, že chcete prohledat soubor s názvem „test.txt“ v Dokumentech, celý příkaz by měl vypadat následovně.

find Documents/test.txt

Najít soubory podle přípony souboru

Nyní, pokud chcete najít všechny textové soubory ve vašem aktuálním nebo konkrétním adresáři, příslušné příkazy by měly vypadat následovně.

find *.txt
find <path of directory/*.txt>

Předpokládejme, že chcete prohledat všechny textové soubory v cestě Documents/Karim, celý příkaz by měl vypadat takto.

find Documents/Karim/*.txt

Najít soubory podle názvu

Případně můžete použít přepínač -name, když chcete hledat soubor podle názvu.

find <path> -name <name of file you want to search>

Předpokládejme, že chcete prohledat soubor s názvem test1.txt v Documents/Karim. Úplný příkaz by měl vypadat takto.

find Documents/Karim -name test1.txt

Pokud chcete vyhledat konkrétní soubor v aktuálním adresáři, na kterém pracujete. Dát . na cestě, jak je znázorněno v příkladu.

find . -name test1.txt

Při hledání souborů ignorujte malá a velká písmena

Pokud chcete prohledat soubor a chcete ignorovat velká a malá písmena, použijte přepínač -iname. Úplný příkaz by měl vypadat následovně.

find . -iname test.txt

Najít soubory podle typu souboru, např. symbolické odkazy

Chcete-li vyhledat konkrétní typ souboru, použijte volbu -type. Úplný příkaz by měl vypadat následovně.

find <path> -type <c>
  • c označuje typ souboru, který následují.
  • b blokovat (buffered) special
  • c speciální znak (bez vyrovnávací paměti)
  • d adresář
  • p pojmenované potrubí
  • f běžný soubor
  • l symbolický odkaz
  • D dveře (Solaris)

Předpokládejme, že chcete prohledávat běžné soubory v Documents/Karim, spusťte následující příkaz.

find Documents/Karim -type f

Pokud chcete hledat běžné soubory ve vašem aktuálním adresáři. Úplný příkaz by měl vypadat následovně.

find . -type f

Pokud chcete prohledávat soubory s více příponami, použijte znaky c oddělené čárkami.

Řekněme, že chcete najít všechny běžné prázdné soubory ve vašem aktuálním adresáři.

find . -type f -empty

Předpokládejme, že chcete najít všechny prázdné adresáře ve svém aktuálním adresáři, použijte volby -d a -empty v příkazu find následovně.

find . -type d -empty

Najít soubory podle velikosti

Pokud chcete najít soubory s konkrétní velikostí, můžete použít parametr -size. Můžete použít následující příponu s jejich přesnou velikostí.

  • c :bajtů
  • k :kilobajty
  • M :Megabajty
  • G :Gigabajty
  • b :blok 512 bajtů

Předpokládejme, že chcete najít všechny soubory ve vašem aktuálním adresáři, které mají přesně 50 bajtů. Musíte provést následující příkaz.

find . -size 50c

Předpokládejme, že chcete ve svém aktuálním adresáři najít všechny soubory, které mají více než 50 bajtů nebo méně než 50 bajtů, musíte provést jeden z následujících příkazů.

find . -size +50c
find . -size -50c

Najít soubory podle vlastníka (uživatele)

Pokud chcete vyhledat soubor vlastněný konkrétním uživatelem, můžete použít volbu -user. Syntaxe příkazu by měla být následující.

find <path> -user <username>

Předpokládejme, že chcete prohledat soubor ve vašem aktuálním adresáři vlastněném vituxem. Příkaz by měl vypadat následovně.

find . -user vitux

Hledání souborů pomocí příkazu Locate

Druhým je příkaz locate, který můžete použít k vyhledávání souborů a adresářů ve vašem systému.

Nejprve musíte do svého počítače Debian 11 nainstalovat vyhledávací nástroj. Přihlaste se pomocí root a spusťte na svém terminálu následující příkaz. Až budete požádáni o potvrzení, stiskněte Y na klávesnici.

apt-get install locate

Počkejte na dokončení operace.

Locate je rychlejší příkaz a spoléhá na databázi souborového systému. Aktualizuje se jednou denně, ale pokud jej chcete aktualizovat ručně, spusťte na svém terminálu s oprávněními root následující příkaz.

updatedb

Chcete-li vyhledat soubor pomocí příkazu locate ve vašem aktuálním adresáři, proveďte na svém terminálu následující.

locate <filename>

Předpokládejme, že název mého souboru je test.txt. Úplný příkaz by měl vypadat následovně.

locate test.txt

Můžete použít volbu -i k ignorování velikosti písmen v názvu souboru.

locate -i <filename>

nebo

locate -i test.txt

Příkazy locate a find jsou užitečné při hledání souborů. Je jen na vás, který z příkazů nejčastěji používáte. Lze je rozšířit o další příkazy pomocí pipe, wc, sort a grep atd.


Debian
  1. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  2. Najděte soubory a adresáře v Linuxu jako profík

  3. Najděte největší soubory a adresáře v Linuxu

  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Jak spouštět soubory .bin a .run v Debianu

  3. Najděte soubor pomocí příkazů Najít a najít v Linuxu

  1. Najít příkaz v Linuxu (Najít soubory a adresáře)

  2. Odstraňte soubory a adresáře podle jejich jmen. Žádný takový soubor nebo adresář?

  3. Jak najít a odstranit prázdné adresáře a soubory v Unixu