Skip to main content

Slik finner du filer og mapper i Linux ved hjelp av kommandolinjen

Slik finner du filer og mapper i Linux ved hjelp av kommandolinjen

Geoffrey Carr

De fleste bruker en grafisk filbehandling for å finne filer på Linux, for eksempel Nautilus i Gnome, Dolphin i KDE og Thunar i Xfce. Det er imidlertid flere måter å bruke kommandolinjen til å finne filer på Linux, uansett hvilken skrivebordssjef du bruker.

Bruke Finn kommandoen

Kommandoen "finn" lar deg søke etter filer som du kjenner til omtrentlige filnavn. Den enkleste form for kommandoen søker etter filer i gjeldende katalog og rekursivt gjennom dets underkataloger som samsvarer med de medfølgende søkekriteriene. Du kan søke etter filer etter navn, eier, gruppe, type, tillatelser, dato og andre kriterier.

Hvis du skriver følgende kommando ved spørringen, vises alle filene som finnes i den nåværende katalogen.

find .

Punten etter "finne" indikerer gjeldende katalog.

For å finne filer som samsvarer med et bestemt mønster, bruk -name argument. Du kan bruke filnavn metakaracters (for eksempel * ), men du bør enten sette en flukt karakter ( ) foran hver av dem eller vedlegg dem i anførselstegn.

Hvis vi for eksempel vil finne alle filene som starter med "pro" i dokumentmappen, vil vi bruke cd Documents/ kommandoen for å bytte til Dokumenter-katalogen, og skriv deretter inn følgende kommando:

find . -name pro*

Alle filer i den nåværende katalogen som starter med "pro" er oppført.

MERK: Finne kommandoen er som standard bokstavsfølsom. Hvis du vil at søket etter et ord eller en setning skal være ufølsom, bruk -iname alternativet med finn kommandoen. Det er tilfelle ufølsom versjon av -name kommando.

Hvis find finner ikke noen filer som samsvarer med kriteriene dine, det gir ingen utgang.

Finne kommandoen har mange alternativer tilgjengelig for å forbedre søket. For mer informasjon om finne-kommandoen, kjør man find i et Terminal-vindu og trykk Enter.

Bruke Locate Command

Locate-kommandoen er raskere enn finne-kommandoen fordi den bruker en tidligere bygget database, mens finnkommandoen søker i det virkelige systemet gjennom alle de faktiske katalogene og filene. Finn kommandoen returnerer en liste over alle banenavn som inneholder den angitte gruppen av tegn.

Databasen oppdateres med jevne mellomrom fra cron, men du kan også oppdatere det selv når som helst slik at du kan få resultater opp til minuttet. For å gjøre dette, skriv følgende kommando ved spørringen:

sudo updatedb

Skriv inn passordet ditt når du blir bedt om det.

Den grunnleggende formen for lokalkommandoen finner alle filene på filsystemet, som starter ved roten, som inneholder hele eller deler av søkekriteriene.

locate mydata

For eksempel fant kommandoen ovenfor to filer som inneholder "mydata" og en fil som inneholder "data".

Hvis du vil finne alle filer eller kataloger som inneholder nøyaktig og bare søkekriteriene dine, bruker du -b alternativet med lokaliseringskommandoen, som følger.

locate -b ‘mydata’

Bakslaget i kommandoen ovenfor er et globbing-tegn, som gir en måte å utvide wildcard-tegn i et ikke-spesifikt filnavn i et sett med bestemte filnavn. Et jokertegn er et symbol som kan erstattes av ett eller flere tegn når uttrykket er evaluert. De vanligste jokertegnene er spørsmålet ( ? ), som står for en enkelt karakter og stjernen ( * ), som står for en sammenhengende streng av tegn. I det ovennevnte eksemplet deaktiverer backslash den implisitte erstatning av "mydata" med "* mydata *" slik at du ender opp med bare resultater som inneholder "mydata".

Kommandoen mlocate er en ny implementering av lokalisering. Det indekserer hele filsystemet, men søkeresultatene inneholder bare filer som den nåværende brukeren har tilgang til. Når du oppdaterer mlocate-databasen, holder den tidsstempelinformasjonen i databasen. Dette gjør det mulig å vite om innholdet i en katalog endret uten å lese innholdet igjen og gjør oppdateringer til databasen raskere og mindre krevende på harddisken din.

Når du installerer mlocate, endres / usr / bin / locate binærfilen for å peke til mlocate. For å installere mlocate, skriv den følgende kommandoen ved spørringen hvis den ikke allerede er inkludert i Linux-distribusjonen din.

sudo apt-get install mlocate

MERK: Vi vil vise deg en kommando senere i denne artikkelen som lar deg bestemme hvor kjørbar for en kommando er plassert, hvis den eksisterer.

Kommandoen mlocate bruker ikke den samme databasefilen som standard lokalkommandoen. Derfor vil du kanskje opprette databasen manuelt ved å skrive følgende kommando ved spørringen:

sudo /etc/cron.daily/mlocate

Kommandoen mlocate vil ikke fungere før databasen er opprettet enten manuelt eller når skriptet kjøres fra cron.

For mer informasjon om enten kommandoen lokalisere eller mlocate, skriv inn man locate eller man mlocate i et Terminal-vindu og trykk Enter. Den samme hjelpeskjermen vises for begge kommandoene.

Bruke hvilken kommando

Kommandoen "som" returnerer den absolutte banen til kjørbarheten som kalles når en kommando er utstedt. Dette er nyttig for å finne plasseringen av en kjørbar for å lage en snarvei til programmet på skrivebordet, på et panel eller et annet sted i skrivebordsstyreren. For eksempel skriver du kommandoen which firefox viser resultatene som vises i bildet nedenfor.

Som standard viser den kommandoen bare den første samsvarende kjørbare. For å vise alle matchende kjørbare, bruk -a alternativ med kommandoen:

which -a firefox

Du kan søke etter flere kjørbare filer på en gang, som vist i det følgende bildet. Bare stier til kjørbare filer vises.I eksemplet nedenfor ble det bare funnet "Äúps,Äù executable".

MERK: Hvilken kommando søker bare den nåværende brukerens PATH-variabel. Hvis du søker etter en kjørbar fil som bare er tilgjengelig for roten brukeren som en vanlig bruker, vises ingen resultater.

For mer informasjon om hvilken kommando, skriv, Eman, som (uten anførselstegn) på ledeteksten i et Terminal-vindu og trykk Enter.

Bruke kommandoen Whereis

Varselkommandoen brukes til å finne ut hvor binær-, kilde- og mannsidefiler for en kommando er plassert. For eksempel skriver du inn whereis firefox Ved spørringen vises resultater som vist i det følgende bildet.

Hvis du bare vil ha banen til kjørbarheten som skal vises, og ikke stiene til kilden og mannen (ual) -sidene, bruk -b alternativ. For eksempel, kommandoen whereis -b firefox vil bare vise /usr/bin/firefox som resultatet. Dette er nyttig fordi du mest sannsynlig søker etter et programs kjørbare fil oftere enn du ville søke etter kilde- og mantsider for det programmet. Du kan også søke etter bare kildefilene ( -s ) eller bare på mansidene ( -m ).

For mer informasjon om varis kommandoen, skriv inn man whereis i et Terminal-vindu og trykk Enter.

Forstå forskjellen mellom Command Command og hvilken kommando

Varselkommandoen viser deg plasseringen for binær-, kilde- og mansidene for en kommando, mens den kommandoen bare viser deg plasseringen av binæret for kommandoen.

Varselkommandoen søker gjennom en liste over bestemte kataloger for binær-, kilde- og mannfiler mens den kommandoen søker i katalogene som er oppført i den aktuelle brukerens PATH-miljøvariabel. For varis-kommandoen, kan listen over bestemte kataloger finnes i FILES-delen av mannsidene for kommandoen.

Når det gjelder resultater som vises som standard, viser kommandoen hvor alt er funnet, mens den kommandoen bare viser den første kjørbare den finner. Du kan endre det ved å bruke -a alternativ, diskutert tidligere, for hvilken kommando.

Fordi varis kommandoen bare bruker stier hardkodet i kommandoen, kan du ikke alltid finne det du leter etter. Hvis du søker etter et program du tror kan installeres i en katalog som ikke er oppført på manssidene for varis-kommandoen, vil du kanskje bruke hvilken kommando med -a alternativ for å finne alle forekomster av kommandoen gjennom hele systemet.

Link
Plus
Send
Send
Pin