Hur man söker och hittar filer i Linux med kommandon

Ofta är det nödvändigt att söka efter vissa typer av filer i Linux -miljöer och vi vet inte rätt sätt att söka i dem ordentligt utan att slösa tid.

För Linux distros har ett kommando som heter find utvecklats som har utvecklats för att rekursivt filtrera objekt i filsystemet baserat på en villkorlig mekanism. Med det här kommandot kan vi söka efter en fil eller katalog i dess filsystem.

Om vi ​​inkluderar parametern -exec kan filerna hittas och bearbetas omedelbart inom samma kommando.

1. Hitta filer efter namn eller tillägg Linux -kommandon


Vi kan använda hitta från kommandoraden för att hitta en specifik fil med namn eller tillägg.

Dess syntax är:

 hitta / home / användarnamn / -namn "* .extension"
Till exempel kommer vi att leta efter filer som slutar på .gz:

FÖRSTORA

2. Praktiska kommandon och syntax att använda med hitta Linux -kommandon


Med kommandot find har vi några parameteralternativ som:
 hitta alternativ start / sökuttryck
Alternativattributet styr beteende- och optimeringsmetoden för sökprocessen. Hem / sök-attributet definierar den översta katalogen där sökningen börjar filtrera.

Uttrycksattributet styr testerna som söker i kataloghierarkin för att producera utdata.
Till exempel kan vi utföra följande:

 hitta -O3 -L / var / www / -name "* .html"
Detta kommando möjliggör maximal optimeringsnivå (-O3) och låter dig följa de symboliska länkarna (-L) för att söka i hela katalogträdet på sökvägen / var / www / efter filer som slutar med .html.

FÖRSTORA

3. Alternativ och optimering med Find Linux -kommandon


Finds standardkonfiguration för sökning kommer att ignorera de symboliska länkarna (genvägsfiler), om vi vill hitta och följa de symboliska länkarna kan vi lägga till -L -alternativet till kommandot som vi såg tidigare. Find har tre (3) optimeringsnivåer som är -O1, -O2 och -O3.

Optimeringen -O1 är standard och tvingar dig att söka efter filter baserat på filnamn innan du kör alla andra tester.

Optimering på -O2 -nivå prioriterar filnamnsfilter, som i -O1, och kör sedan all filtypsfiltrering innan du fortsätter med andra mer resurskrävande förhållanden. Optimering av -O3 -nivå gör det möjligt att hitta en djupare optimering och ordnar om alla tester baserat på deras relativa utgif.webpter och sannolikheten för bättre resultat.

Några av alternativen är:

Det är ett filter baserat på det första filnamnet

 -O1 (standard)

Använd filnamnet först och sedan filtypen

 -O2

Ändra om resultatTillåter sökning att automatiskt omordna sökningen baserat på effektiv resursanvändning och sannolikheten för bättre resultat.

 -O3

Söker nuvarande katalog samt alla underkataloger X nivåer djupt

 -djup X

Sök oavsett text

 -namn

Returnerar endast resultaten som inte matchar testfallet

 -inte

Utför en filsökning

 -typ f

Sök kataloger

 -typ d

4. Hitta filer efter tidsändring Linux -kommandon


Sökkommandot har möjlighet att filtrera en kataloghierarki baserat på den senaste ändringen av filen.
Syntaxen är:
 hitta / -namn "* conf" -mtime 8 hitta / home / user / -name "* conf" -mtime 2
Det första kommandot visar en lista över alla filer i hela filsystemet som slutar med conf -tecken och har ändrats under de senaste 8 dagarna. Det andra kommandot filtrerar användarens hemkatalog för filer med namn som slutar med konf -tecken och har ändrats under de två senaste dagarna.

Använd Grep för att hitta innehållsbaserade filer Linux-kommandonSökkommandot kan bara filtrera kataloghierarkin baserat på ett filnamn och metadata, så om du behöver söka baserat på filinnehåll, använd ett verktyg som grep.

Vi kommer att använda följande syntax:

 hitta. -typ f -exec grep "exempel" '{}' \; -skriva ut
Detta hittar alla objekt i den aktuella kataloghierarkin (.) Vilken är en fil (-typ f) och kör sedan grep-kommandot "exempel" för varje fil som uppfyller villkoren. Matchande filer skrivs ut på skärmen (-utskrift). Hängslen ({}) är en platshållare för sökresultatens resultat. {} Är inneslutet i enstaka citattecken (') för att undvika att grep återger ett felaktigt filnamn. Kommandot -exec avslutas med ett semikolon "(;)", som måste undvikas "(\;)" för att undvika tolkning av skalet.

Så här hittar och bearbetar du filer med hjälp av kommandot Find Command LinuxVi kan använda alternativet -exec för att köra kommandon mot alla objekt som matchar sökuttrycket.

Dess syntax är:

 hitta. -namn "rc.conf" -exec chmod o + r '{}' \;
Detta filtrerar alla objekt i den aktuella hierarkin (.) För filer som heter rc.conf och kör kommandot chmod eller + r för att ändra behörigheterna för sökresultaten.

Så hitta är en allierad för fullständig filsökning på Linux.

wave wave wave wave wave