Linux - jak vyhledávat příkazem find a locate soubory a adresáře?

Linux - jak vyhledávat příkazem find a locate soubory a adresáře?

Ahoj, potřeboval bych se naučit vyhledávat dle názvu souborů a adresářů v linuxovém terminálu. Co jsem se díval, tak se na to používá příkaz find a locate, ale nechápu jak ho používat. Jak bych mohl vyhledat třeba toto:

Jakýkoliv soubor s názvem *FILE3*.*
Přesně soubor s názvem FILE3.mkv

Jakýkoliv adresář s názvem *DIR2*
Přesně adresář s názvem DIR2

ODPOVĚĎ

Ahoj,

zde je pár příkladů, jak použít find a locate k vyhledávání přes terminal linuxu:

Find

# Jakýkoliv soubor s názvem *FILE3*.*
find /home -name "FILE3.*"

# Přesně soubor s názvem FILE3.mkv
find /home -name "FILE3.mkv"

# Jakýkoliv adresář s názvem *DIR2*
find /home -type d -name "*DIR2*"

# Přesně adresář s názvem DIR2 (-name)
find /home -type d -name "DIR2"

# Ignorovat velká a malá písmena (-iname)
find /home -type d -iname "DIR2"

# Najít soubory neobsahují řetězec string
find /home \! -name "string"

# Soubory menší než 500MB
find /home -size -500M

# Soubory větší než 7GB
find /home -size +7G

# Najít dle typu souboru (f - file, d - dir, l - simlink, c - char dev, b - block dev)
find /home -type l

# Najít a smazat soubory *.tmp
find /tmp -name "*.tmp" -delete

# Najít dle času

  • modifikováno před 3 dny = find /home +mtime 3
  • přistoupeno před méně než 2 dny = find /home -atime -2
  • změněna metadata před více jak 7 dny = find /home -ctime +7

# Find - další možnosti jsou najít dle:

  • vlastníka -user
  • skupiny -group
  • oprávnění -perm

# Find - další parametry

  • hloubka hledání -maxdepth 4
  • následovat symlinky -L
  • optimalizace (1, 2, 3) -O3

Locate

Příkaz locate používá db, takže by vyhledávání mělo být rychlejší než find, ale zase toho tolík neumí
#Instalace locate
apt install mlocate
#update db pro locate
updatedb
# stav db
locate -S

# vyhledávání
locate FILE3
locate -b FILE3
# jen existujici soubory
locate -e FILE3

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář