Lær hvordan du bruger find-kommandoen i denne vejledning fra vores arkiver.
det siger sig selv, at ethvert godt Linu. – skrivebordsmiljø giver mulighed for at søge i dit filsystem efter filer og mapper. Hvis dit standardskrivebord ikke gør det — fordi dette er Linu. – kan du altid installere en app for at gøre søgning i dit kataloghierarki til en leg.
men hvad med kommandolinjen?, Hvis du tilfældigvis ofte arbejder i kommandolinjen, eller du administrerer GUI-mindre Linu? – servere, hvor tænder du, når du har brug for at finde en fil? Heldigvis har Linu.præcis det, du har brug for for at finde de pågældende filer, der er indbygget i systemet.
den pågældende kommando er find. For at gøre forståelsen af denne kommando endnu mere lokkende, når du ved det, kan du begynde at arbejde det ind i dine Bash scripts. Det er ikke kun bekvemmelighed, det er magt.,
lad os komme i gang med find-kommandoen, så du kan tage kontrol over at finde filer på dine Linu. – servere og desktops uden brug af en GUI.
Sådan bruges find-kommandoen
da jeg først skimtede Linu., tilbage i 1997, forstod jeg ikke helt, hvordan find-kommandoen fungerede; derfor syntes det aldrig at fungere som forventet. Det virkede simpelt; udsted kommandoen find filnavn (hvor filnavn er navnet på filen), og kommandoen skulle finde filen og rapportere tilbage. Lidt vidste jeg, at der var mere til kommandoen end det. Meget mere.,
Hvis du udsteder kommandoen man find, vil du se syntaksen for find-kommandoen er:
find
Hvis du ikke er bekendt med, hvordan man fungerer, kan du naturligvis være forvirret over eller overvældet af den syntaks. For at lette forståelsen, lad os forenkle det. Den mest grundlæggende syntaks for en grundlæggende find-kommando ville se sådan ud:
find /path option filename
nu ser vi det på arbejde.
Find ved navn
lad os nedbryde den grundlæggende kommando for at gøre det så klart som muligt., Den mest forenklede struktur af find-kommandoen skal indeholde en sti til filen, en mulighed og selve filnavnet. Du tænker måske, ” hvis jeg kender stien til filen, ville jeg allerede vide, hvor jeg kan finde den !”. Nå, stien til filen kan være roden til dit drev; så / ville være en legitim sti. Indtastning af det, da din vej ville tage længere tid at behandle-fordi det skal starte fra bunden — men hvis du ikke har nogen ID.om, hvor filen er, kan du starte derfra. I effektivitetens navn er det altid bedst at have mindst en ide om, hvor man skal begynde at søge.,
den næste bit af kommandoen er indstillingen. Som med de fleste Linu. – kommandoer har du en række tilgængelige indstillinger. Vi starter dog fra begyndelsen, så lad os gøre det nemt. Fordi vi forsøger at finde en fil ved navn, vi vil bruge en af to muligheder:
-
navn – bogstaver
-
inavn – store og små bogstaver
Husk, at Linux er meget bestemt om sagen, så hvis du er på udkig efter en fil med navnet Linux.odt, den følgende kommando returnerer ingen resultater.,
find / -name linux.odt
Hvis du dog skulle ændre kommandoen ved at bruge indstillingen-iname, vil find-kommandoen finde din fil, uanset sag. Så den nye kommando ser ud:
find / -iname linux.odt
Find efter type
Hvad hvis du ikke er så bekymret for at finde en fil ved navn, men hellere vil finde alle filer af en bestemt type?, Nogle af de mere almindelige fil deskriptorer:
-
f – almindelig fil
-
d – mappe
-
l – symbolsk link
-
c – karakter enheder
-
b – blok-enheder
Nu antage, at du ønsker at finde alle dine blok enheder (en fil, der refererer til en enhed) på dit system., Ved hjælp af indstillingen-type kan vi gøre det sådan:
find / -type c
ovenstående kommando ville resultere i en hel del output (meget af det indikerer tilladelse nægtet), men ville omfatte output svarende til:
/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm
Voil!! Bloker enheder.
Vi kan bruge den samme mulighed til at hjælpe os med at søge efter konfigurationsfiler. Sig, for eksempel, du ønsker at finde alle almindelige filer, der ender i .conf udvidelse., Denne kommando ville ligne:
find / -type f -name "*.conf"
ovenstående kommando ville krydse hele mappestrukturen for at finde alle almindelige filer, der slutter på .conf. Hvis du ved, at de fleste af dine konfigurationsfiler er placeret i /etc, kan du angive det sådan:
find /etc -type f -name "*.conf”
ovenstående kommando vil liste alle dine .conf filer fra / etc (Figur 1).
udsende resultater til en fil
et virkelig praktisk trick er at sende resultaterne af søgningen til en fil. Når du ved, at output kan være omfattende, eller hvis du vil kæmme resultaterne senere, kan dette være utroligt nyttigt. Til dette bruger vi det samme eksempel som ovenfor og rør resultaterne i en fil kaldet conf_search. Denne nye kommando ville se ud:
find /etc -type f -name "*.conf” > conf_search
Du vil nu have en fil (conf_search), der indeholder alle resultaterne fra find-kommandoen udstedt.,
Find filer efter størrelse
nu kommer vi til et øjeblik, hvor find-kommandoen bliver utroligt hjælpsom. Jeg har haft tilfælde, hvor desktops eller servere har fundet deres drev mystisk fyldt. For hurtigt at skabe plads (eller hjælpe med at finde problemet) kan du bruge find-kommandoen til at finde filer af en bestemt størrelse. Sig, for eksempel, du ønsker at gå store og finde filer, der er over 1000MB. Find-kommandoen kan udstedes ved hjælp af størrelsesindstillingen som sådan:
find / -size +1000MB
Du kan blive overrasket over, hvor mange filer der dukker op., Med output fra kommandoen kan du kamme gennem mappestrukturen og frigøre plads eller fejlfinding for at finde ud af, hvad der mystisk fylder dit drev.
Du kan søge med følgende størrelse beskrivelser:
-
c – bytes
-
k – Kilobyte
-
M – Megabyte
-
G – Gigabyte
-
b – 512-byte blokke
lærer
Vi har kun kradset i overfladen af find-kommando, men du har nu en grundlæggende forståelse af, hvordan til at finde filer på din Linux-systemer., Sørg for at udstede kommandoen man find for at få en dybere, mere komplet, viden om, hvordan du får dette kraftfulde værktøj til at fungere for dig.
få mere at vide om Linu.gennem det gratis kursus “Introduktion til Linu.” fra Linu. Foundation og Ed..