Kommandoen find i Linux bruges til at søge efter filer og mapper i bestemte mapper ud fra forskellige kriterier. Denne kommando er et af de mest kraftfulde og udbredte værktøjer i Linux.
Det grundlæggende format for find-kommandoen er som følger:
find [path] [expression]
hvor:
path
er stien til den mappe, hvor der skal søges efter filer (som standard søger find i den aktuelle mappe og alle dens undermapper);
expression er et udtryk
, der definerer kriterierne for at søge efter filer.
Følgende er nogle af de mest almindelige filsøgningskriterier, der kan bruges i et find-kommandoudtryk:
-name
: Søg efter filer efter navn. Det kan f.eks. være
find /home/user -name myfile.txt
-type
: Søg efter filer af en bestemt type ( f.eks. f
for almindelige filer eller d
for mapper). F.eks:
find /home/user -type f
-size
: Søg efter filer efter størrelse. F.eks:
find /home/user -size +10M
-mtime
: Søg efter filer efter sidste ændringstidspunkt. For eksempel: -user
find /home/user -mtime -7
-user
og -group
: Søg efter filer efter ejer og gruppe. F.eks:
find /home/user -user bob -group users
Du kan bruge de logiske operatorer -and
, -or
og -not
til at kombinere flere søgekriterier i et enkelt udtryk.
For eksempel vil følgende kommando finde alle filer i /home/user-biblioteket
, som er blevet ændret inden for de sidste 7 dage, og som er større end 10 megabyte:
find /home/user -type f -mtime -7 -size +10M
Kommandoen find giver dig også mulighed for at udføre forskellige handlinger på de fundne filer ved hjælp af indstillingen -exec
. Du kan f.eks. slette alle filer, der er blevet ændret for mere end 30 dage siden, ved hjælp af følgende kommando:
find /home/user -type f -mtime +30 -exec rm {} ;
Her kører -exec
kommandoen rm
for hver fil, der er fundet, og bruger {}
til at erstatte filnavnet i kommandoen.
Kommandoen find
er et stærkt værktøj til at finde filer og mapper i Linux, som kan bruges til at udføre forskellige administrationsrelaterede opgaver.
Kommandoen find
understøtter mange andre muligheder, som kan bruges til at finde filer mere præcist:
-iname
: Søg efter filer efter navn uden hensyn til store og små bogstaver. F.eks:
find /home/user -iname myfile.txt
-regex
: Søg efter filer, hvis navne matcher et givet regulært udtryk. F.eks:
find /home/user -regex ".*.txt$"
-maxdepth
og -mindepth
: begrænser dybden af filsøgninger i underkataloger. F.eks:
find /home/user -maxdepth 2 -type f
-prune
: udelukker visse mapper fra søgningen. F.eks:
find /home/user -path /home/user/excluded -prune -o -type f -print
-print
: sender listen over fundne filer til standardoutput. For eksempel: -print:
find /home/user -type f -print
find
understøtter også søgning af filer efter forskellige attributter som f.eks. tilladelser, filattributter, SELinux-labels
og andre. Du kan finde flere oplysninger om disse muligheder i dokumentationen til find-kommandoen
.
Kommandoen kan søge efter filer og mapper i hele filsystemet, hvilket kan tage meget tid og mange ressourcer. Derfor er det vigtigt at være forsigtig, når man bruger denne kommando, og sørge for, at søgekriterierne er indstillet korrekt for at undgå at finde unødvendige filer eller fejl i systemet.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: