mens der er mange måder, hvorpå vi kan søge og finde filer og mapper på Linu., er det nemmeste og hurtigste sandsynligvis gennem terminalen. Men ikke mange Linu. – brugere ved om det, hvilket fører til unødvendig frustration. Her er en hurtig guide, der forhåbentlig hjælper dig med at finde det, du leder efter i dit system.
brug kommandoen Find
kommandoen “Find” er den første udvej, som en Linu. – bruger skal bruge, fordi den er meget hurtigere end noget andet derude., Årsagen til denne uovertruffen hastighed er, at Find-kommandoen faktisk ikke søger på dine lokale harddiske efter de filer eller mapper, du har brug for at finde, men mere som læser gennem mlocate.db database fil, som indeholder alle fil stier i dit system.
Hvis du ikke har installeret find endnu, skal du bruge disse kommandoer:
Debian og Ubuntu
sudo apt-get install locate
Note
yum install locate
Forbered find kommando for første brug
for At opdatere mlocate.,db-database før første brug skal du køre:
sudo updatedb
for at bruge locate skal du åbne en terminal og skrive locate efterfulgt af det filnavn, du leder efter. I dette eksempel søger jeg efter filer, der indeholder ordet ‘sunny’ i deres navn.
locate sunny
Locate kan også fortælle dig, hvor mange gange et søgeord Matches i databasen. Dette opnås ved at inkludere en “-C” parameter i kommandoen, som står for “count”.,
locate -c sunny
Hvad brugerne har brug for at have i tankerne her er, at “lokalisere” behov den specifikke og nøjagtige navn på den fil, du leder efter, i modsætning til andre mere fleksible værktøjer. Det betyder, at Find er fantastisk til at finde noget, som du er sikker på om dets navn, men ikke så godt til, når du ikke nøjagtigt husker filnavnet.
locate howtoforge
vs
locate Howtoforge
desuden, Og da “locate” læser en databasefil, kan resultaterne være forældede og ikke helt sande., For at afhjælpe dette problem, kan du opdatere din fil stier database ved at skrive “sudo updatedb” på en terminal session.
se her for flere eksempler på, hvordan du bruger kommandoen Find.
Hvis du efter det stadig ikke får det, du ledte efter, eller du simpelthen er overvældet af antallet af resultaterne, skal du fortsætte til næste trin, som er kommandoen “find”.
brug Find-kommandoen
kommandoen “find” er et meget mere kraftfuldt, men også langsommere søgeværktøj., Dette skyldes, at i modsætning til kommandoen “Find”, søger “find” faktisk dine diske efter de filer og mapper, som brugeren er efter. Finde ud af, er perfekt til, når du forsøger at finde en fil eller en mappe, men du kan ikke huske sit navn, fordi “find” kan søge efter filer, der hører til en bestemt bruger eller gruppe af brugere, filer, der blev ændret eller adgang for nylig, filer af en bestemt størrelsesorden, skjulte filer, eksekverbare filer, read-only filer, og filer med visse tilladelser., Det bedste er, at en bruger frit kan kombinere flere af ovenstående kriterier i en “find” – kommando, hvilket i det væsentlige indsnævrer resultaterne.når vi taler om at indsnævre, er det første, du vil gøre, når du kører “find”, at fortælle det at søge i en bestemt mappe. Dette vil fremskynde søgeprocessen markant, men altid afhængigt af størrelsen på biblioteket. Hvis du ved, hvor filen kan være, skal du åbne terminalen, navigere til mappen og køre “find . ”. Denne prik fortæller find at søge i den aktuelle mappe., Hvis du vil søge i din hjemmemappe i stedet, skal du erstatte prikken med”~/”, og hvis du vil søge i hele dit filsystem, skal du bruge ” / ” i stedet.
som et eksempel vil jeg søge efter en fil, der indeholder en plakat i min do .nloadmappe. Jeg ved, at filnavnet indeholder ordet” plakat ” i det, men jeg kan ikke nøjagtigt huske navnet., Af denne grund, jeg vil navigere til min download mappe via terminal med “cd Downloads”, og derefter indtaste kommandoen:
sudo find . -name "*poster*"
Her er resultatet:
Dette fortæller mig, at der er en pdf-fil navngivet som “billy_poster kopi” i mappen Downloads. Hvis jeg ikke vidste, hvor det var, ville “find” stadig fortælle mig, at det er i mappen do .nloads, hvis jeg søgte på en overordnet mappe.
nu, hvis jeg erstatter parameteren “-name” med “-iname”, kunne jeg få resultater uden hensyn til brevkasse., Det er noget, der ikke er der i “Find”, så et andet nyttigt element til, når du ikke er sikker på filnavnet.
sudo find . -iname "*poster*"
lad os nu antage, at jeg stadig søger efter den samme plakatfil, og det eneste, jeg husker, er, at det er mindre end 5 MB størrelse. Den kommando, som jeg ville bruge i dette tilfælde er:
find ~/ -size -5M
Hvis jeg vidste, at det er højere end lad os sige, 2MB, den befale ville være: “find ~/ -størrelse +2M”. Det bedste er, at find understøtter boolske operatører for at gøre søgningen endnu stærkere., I dette eksempel vil jeg bruge en kommando, der kombinerer min viden om, at filen er mindre end 5 megabyte i størrelse og også mere end 2. Kommandoen til dette ville være:
find / -size -5M -and -size +2M
sidste, lad os foreslå, at vi ikke husker noget om filen, men vi husker, at vi fik adgang til den inden for tre minutter siden. For at finde det skal du bruge find-kommandoen som:
find / -amin -3
Dette ville være “find / – amin -30” i en halv time og “-amin -120” i to timer osv., Hvis du åbnede filen for to dage siden, skal du bruge denne i stedet:
find / -time -2
Dette viser alle filer, der er adgang til i løbet af de sidste to dage på placeringen af søgningen.
Jeg tror, at ovenstående dækker de fleste af de sædvanlige brugsscenarier. For mere info om den magtfulde “find” kommando, åbne en terminal og skriv “man find”. Held og lykke med at finde det, du leder efter.
flere eksempler på Linu.find kommando kan findes her.
Leave a Reply