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ář