TED's secret to great public speaking | Chris Anderson
Innholdsfortegnelse:
- Linux
find
kommandosyntax - Finn filer etter navn
- Finn filer etter utvidelse
- Finn filer etter type
- Finn filer etter størrelse
- Finn filer etter endringsdato
- Finn filer etter tillatelser
- Finn filer etter eier
- Finn og slett filer
- Konklusjon
find
kommandoen er et av de kraftigste verktøyene i Linux-systemadministratorens arsenal. Den søker etter filer og kataloger i et kataloghierarki basert på et gitt brukeruttrykk og kan utføre brukerspesifisert handling på hver matchede fil.
Du kan bruke
find
kommandoen til å søke etter filer og kataloger basert på tillatelser, type, dato, eierskap, størrelse og mer. Det kan også brukes i kombinasjon med andre verktøy som
grep
eller
sed
.
Linux
find
kommandosyntax
Den generelle syntaks for finnkommandoen er som følger:
find
-
options
styrer behandlingen av de symboliske koblingene, feilsøkingsalternativene og optimaliseringsmetodenpath…
Attributtetpath…
attributtet definerer startkatalogen eller katalogene der finner vil søke i filene.expression
består av alternativer, søkemønstre og handlinger atskilt av operatører.
For å søke etter filer i en katalog, må brukeren som påkaller finnkommandoen ha lesetillatelser i den katalogen.
La oss ta en titt på følgende eksempel:
find -L /var/www -name "*.js"
- Alternativet
-L
(alternativer) forteller finnkommandoen for å følge symboliske lenker./var/www
(bane…) spesifiserer katalogen som skal søkes. (Uttrykk)-name "*.js
forteller om å søke etter filer som slutter med.js
(JavaScript-filer).
Finn filer etter navn
Å finne filer med navn er sannsynligvis den vanligste bruken av finnkommandoen. For å finne en fil etter
-name
, fulgte alternativet-navn navnet på filen du leter etter.
For å søke etter en fil som heter
document.pdf
i katalogen
/home/linuxize
vil du for eksempel bruke følgende kommando:
find /home/linuxize -type f -name document.pdf
Hvis du vil utføre et lite
-iname
søk, endrer du alternativet
-name
med
-iname
:
find /home/linuxize -type f -iname document.pdf
Kommandoen over vil samsvare med "Document.pdf", "DOCUMENT.pdf"..etc.
Finn filer etter utvidelse
Å søke etter filer etter filtype er det samme som å søke etter filer etter navn. For å finne alle filer som slutter med
.log.gz
i katalogen
/var/log/nginx
kan du for eksempel bruke:
find /var/log/nginx -type f -name '*.log.gz'
Det er viktig å nevne at når du bruker jokertegnet, må du enten sitere mønsteret eller unnslippe stjerne
*
-symbolet med motsnitt
\
så det ikke blir tolket av skallet.
For å finne alle filer som ikke samsvarer med regex
*.log.gz
kan du bruke alternativet
*.log.gz
. For å finne alle filer som ikke ender i
*.log.gz
, vil du for eksempel bruke:
find /var/log/nginx -type f -not -name '*.log.gz'
Finn filer etter type
Noen ganger kan det hende du må søke etter spesifikke filtyper som normale filer, kataloger eller symlinker. I Linux er alt en fil.
For å søke etter filer basert på deres type, bruk alternativet
-type
og en av følgende beskrivere for å spesifisere filtypen:
-
f
: en vanlig fild
: katalogl
: symbolsk lenkec
: tegnenheterb
: blokkeringsenheterp
: navngitt pipe (FIFO)s
: socket
For å finne alle kataloger i den gjeldende arbeidskatalogen, vil du for eksempel bruke:
find. -type d
Det vanlige eksemplet vil være å rekursivt endre rettighetene til nettstedfilen til
644
og katalogtillatelser til
755
ved å bruke
chmod
kommandoen:
find /var/www/my_website -type d -exec chmod 0755 {} ;
find /var/www/my_website -type f -exec chmod 0644 {} ;
Finn filer etter størrelse
For å finne filer basert på filstørrelsen, passerer du
-size
sammen med størrelseskriteriene. Du kan bruke følgende suffikser for å spesifisere filstørrelsen:
-
b
: 512-byte blokker (standard)c
: bytew
: to-byte ordk
: KilobytesM
: MegabyteG
: Gigabyte
Følgende kommando vil finne alle filer med nøyaktig
1024
byte i
/tmp
katalogen:
find /tmp -type f -size 1024c
find
kommandoen lar deg også søke etter filer som er større eller mindre enn en spesifisert størrelse.
I eksemplet nedenfor søker vi etter alle filer som er mindre enn
1MB
i den gjeldende arbeidskatalogen. Legg merke til minus
-
symbolet før størrelsesverdien:
find. -type f -size -1M
find. -type f -size +1M
Du kan til og med søke etter filer innenfor et størrelsesområde. Følgende kommando vil finne alle filer mellom
1
og
2MB
:
find. -type f -size +1M -size 21M
Finn filer etter endringsdato
find
kommandoen kan også søke etter filer basert på deres siste endring, tilgang eller endringstid.
Samme som når du søker etter størrelse, bruk pluss- og minus-symbolene for “større enn” eller “mindre enn”.
La oss si at for noen dager siden endret du en av dovecot-konfigurasjonsfilene, men du glemte hvilken. Du kan enkelt filtrere alle filene under katalogen
/etc/dovecot/conf.d
som ender med
.conf
og har blitt endret de siste fem dagene med:
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
Her er et annet eksempel på filtrering av filer basert på endringsdatoen ved å bruke
-daystart
alternativet. Kommandoen nedenfor viser alle filene i
/home
som ble endret for
30
eller flere dager siden:
find /home -mtime +30 -daystart
Finn filer etter tillatelser
Alternativet
-perm
lar deg søke etter filer basert på filtillatelsene.
For å finne alle filer med tillatelser på nøyaktig
775
i katalogen
/var/www/html
, vil du for eksempel bruke:
find /var/www/html -perm 644
Du kan prefiksere numerisk modus med minus
-
eller skråstrek
/
.
Når skråstrek
/
brukes som prefiks, må minst en kategori (bruker, gruppe eller andre) ha minst de respektive bitene satt for at en fil skal matche.
Tenk på følgende eksempelkommando:
find. -perm /444
Kommandoen ovenfor vil matche alle filene med lesetillatelser satt for enten bruker, gruppe eller andre.
Hvis minus
-
brukes som prefiks, må for at filen skal samsvare med minst de angitte bitene være angitt. Følgende kommando vil søke etter filer som har lese- og skrivetillatelse for eieren og gruppen og kan leses av andre brukere:
Finn filer etter eier
For å finne filer som eies av en bestemt bruker eller gruppe, bruk alternativene
-user
og
-group
.
For å søke etter alle filer og kataloger som eies av brukeren
linuxize
, vil du for eksempel kjøre:
find / -user linuxize
Her er et ekte eksempel. La oss si at du vil finne alle filer som eies av brukerens
www-data
og endre eierskapet til de matchede filene fra
www-data
til
nginx
:
find / -user www-data -type f -exec chown nginx {} ;
Finn og slett filer
For å slette alle samsvarende filer, legg alternativet-slett til slutten av kamputtrykket.
Forsikre deg om at du bare bruker dette alternativet når du er sikker på at resultatet samsvarer med filene du vil slette. Det er alltid en god idé å skrive ut de matchede filene før du bruker alternativet-
-delete
.
For eksempel å slette alle filer som slutter med
.temp
fra
/var/log/
du vil bruke:
find /var/log/ -name `*.temp` -delete
Bruk alternativet-
-delete
med ekstrem forsiktighet. Kommandolinjen for finn blir evaluert som et uttrykk, og hvis du legger til alternativet-slett først, vil kommandoen slette alt under startpunktene du spesifiserte.
Når det gjelder kataloger, kan
find
bare slette tomme kataloger som er
rmdir
.
Konklusjon
Vi har vist deg hvordan du bruker finnkommandoen med forskjellige alternativer og kriterier.
Denne artikkelen skal gi deg en grunnleggende forståelse av hvordan du finner filer på Linux-systemene dine. Du kan også besøke
find
man-siden og lese om alle andre kraftige alternativer for
find
kommandoen.
Det finnes forskjellige måter å dele filer mellom PC og mobil. For eksempel kan du bruke Bluetooth, WiFi File Transfer apps, datakabel, etc. for å overføre dokument, video, lyd og andre filer. Men du vil legge merke til at disse metodene bare fungerer hvis din PC og mobil er foran deg. Hvis din PC er hjemme og mobilen din er på kontoret, kan du ikke be noen om å sende noen filer fra din PC til mobilen din. Åpenbart kan du bruke skylagring for å dele filer, men det krever innloggingsinformasjon.
PushBullet
Hvordan sammenligne to pdf-filer ved siden av hverandre ved å bruke diffpdf
Lær hvordan du gjør en side om side-sammenligning av to PDF-filer ved bruk av DiffPDF.
Hvordan frigjøre ram i vinduer ved å bruke kommandolinjen
Har du noen gang ønsket å frigjøre RAM i Windows ved å bruke annet enn en kommandolinje? Slik kan du gjøre det, med en kul liten app.