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.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave