Linux find kommandoen er en af ​​de vigtigste og brugbare kommandoer i Linux-systemer. Det kan, som navnet antyder, finde filer på din Linux-pc baseret på stort set uanset hvilke betingelser og variabler du har angivet. Du kan finde filer efter tilladelser, brugere, grupper, filtype, dato, størrelse og andre mulige kriterier ved hjælp af find kommandoen.

find kommandoen er som standard tilgængelig på de fleste Linux-distroer, så du behøver ikke at installere en pakke til den.

I denne vejledning viser vi dig, hvordan du finder filer på Linux ved hjælp af forskellige fælles kombinationer af søgeudtryk på kommandolinjen.

Find filer efter navn i aktuelle mapper

Den mest oplagte måde at søge på filer er ved navn. For at finde en fil ved navn i det aktuelle bibliotek, kør:

 Find . -name photo.png 

Hvis du vil finde en fil med navn, der indeholder både store og små bogstaver, skal du køre:

 Find . -iname photo.png 

Hvis du vil finde en fil i rodmappen, skal du prefixere din søgning med sudo som giver dig alle tilladelser, der kræves for at gøre det, og også '/' symbolet, der fortæller Linux at søge i rodmappen. Endelig viser udtrykket -print katalogerne for dine søgeresultater. Hvis du ledte efter Gzip, ville du skrive:

 sudo find / -name gzip -print 

Find filer under bestemt katalog

Hvis du vil finde filer under en bestemt mappe som "/ home", skal du køre:

 find / hjemnavn filnavn.txt 

Hvis du vil finde filer med ".txt" -udvidelsen under "/ home" -mappen, skal du køre:

 find / hjemnavn * .txt 

For at finde filer, hvis navn er "test.txt" under flere mapper som "/ home" og "/ opt, " run:

 find / home / opt -name test.txt 

For at finde skjulte filer i mappen "/ home", kør:

 find / home-name ". *" 

For at finde en enkelt fil, der hedder "test.txt" og fjerne den, skal du køre:

 find / home -type f -name test.txt -exec rm -f {} 

For at finde alle tomme filer under "/ opt" -mappen, kør:

 find / opt -type f -empty 

Find mapper, der bruger navn

Hvis du vil finde alle mapper, hvis navn er "testdir" under "/ home" -kataloget, skal du køre:

 find / home -type d-name testdir 

Hvis du vil filere alle de tomme mapper under "/ home", skal du køre:

 find / home -type d -empty 

Find filer med visse tilladelser

find kommandoen kan bruges til at finde filer med en bestemt tilladelse ved hjælp af perm indstillingen.

For at finde alle filer, hvis tilladelser er "777" i "/ home" -mappen, skal du køre:

 find / home -type f -perm 0777 -print 

For at finde alle filer uden tilladelse "777, " Kør:

 Find . -type f! -perm 777 

For at finde alle læsede filer, kør:

 find / home -perm / u = r 

For at finde alle eksekverbare filer, kør:

 find / home -perm / a = x 

For at finde alle de klistrede sæt filer, hvis tilladelser er "553, " Kør:

 find / home-perm 1553 

For at finde alle SUID-indstillede filer, kør:

 find / home -perm / u = s 

For at finde alle filer, hvis tilladelser er "777" og ændre deres tilladelser til "700, " Kør:

 find / home -type f -perm 0777 -print -exec chmod 700 {}; 

Find filer og mapper baseret på dato og klokkeslæt

For at finde alle filerne under "/ opt", som er ændret tyve dage tidligere, kør:

 find / opt -mtime 20 

For at finde alle filerne under "/ opt", der er tilgængelige tyve dage tidligere, kør:

 find / opt -atime 20 

For at finde alle filerne under "/ opt", som er ændret mere end tredive dage tidligere og mindre end fiffy dage efter:

 find / opt -mtime +30 -mtime -50 

For at finde alle filerne under "/ opt", som ændres i de sidste to timer, skal du køre:

 find / opt -cmin -120 

Find filer og mapper baseret på størrelse

For at finde alle 10MB-filer under "/ home" -kataloget, kør:

 find / home-size 10M 

For at finde alle filerne under "/ home" -kataloget, der er større end 10 MB og mindre end 50 MB, skal du køre:

 find / home-size + 10M-size -50M 

For at finde alle ".mp4" -filer under "/ home" -mappen med mere end 10 MB og slet dem med en enkelt kommando, kør:

 find / home -type f -name * .mp4-size + 10M -exec rm {}; 

Konklusion

Og der er det - en sund liste over måder at finde de filer, du leder efter på Linux. Det kan ikke være så enkelt som din rudimentære Windows søgning, men det er meget mere detaljeret og specifikt. Er der nogen kommandoer her, vi savnede? Lad os vide i kommentarerne!

Billedkredit: Kontrol af DepositPhotos