Finn-Kommandoen i Linux (Finne Filer og Kataloger)
find
– kommandoen er en av de mest kraftfulle verktøy i Linux-system administratorer arsenal. Den søker etter filer og mapper i en mappe hierarki basert på en bruker gitt uttrykk og kan utføre bruker-spesifiserte tiltak på hver matchet fil.
Du kan bruke find
kommando for å søke etter filer og kataloger basert på deres rettigheter, type, dato, eierskap, størrelse, og mer., Det kan også være kombinert med andre verktøy, for eksempel grep
eller sed
.
finn Kommandosyntaksen #
generell syntaks for find
– kommandoen er som følger:
-
options
attributt styrer behandling av symbolske koblinger, debugging valg, og optimalisering av metoden. -
path...
attributtet definerer start-katalogen, eller kataloger der finn vil søke etter filer., -
expression
attributt består av valg, søkemønster, og handlinger som er atskilt av operatører.
for Å søke etter filer i en mappe, vil brukeren å påkalle find
– kommandoen må ha lesetilgang på at katalogen.
La oss ta en titt på følgende eksempel:
søk etter Filer etter filnavn, #
Finne filer etter navn er trolig den mest vanlige bruken av find
– kommandoen., For å finne en fil ved navn, bruk -name
alternativ etterfulgt av navnet på filen du søker etter.
For eksempel, for å søke etter en fil som heter document.pdf
i /home/linuxize
– katalogen, kan du bruke følgende kommando:
for Å kjøre en bokstaver søk endre -name
alternativet med -iname
:
– kommandoen over vil matche «Dokument.pdf», «DOKUMENT.pdf» ..osv.,
Finn-Filer ved Utvidelse #
Søke etter filer av filtypen er det samme som å søke etter filer etter navn. For eksempel, for å finne alle filer som slutter med .log.gz
i /var/log/nginx
directory, vil du skriv:
Det er viktig å nevne at du må enten sitat mønster eller unnslippe stjerne *
symbolet med skråstrek \
slik at det ikke blir tolket av skallet når du bruker jokertegn.,
for Å finne alle filer som ikke samsvarer med regeluttrykk *.log.gz
du kan bruke -not
alternativ. For eksempel, for å finne alle filer som ikke ender i *.log.gz
du kan bruke:
Finn Filer av Typen #
noen Ganger trenger du kanskje å søke etter bestemte filtyper som vanlige filer, kataloger, eller symlinker. I Linux, alt er en fil.,div>: navngitt pipe (FIFO)
s
: socketFor eksempel, for å finne alle kataloger i den gjeldende arbeidsmappen , kan du bruke:
Det vanlig eksempel ville være å undermapper endre nettstedet filtillatelsene til 644
og mappe tillatelser til 755
med chmod
kommando:
Finn-Filer av Størrelse #
for Å finne filer som er basert på fil-størrelse, passere -size
– parameteren sammen med størrelsen kriterier.,9fdb538a6b»>: 512-byte blokker (standard)
c
: bytew
: to-byte ordk
: KilobyteM
: MegabyteG
: GigabyteDe følgende kommandoene vil finne alle filer nøyaktig 1024
byte inne /tmp
– katalogen:
find
– kommandoen lar deg også til å søke etter filer som er større eller mindre enn en spesifisert størrelse.,
I følgende eksempel vil vi søke etter alle filer som er mindre enn 1MB
i den gjeldende arbeidsmappen. Legg merke minus -
symbolet før størrelsen verdi:
Hvis du vil søke etter filer med en størrelse større enn 1MB
, så du trenger ikke å bruke pluss +
symbol:
Du kan også søke etter filer i en størrelse utvalg., De følgende kommandoene vil finne alle filer mellom 1
og 2MB
:
Finn-Filer ved endringsdato #
find
– kommandoen kan også søke etter filer basert på deres siste endring, få tilgang til, eller endre tid.
Samme som når du søker etter størrelse, bruk pluss og minus-symboler for «større enn» eller «mindre enn».
La oss si at du har et par dager siden, du har modifisert en av dovecot-konfigurasjonsfiler, men du har glemt som en., Du kan enkelt filtrere ut alle filer under /etc/dovecot/conf.d
katalogen som avsluttes med .conf
og har blitt endret i løpet av de siste fem dagene:
Her er et annet eksempel på filtrering av filer, basert på endring dato ved å bruke -daystart
alternativ., Kommandoen nedenfor viser en liste over alle filer i /home
katalogen som ble endret 30
eller flere dager siden:
Finn Filer av Tillatelser #
-perm
alternativet lar deg søke etter filer basert på filrettigheter.,
For eksempel, for å finne alle filer med tillatelser av nøyaktig 775
i /var/www/html
– katalogen, kan du bruke:
Du kan prefiks numerisk modus med minus -
eller skråstrek /
.
Når slash /
brukes som prefiks, deretter minst én kategori (bruker, gruppe eller annet) må ha minst respektive bits satt for en fil for å matche.,
Tenk deg følgende eksempel kommando:
– kommandoen ovenfor vil matche alle filer med lese angi tillatelser for enten bruker, gruppe, eller andre.
Hvis minus -
brukes som prefiks, så for filen for å matche, i hvert fall de som er angitt biter må være satt., Følgende kommando vil søke etter filer som har lese-og skrivetilgang for eier og gruppe, og kan leses av andre brukere:
Finn Filer av Eieren #
for Å finne filer som eies av en bestemt bruker eller gruppe, bruk -user
og -group
valg.
For eksempel, for å søke etter alle filer og kataloger som eies av brukeren linuxize
, kan du kjøre:
Her er en eksemplet fra den virkelige verden., La oss si at du ønsker å finne alle filer som eies av brukeren www-data
og endre eierskap av matchet filer fra www-data
til nginx
:
Finne og Slette Filer #
for Å slette alle resultatfilene, legg -delete
alternativ til slutten av kampen uttrykk.
sikker på at du ved hjelp av dette alternativet bare når du er sikker på at resultatet samsvarer med de filer du vil slette., Det er alltid en god idé å skrive ut matchet filer før du bruker -delete
alternativ.
For eksempel, hvis du vil slette alle filer som slutter med .temp
fra /var/log/
, kan du bruke:
-delete
alternativet med ekstrem forsiktighet. find
– kommandoen er evaluert som et uttrykk, og hvis du vil legge til -delete
valg først, kommandoen vil slette alt under utgangspunkt du har angitt.,Når det kommer til kataloger, find
kan kun slette tomme mapper, samme som rmdir
.
Konklusjon #
Vi har vist deg hvordan du bruker find
– kommandoen med ulike valg og kriterier.
Denne artikkelen skal gi deg en grunnleggende forståelse av hvordan å finne filer på din Linux-systemer. Du kan også besøke find
mann-side og lese om alle andre kraftige valg av find
– kommandoen.