Filinnhold i Linux er data som er lagret i en fil, og som kan leses eller endres ved hjelp av ulike verktøy og kommandolinjen. Ofte trenger du å søke etter filer etter dem, slik gjør du det.
Innholdet i filer kan være tekst eller binært, avhengig av hvilken type data den lagrer. Tekstfiler inneholder tegn og strenger som kan leses av mennesker. Binære filer inneholder binære data, for eksempel kjørbar kode, bilder, video- og lydfiler. Innholdet i filer kan vises i en terminal ved hjelp av cat-
eller less-kommandoen
, og redigeres ved hjelp av tekstredigeringsprogrammer som vi
, nano
eller emacs
.
Filsøk etter innhold i Linux er nødvendig for raskt å finne filer som inneholder en spesifikk tekst, et ord, en frase eller et tegn. Det kan være nyttig for å finne konfigurasjonsfiler, logger og andre filer i store kataloger med mange underkataloger. Det kan også være nyttig når du utforsker et filsystem på jakt etter filer som inneholder et bestemt virus eller uønsket kode. Med et kraftig og fleksibelt filsøk etter innhold kan du raskt finne filene du trenger, og arbeide med dem på en enkel måte.
For å søke etter filer etter innhold i Linux kan du bruke grep-kommandoen
.
Kommandosyntaks:
grep [options] [template] [files]
/home/user
som inneholder strengen "hello
":grep -r "hello" /home/user
/etc-mappen
og dens undermapper som inneholder ordet "network"
:grep -R "network" /etc
/var/log-mappen
som inneholder meldingen "error"
:grep -R "error" /var/log
.txt
som inneholder strengen "important"
i mappen /home/user
:grep "important" /home/user/*.txt
"password"
i /etc-mappen
, og lagre resultatet i filen passwords.log:
grep -R "password" /etc > passwords.log
-i
: ignorerer store og små bokstaver i søk-n
: skriver ut linjenumre som inneholder den nødvendige informasjonen-c
: skriver bare ut antall linjer som inneholder den ønskede informasjonen-v
: søk etter linjer som ikke inneholder den angitte informasjonenI tillegg til grep-kommandoen
kan du bruke find-kommandoen
til å søke etter filer med spesifikt innhold i bestemte mapper. Søk med denne kommandoen er imidlertid langsommere enn med grep-kommandoen
.