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.mkvfind /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 stringfind /home \! -name "string"
# Soubory menší než 500MBfind /home -size -500M
# Soubory větší než 7GBfind /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 *.tmpfind /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 locateapt install mlocate
#update db pro locateupdatedb
# stav dblocate -S
# vyhledávánílocate FILE3locate -b FILE3
# jen existujici souborylocate -e FILE3
Komentáře (0)
Přidat komentář