Sådan finder du filer og mapper i Linux ved hjælp af kommandolinjen

Indholdsfortegnelse:

Video: Sådan finder du filer og mapper i Linux ved hjælp af kommandolinjen

Video: Sådan finder du filer og mapper i Linux ved hjælp af kommandolinjen
Video: 📶 4G LTE USB-modem med WiFi fra AliExpress / Anmeldelse + - Indstillinger 2024, Marts
Sådan finder du filer og mapper i Linux ved hjælp af kommandolinjen
Sådan finder du filer og mapper i Linux ved hjælp af kommandolinjen
Anonim
De fleste bruger en grafisk filhåndtering til at finde filer i Linux, såsom Nautilus i Gnome, Dolphin i KDE og Thunar i Xfce. Der er dog flere måder at bruge kommandolinjen til at finde filer på Linux, uanset hvilken desktop manager du bruger.
De fleste bruger en grafisk filhåndtering til at finde filer i Linux, såsom Nautilus i Gnome, Dolphin i KDE og Thunar i Xfce. Der er dog flere måder at bruge kommandolinjen til at finde filer på Linux, uanset hvilken desktop manager du bruger.
Image
Image

Brug af Find Command

Kommandoen "find" giver dig mulighed for at søge efter filer, som du kender til de omtrentlige filnavne. Den enkleste form for kommandoen søger efter filer i den aktuelle mappe og rekursivt gennem dets undermapper, som svarer til de medfølgende søgekriterier. Du kan søge efter filer efter navn, ejer, gruppe, type, tilladelser, dato og andre kriterier.

Hvis du skriver følgende kommando ved prompten, vises alle filer, der findes i den aktuelle mappe.

find.

Prikken efter "find" angiver den aktuelle mappe.

For at finde filer, der matcher et bestemt mønster, skal du bruge
For at finde filer, der matcher et bestemt mønster, skal du bruge

-name

argument. Du kan bruge filnavnet metakaracters (f.eks

*

), men du bør enten sætte en flugt karakter (

) foran hver af dem eller vedlægge dem i citater.

Hvis vi f.eks. Vil finde alle de filer, der starter med "pro" i mappen Dokumenter, bruger vi

cd Documents/

kommandoen for at skifte til dokumentmappen, og skriv derefter følgende kommando:

find. -name pro*

Alle filer i den aktuelle mappe, der begynder med "pro", er angivet.

BEMÆRK: Find-kommandoen er som standard bogstavkänslig. Hvis du vil have søgningen efter et ord eller en sætning for at være tilfældig, skal du bruge

-iname

mulighed med find-kommandoen. Det er tilfældet ufølsom version af

-name

kommando.

Hvis
Hvis

find

Find ikke nogen filer, der matcher dine kriterier, det producerer ingen output.

Find-kommandoen har mange muligheder til at forfinne søgningen. For mere information om kommandoen find, kør

man find

i et Terminal vindue og tryk Enter.

Brug af lokaliseringskommandoen

Find-kommandoen er hurtigere end find-kommandoen, fordi den bruger en tidligere bygget database, mens find-kommandoen søger i det virkelige system gennem alle de faktiske mapper og filer. Find-kommandoen returnerer en liste over alle stinavn, der indeholder den angivne gruppe af tegn.

Databasen opdateres med jævne mellemrum fra cron, men du kan også opdatere det selv når som helst, så du kan få resultater, der er up-to-the-minute. For at gøre dette skal du skrive følgende kommando ved prompten:

sudo updatedb

Indtast dit kodeord, når du bliver bedt om det.

Den grundlæggende form for lokalkommandoen finder alle filerne på filsystemet, der starter ved roden, der indeholder hele eller en del af søgekriterierne.

locate mydata

For eksempel fandt ovenstående kommando to filer, der indeholder "mydata" og en fil, der indeholder "data".

Hvis du vil finde alle filer eller mapper, der indeholder nøjagtige og kun dine søgekriterier, skal du bruge
Hvis du vil finde alle filer eller mapper, der indeholder nøjagtige og kun dine søgekriterier, skal du bruge

-b

mulighed med lokaliseringskommandoen som følger.

locate -b ‘mydata’

Baggrunden i ovenstående kommando er et globbing-tegn, som giver mulighed for at udvide wildcard-tegn i et ikke-specifikt filnavn til et sæt specifikke filnavne. Et wildcard er et symbol, der kan erstattes af et eller flere tegn, når udtrykket er evalueret. De mest almindelige wildcard-symboler er spørgsmålet (

), som står for et enkelt tegn og asterisken (

*

), som står for en sammenhængende streng af tegn. I ovenstående eksempel deaktiverer backslash den implicitte udskiftning af "mydata" med "* mydata *", så du ender med kun resultater, der indeholder "mydata".

Kommandoen mlocate er en ny implementering af lokalisering. Det indekserer hele filsystemet, men søgeresultaterne indeholder kun filer, som den aktuelle bruger har adgang til. Når du opdaterer mlocate-databasen, holder den tidsstempeloplysninger i databasen. Dette giver mulighed for at vide, om indholdet i en mappe ændres uden at læse indholdet igen og gør opdateringer til databasen hurtigere og mindre krævende på din harddisk.
Kommandoen mlocate er en ny implementering af lokalisering. Det indekserer hele filsystemet, men søgeresultaterne indeholder kun filer, som den aktuelle bruger har adgang til. Når du opdaterer mlocate-databasen, holder den tidsstempeloplysninger i databasen. Dette giver mulighed for at vide, om indholdet i en mappe ændres uden at læse indholdet igen og gør opdateringer til databasen hurtigere og mindre krævende på din harddisk.

Når du installerer mlocate, ændres / usr / bin / locate binærfilen til punkt til mlocate. Hvis du vil installere mlocate, skal du skrive følgende kommando ved prompten, hvis den ikke allerede er inkluderet i din Linux-distribution.

sudo apt-get install mlocate

BEMÆRK: Vi vil vise dig en kommando senere i denne artikel, som giver dig mulighed for at bestemme, hvor den eksekverbare for en kommando er placeret, hvis den findes.

Image
Image

Kommandoen mlocate bruger ikke den samme databasefil som standard locate kommandoen. Derfor vil du måske oprette databasen manuelt ved at skrive følgende kommando ved prompten:

sudo /etc/cron.daily/mlocate

Kommandoen mlocate fungerer ikke, før databasen er oprettet enten manuelt eller når scriptet køres fra cron.

For mere information om enten kommandoen lokalisere eller mlocate, skriv
For mere information om enten kommandoen lokalisere eller mlocate, skriv

man locate

eller

man mlocate

i et Terminal vindue og tryk Enter. Den samme hjælpeskærm vises for begge kommandoer.

Brug af den kommando

Kommandoen "som" returnerer den absolutte sti til den eksekverbare, der kaldes, når en kommando udstedes. Dette er nyttigt for at finde placeringen af en eksekverbar for at oprette en genvej til programmet på skrivebordet, på et panel eller et andet sted i skrivebordsstyreren. For eksempel skriver du kommandoen

which firefox

viser resultaterne vist i billedet nedenfor.

Som standard viser den kommando kun den første matchende eksekverbare. Hvis du vil vise alle matchende eksekverbare filer, skal du bruge
Som standard viser den kommando kun den første matchende eksekverbare. Hvis du vil vise alle matchende eksekverbare filer, skal du bruge

-a

mulighed med kommandoen:

which -a firefox

Du kan søge efter flere eksekverbare filer på en gang, som vist i det følgende billede. Kun de stier, der findes til eksekverbare filer, vises.I eksemplet nedenfor blev der kun fundet "Eups,Äù executable".

BEMÆRK: Hvilken kommando søger kun den aktuelle brugeres PATH-variabel. Hvis du søger efter en eksekverbar fil, der kun er tilgængelig for root-brugeren som en normal bruger, vises der ingen resultater.
BEMÆRK: Hvilken kommando søger kun den aktuelle brugeres PATH-variabel. Hvis du søger efter en eksekverbar fil, der kun er tilgængelig for root-brugeren som en normal bruger, vises der ingen resultater.

For mere information om hvilken kommando, skriv, Äman, der (uden citater) ved kommandoprompten i et Terminal vindue og tryk Enter.

Brug af kommandoen Whereis

Waaris-kommandoen bruges til at finde ud af, hvor binær-, kilde- og man-sidefiler til en kommando er placeret. For eksempel skriver du

whereis firefox

Ved prompten vises resultater som vist i det følgende billede.

Hvis du kun vil have stien til den eksekverbare visning, og ikke vejene til kilden og manden (ual) siderne, skal du bruge
Hvis du kun vil have stien til den eksekverbare visning, og ikke vejene til kilden og manden (ual) siderne, skal du bruge

-b

mulighed. For eksempel kommandoen

whereis -b firefox

vil kun vise

/usr/bin/firefox

som resultat. Dette er praktisk, fordi du højst sandsynligt vil søge efter et programs eksekverbare fil oftere end du ville søge efter kilde- og man pages for det pågældende program. Du kan også søge efter kun kildefilerne (

-s

) eller kun mandens sider (

-m

).

For mere information om whereis-kommandoen, skriv

man whereis

i et Terminal vindue og tryk Enter.

Forstå forskellen mellem kommandoen der er og hvilken kommando

Varekommandoen viser dig placeringen for binær-, kilde- og man-siderne for en kommando, hvorimod den kommando kun viser placeringen af binæret for kommandoen.

Varekommandoen søger gennem en liste over specifikke mapper for binær-, kilde- og manfilerne, mens den kommando, der søges i de mapper, der er angivet i den aktuelle brugers PATH-miljøvariabel. For varis-kommandoen kan listen over specifikke mapper findes i afsnittet FILES på mandsiderne for kommandoen.

Når det kommer til resultater, der vises som standard, viser whereis-kommandoen alt, hvad den finder, mens den kommando kun viser den første eksekverbare, den finder. Du kan ændre det ved hjælp af

-a

mulighed, diskuteret tidligere, for hvilken kommando.

Fordi varis kommandoen kun bruger stier, der er hardkodede i kommandoen, kan du ikke altid finde det, du leder efter. Hvis du søger efter et program, du tror, kan installeres i en mappe, der ikke er angivet på man pages for whereis-kommandoen, vil du måske bruge den kommando med

-a

mulighed for at finde alle forekomster af kommandoen i hele systemet.

Anbefalede: