Slik finner du en fil i Linux med Finn kommandoen
Linux find
kommandoen er en av de viktigste og hendige kommandoene i Linux-systemer. Det kan, som navnet antyder, finne filer på Linux-PCen din basert på stort sett hvilke vilkår og variabler du angir. Du kan finne filer etter tillatelser, brukere, grupper, filtype, dato, størrelse og andre mulige kriterier ved hjelp av find
kommandoen.
find
kommandoen er tilgjengelig på de fleste Linux distro som standard, slik at du ikke trenger å installere en pakke for den.
I denne opplæringen vil vi vise deg hvordan du finner filer på Linux ved hjelp av ulike vanlige kombinasjoner av søkeuttrykk i kommandolinjen.
Finn filer etter navn i gjeldende kataloger
Den mest åpenbare måten å søke etter filer på er etternavn. For å finne en fil med navn i gjeldende katalog, kjør:
finn. -name photo.png
Hvis du vil finne en fil med navn som inneholder både store og små bokstaver, kjør:
finn. -iname photo.png
Hvis du vil finne en fil i rotkatalogen, prefiks søket ditt med sudo
som vil gi deg alle tillatelser som kreves for å gjøre det, og også '/' -symbolet som forteller at Linux skal søke i rotkatalogen. Endelig viser uttrykket -print
katalogene til søkeresultatene dine. Hvis du leter etter Gzip, skriver du:
sudo finne / -navn gzip-print
Finn filer under bestemt katalog
Hvis du vil finne filer under en bestemt katalog som "/ home", kjør:
finn / hjemnavn filnavn.txt
Hvis du vil finne filer med utvidelsen ".txt" under "/ home" -katalogen, kjør:
finn / hjemme-navn * .txt
For å finne filer hvis navn er "test.txt" under flere kataloger som "/ home" og "/ opt, " run:
finn / hjem / opt-name test.txt
For å finne skjulte filer i katalogen "/ home", kjør:
finn / hjemme-navn ". *"
For å finne en enkelt fil kalt "test.txt" og fjern den, kjør:
finn / hjemme -type f-name test.txt -exec rm -f {}
For å finne alle tomme filer under "/ opt" -katalogen, kjør:
finn / opt -type f -empty
Finn kataloger som bruker navn
Hvis du vil finne alle kataloger hvis navn er "testdir" under "/ home" -katalogen, kjør:
finn / hjemme-type d-name testdir
For å arkivere alle tomme kataloger under "/ home, " run:
finn / hjem -type d -empty
Finn filer med visse tillatelser
find
kommandoen kan brukes til å finne filer med en bestemt tillatelse ved hjelp av perm
alternativet.
For å finne alle filer hvis tillatelser er "777" i "/ home" -katalogen, kjør:
finn / hjemme -type f-perm 0777-utskrift
For å finne alle filene uten tillatelse "777, " løp:
finn. -type f! -perm 777
For å finne alle skrivebeskyttede filer, kjør:
finn / hjemme-perm / u = r
For å finne alle kjørbare filer, kjør:
finn / hjemme-perm / a = x
For å finne alle de klistrede bitfilene hvis tillatelser er "553, " kjør:
finn / hjemme-perm 1553
For å finne alle SUID-angitte filer, kjør:
finn / hjemme-perm / u = s
For å finne alle filer hvis tillatelser er "777" og endre deres tillatelser til "700, " kjør:
finn / hjemme -type f -perm 0777 -print -exec chmod 700 {};
Finn filer og kataloger basert på dato og klokkeslett
For å finne alle filene under "/ opt" som er endret tjue dager tidligere, kjør:
finn / opt-mtime 20
For å finne alle filene under "/ opt" som er åpnet tjue dager tidligere, kjør:
finn / opt-tid 20
For å finne alle filene under "/ opt" som er endret mer enn tretti dager tidligere og mindre enn fiffy dager etter:
finn / opt-mtime +30 -mtime -50
For å finne alle filene under "/ opt" som endres de siste to timene, kjør:
finn / opt-cmin -120
Finn filer og kataloger basert på størrelse
For å finne alle 10MB-filene under "/ home" -katalogen, kjør:
finn / hjemme-størrelse 10m
For å finne alle filene under "/ home" katalogen som er større enn 10 MB og mindre enn 50 MB, kjør:
finn / hjemme-størrelse + 10m-størrelse-50m
For å finne alle ".mp4" -filer under "/ home" -katalogen med mer enn 10 MB og slette dem med en enkelt kommando, kjør:
finn / hjemme -type f-name * .mp4-size + 10M -exec rm {};
Konklusjon
Og det er det - en sunn liste over måter å finne hvilke filer du leter etter på Linux. Det kan ikke være så enkelt som ditt rudimentære Windows-søk, men det er mye mer detaljert og spesifikt. Er det noen kommandoer her som vi savnet? Gi oss beskjed i kommentarene!
Bilde kreditt: Kontroll av DepositPhotos