Betalingsmåter Abuse

Kommandoen find i Linux

04.03.2023, 02:43

Kommandoen find i Linux brukes til å søke etter filer og kataloger i spesifiserte kataloger basert på ulike kriterier. Denne kommandoen er et av de kraftigste og mest utbredte verktøyene i Linux.

Kommandoformat

Det grunnleggende formatet til find-kommandoen er som følger:

find [path] [expression]

hvor:

path er stien til katalogen det skal søkes etter filer i (som standard søker find i den aktuelle katalogen og alle dens underkataloger);

expression er et uttrykk som definerer kriteriene for søket etter filer.

Følgende er noen av de vanligste søkekriteriene som kan brukes i et uttrykk for find-kommandoen:

-name: Søk etter filer etter navn. For eksempel: -type

find /home/user -name myfile.txt

-type: Søk etter filer av en bestemt type (for eksempel f for vanlige filer eller d for kataloger). For eksempel: -size

find /home/user -type f

-size: Søk etter filer etter størrelse. For eksempel: -mtime

find /home/user -size +10M

-mtime: Søk etter filer etter siste endringstidspunkt. For eksempel: -user

find /home/user -mtime -7

-user og -group: Søk etter filer etter eier og gruppe. For eksempel: -user:

find /home/user -user bob -group users

Du kan bruke de logiske operatorene -and, -or og -not til å kombinere flere søkekriterier i ett enkelt uttrykk.

Følgende kommando vil for eksempel finne alle filer i katalogen /home/user som har blitt endret i løpet av de siste 7 dagene, og som er større enn 10 megabyte:

find /home/user -type f -mtime -7 -size +10M

Kommandoen find lar deg også utføre ulike handlinger på filene du finner, ved hjelp av alternativet -exec. Du kan for eksempel slette alle filer som ble endret for mer enn 30 dager siden, ved hjelp av følgende kommando:

find /home/user -type f -mtime +30 -exec rm {} ;

Her kjører -exec-alternativet kommandoen rm for hver fil som blir funnet, og bruker {} som erstatning for filnavnet i kommandoen.

Kommandoen find er et kraftig verktøy for å finne filer og kataloger i Linux, som kan brukes til å utføre ulike administrasjonsrelaterte oppgaver.

Ytterligere alternativer

Kommandoen find støtter mange andre alternativer som kan brukes til å finne filer mer nøyaktig:

-iname: Søk etter filer etter navn uten hensyn til store og små bokstaver. For eksempel

find /home/user -iname myfile.txt

-regex: Søk etter filer hvis navn samsvarer med et gitt regulært uttrykk. For eksempel: -maxdepth:

find /home/user -regex ".*.txt$"

-maxdepth og -mindepth: begrenser dybden på søket etter filer i underkataloger. For eksempel: -prune

find /home/user -maxdepth 2 -type f

-prune: ekskluderer visse kataloger fra søket. For eksempel: -prune

find /home/user -path /home/user/excluded -prune -o -type f -print

-print: skriver ut listen over funnet filer til standardutdata. For eksempel: -print

find /home/user -type f -print

find støtter også søk i filer etter ulike attributter, for eksempel tillatelser, filattributter, SELinux-etiketter og annet. Du finner mer informasjon om disse alternativene i dokumentasjonen til find-kommandoen.

Kommandoen kan søke etter filer og kataloger i hele filsystemet, noe som kan ta mye tid og ressurser. Derfor er det viktig å være forsiktig når du bruker denne kommandoen, og sørge for at søkekriteriene er satt riktig for å unngå å finne unødvendige filer eller feil i systemet.