Betalingsmetoder Abuse

Find-kommandoen i Linux

04.03.2023, 02:43

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.

Kommandoens format

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.

Yderligere muligheder

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.