Hvordan finne en fil i Linux ved hjelp av kommandolinjen

Hva du bør vite

  • Kommandoen som brukes til å søke etter filer kalles finne. Den grunnleggende syntaksen for find-kommandoen er som følger: finne [filnavn].
  • Etter finne, bruk en snarvei for å spesifisere katalogen: "." for nestede mapper; "/" for hele filsystemet; "~" for den aktive brukerens hjemmekatalog.
  • Bruk uttrykk -Navn for å søke etter et filnavn. For eksempel: finn / -navn *.mp3 søker i hele filsystemet etter en fil som heter *.mp3.

Denne artikkelen forklarer hva Linuxfinne kommandoen er, tilbyr søkestedsnarveier, vanlige uttrykk, eksempelbruk, mønstre, hvordan du sender utdata fra find-kommandoen til en fil, og hvordan du finner og utfører en kommando mot en fil.

Bruk 'finn'-kommandoen for å finne en fil i Linux

Kommandoen som brukes til å søke etter filer kalles finne.

Den grunnleggende syntaksen for find-kommandoen er som følger:

finne filnavn.

Den gjeldende aktive banen markerer søkestedet, som standard. For å søke i hele stasjonen, skriv inn følgende:

finn / filnavn.

Hvis du derimot vil søke i mappen du befinner deg i, bruk følgende syntaks:

finne. filnavn.
Finn kommandoen lorem.odt i terminalvinduet på Ubuntu Linux

Når du søker etter navn på hele stasjonen, bruk følgende syntaks:

finn / -navn filnavn.
  • Den første delen av finn-kommandoen er finn-kommandoen.
  • Den andre delen er hvor du skal begynne å søke fra.
  • Den neste delen er et uttrykk som bestemmer hva du skal finne.
  • Den siste delen er navnet på filen du skal finne.

For å få tilgang til skallet (noen ganger kalt terminalvinduet) i de fleste distribusjoner, klikk på det relevante ikonet eller trykk Ctrl+Alt+T.

Søk etter stedssnarveier

Det første argumentet etter finn-kommandoen er stedet du ønsker å søke. Selv om du kan spesifisere en spesifikk katalog, kan du bruke en metakarakter å tjene som vikar. De tre metategnene som fungerer med denne kommandoen inkluderer:

  • Periode (.): Spesifiserer gjeldende og alle nestede mapper.
  • Fremover skråstrek (/): Spesifiserer hele filsystemet.
  • Tilde (~): Spesifiserer den aktive brukerens hjemmekatalog.

Å søke i hele filsystemet kan generere tilgangsnektet feil. Kjør kommandoen med forhøyede rettigheter (ved å bruke sudo-kommandoen) hvis du trenger å søke på steder som standardkontoen din vanligvis ikke har tilgang til.

Uttrykkene

Det vanligste uttrykket du vil bruke er -Navn, som søker etter navnet på en fil eller mappe.

Det er imidlertid andre uttrykk du kan bruke:

  • -amin n: Filen ble sist åpnet +/- n minutter siden, avhengig av hvordan du angir tiden.
  • -nyere: Tar en annen fil som referanse for å finne eventuelle filer som ble åpnet for nylig og referansefilen.
  • -tid n: Filen ble sist åpnet mer/færre enn n dager siden, avhengig av hvordan du angir måltiden (n).
  • -cmin n: Filen ble sist endret n minutter siden, avhengig av hvordan du angir måltiden (n).
  • -cnewer: Tar en annen fil som referanse for å finne eventuelle filer som ble åpnet for nylig og referansefilen.
  • -ctime n: Filen ble sist åpnet mer/færre enn n dager siden, avhengig av hvordan du angir måltiden (n).
  • -tømme: Filen er tom.
  • -kjørbar: Filen er kjørbar.
  • -falsk: Alltid falsk.
  • -fstype type: Filen er på det angitte filsystemet.
  • -gid n: Filen tilhører gruppen med ID n.
  • -gruppegruppenavn: Filen tilhører den navngitte gruppen.
  • -ilname mønster: Søk etter en symbolsk lenke, men ignorer saken.
  • -iname mønster: Søk etter en fil, men ignorer saken.
  • -inum n: Søk etter en fil med den angitte inoden.
  • -ipath sti: Søk etter en sti, men ignorer saken.
  • -iregex uttrykk: Søk etter et uttrykk, men ignorer tilfellet.
  • -lenker n: Søk etter en fil med det angitte antallet lenker.
  • -navnet: Søk etter en symbolsk lenke.
  • -mmin n: Filen ble sist åpnet +/- n minutter siden, avhengig av hvordan du angir tiden.
  • -mtime n: Filen ble sist åpnet mer/færre enn n dager siden, avhengig av hvordan du angir måltiden (n).
  • -navn navn: Søk etter en fil med det angitte navnet.
  • -nyere navn: Søk etter en fil som er redigert nyere enn referansefilen som er gitt.
  • -nogruppe: Søk etter en fil uten gruppe-ID.
  • -nouser: Søk etter en fil uten bruker knyttet til den.
  • -sti sti: Søk etter en sti.
  • -leselig: Finn filer som er lesbare.
  • -regex mønster: Søk etter filer som samsvarer med et regulært uttrykk.
  • -type type: Søk etter en bestemt type. Typealternativer inkluderer:
    • -type d: Regissør
    • -type f: Filer
    • -type l: Symbolkoblinger
  • -uid uid: Filens numeriske bruker-ID er den samme som uid.
  • -brukernavn: Filen eies av brukeren som er spesifisert.
  • -skrivbar: Søk etter filer som kan skrives til.

Eksempel på bruk av Finn-kommandoen

Her er noen av måtene du kan bruke finn-kommandoen på.

Hvordan finne filer som ble åpnet for mer enn et visst antall dager siden

Slik finner du alle filene i hjemmemappen du har fått tilgang til for mer enn 100 dager siden:

finn ~ -tid +100.

Hvordan finne tomme filer og mapper

Slik finner du alle de tomme filene og mappene i systemet ditt:

finn / -tom.

Hvordan finne alle de kjørbare filene

Slik finner du alle de kjørbare filene på datamaskinen din:

finn / -kjørbar.

Hvordan finne alle de lesbare filene

Slik finner du alle filene som er lesbare:

finne / -lesbar.

Mønstre

Når du søker etter en fil, kan du bruke et mønster. Søk for eksempel etter alle filer med filtypen mp3:

finn / -navn *.mp3.

Avhengig av skallet du bruker, må du kanskje unnslippe stjernen. Hvis du kjører kommandoen og ikke får resultatene du forventer, kan du prøve å sitere hele mønsteret for å unnslippe stjernen, slik: finn / -navn '*.mp3'

Terminal i Ubuntu Linux viser kommandoen " finn -navn *.mp3"

Hvordan sende utdata fra Finn-kommandoen til en fil

Hovedproblemet med find-kommandoen er at den noen ganger kan returnere for mange resultater til å se på på en gang. Pipe utgangen til halekommando, eller skriv ut linjene til en fil som følger:

finn / -navn *.mp3 -fskriv ut navnavfiltilutskrifttil.

Hvordan finne og utføre en kommando mot en fil

For å søke etter og redigere en fil samtidig, skriv inn:

finn / -navn filnavn -exec nano '{}' \;

Kommandoen ovenfor søker etter en fil som heter filnavn og kjører deretter nano-editoren for filen den finner.

Nano er navnet på en kommando, ikke en eksakt del av denne syntaksen.