Så här använder du kommandot Find i Linux

När du arbetar i en UNIX -miljö, som Linux i det här fallet, är det idealiskt att i detalj veta användningen av några kommandon som hjälper oss med flera uppgif.webpter, antingen administrativa eller personliga. En av dem är Find -kommandot som, som namnet anger, används för att hitta filer eller element som finns i operativsystemet på ett enkelt men funktionellt och komplett sätt.

När vi bestämmer oss för att använda kommandot find, kan vi söka och hitta listan över filer eller kataloger baserat på de villkor som vi anger i användningssyntaxen som ska köras. Därefter ser vi vad kommandot find är och hur vi kan använda det i Linux med dess olika parametrar.

Vad är att hittaFind är ett kommando inom Linux -distributioner som är mycket användbart trots att det är något okänt. Det är ett kommando som kommer att underlätta uppgif.webpten att hitta en fil när vi har många filer och det är verkligen svårt att hitta den. Förutom filer kan du också söka eller radera hela kataloger. Du kan söka med specifika filter som storlek, namn, tillägg, datum …

Filtrering av sökningar med SökEn av de stora fördelarna med att använda det här kommandot är att vi kan filtrera resultaten med olika variabler som:

  • Behörigheter
  • Grupper
  • Användare
  • Typ av fil
  • Datum för skapande eller ändring
  • Storlek och fler alternativ tillgängliga

Solvetic kommer att förklara olika metoder för att använda kommandot Find effektivt i Linux och för detta fall kommer vi att använda Ubuntu 19.04. Vi kommer att se hur vi kan använda kommandot find för att hitta och söka efter filer med filter med Linux -terminalen.

1. Hur man söker filer efter namn eller tillägg med kommandon i Linux


Detta är den viktigaste delen av att använda kommandot Sök och för detta krävs det antingen att veta namnet på objektet eller dess förlängning (.mp4, .txt, Jpg.webp, etc.) för att få ett direkt resultat.

Steg 1
Till exempel vill vi hitta en fil som heter Solvetic.docx som finns i en mapp på skrivbordet, i det här fallet måste vi navigera till den sökvägen och sedan utföra följande:

 hitta -namn Solvetic.docx 
Steg 2
Som ett resultat kommer vi att se mappen där filen är värd (om tillämpligt):

Steg 3
Tvärtom, om vi vill se alla filer med ett specifikt tillägg, till exempel .docx, kör vi följande:

 hitta -namn "* .docx"
Steg 4
Asterisken listar alla filer med detta tillägg

Steg 5
Syntaxen för allmänna ändamål för kommandot Sök är följande:

 hitta [-H] [-L] [-P] [sökväg …] [uttryck] 
Steg 6
Dessa parametrar är:

-HDen följer inte symboliska länkar, bara förutom om kommandoradsargument bearbetas.

-LFölj de symboliska länkarna.

-PDet följer aldrig symlänkar och är standardalternativet

Steg 7
Alternativet [sökväg …] anger platsen där sökningen ska utföras på Linux. Parametern [expression] kan vara operatörer, alternativ, tester eller åtgärder som ska utföras, vi ser att som standard kommer Find -kommandot att ignorera de tillgängliga symboliska länkarna, men med -L kommer vi att söka efter dem för mer fullständiga resultat.
Det finns tre optimeringsnivåer som vi kan välja när vi kör Sök, dessa är:

  • -O1
  • -O2
  • -O3

Steg 8
Värdet -O1 är standardalternativet och dess funktion är att tvinga kommandot Sök att söka baserat på det filnamn som vi har definierat. -O2 -nivån tar hand om att prioritera filnamnsfiltren, sedan körs alla filter baserat på filtypen och senare använder de andra villkor för fullständiga resultat och -O3 -nivån utför en djupare optimering med alla resurser till max .

Hitta kommandoalternativDe allmänna sökalternativen är:

  • -O1: standardvärde, det är ett filter baserat på namnet på den angivna filen.
  • -O2: Sök först efter filnamn och sedan efter dess typ
  • -O3: Kör en sökning som automatiskt sorterar resultaten baserat på resursanvändning
  • -maxdepth X: Sök efter aktuell katalog och underkataloger på X -nivåer.
  • -namn: Sök utan att förlita dig på texten.
  • -not: Returnerar endast resultaten som inte matchar sökningen
  • -typ f: Sök endast filer.
  • -typ d: kör katalogsökning

2. Hur man hittar filer efter namn eller tillägg med kommandokänsliga kommandon i Linux

Detta är en metod som gör att vi kan hitta filer och visa resultaten som innehåller versaler och gemener:

 hitta -iname solvetic.docx 

Slå upp namn i katalogerMed denna metod kan vi upptäcka alla kataloger som heter Solvetic i hemkatalogen (/):

 hitta / -typ d -name Solvetic

Hitta filer utan behörighet 777777 (Rwxrwxrwx) behörigheter med de behörigheter som inte har någon begränsning, det vill säga att alla användare kan komma åt dem.
För att se de filer som inte har den här behörigheten kör vi följande:

 hitta / -typ f! -perm 777 

Om vi ​​nu vill se de filer som har 777 behörigheter kommer vi att köra:

 hitta. -typ f -perm 0777 -tryck 

Hitta SGID -filer med 2644 behörigheterTillstånd 2644 är filer som har läs- och skrivbehörigheter, så för att se dessa filer kommer vi att köra:

 hitta / -perm 2644

Hitta SUID -filer i LinuxSUID -filer (Ställ in ägarens användar -ID vid körning), är speciella filbehörigheter som tilldelas ett element och tjänar till att tillfälligt bevilja behörighet till en användare för att köra ett program eller en fil med behörigheterna för filens ägare.
För att se dem kommer vi att utföra följande:

 hitta / -perm / u = s

Sök efter SGID -filerSGID -filer (Ställ in grupp -ID vid körning) är en speciell typ av filbehörigheter som gör det möjligt att ärva åtkomstbehörigheter för användaren som är inloggad. För att visa dessa filer kommer vi att utföra följande:

 hitta / -perm / g = s

Hitta skrivskyddade filerFör att se vilka som är de skrivskyddade filerna i Linux kör vi:

 hitta / -perm / u = r

Sök körbara filerOm vi ​​med säkerhet vill veta vilka filer som är körbara kan vi använda följande rad:

 hitta / -perm / a = x

3. Hur man hittar filer med 777 och chmod 755 behörigheter på Linux

Steg 1
Dessa är speciella läs- och skrivbehörigheter, för att se dessa filer kommer vi att köra:

 hitta / -typ d -perm 777 -print -exec chmod 755 {} \;

Steg 2
Om vi ​​nu vill hitta filerna med behörigheter 777 och chmod 644 kör vi:

 hitta / -typ f -perm 0777 -print -exec chmod 644 {} \;

4. Hitta och ta bort filer med kommandon i Linux

Hitta och ta bort en filMed Find kan vi upptäcka en fil och fortsätta att radera den, i det här fallet kommer vi att ta bort filen solvetic.docx för vilken vi kör följande:

 hitta. -typ f -name "solvetic.docx" -exec rm -f {} \; 

Om vi ​​vill radera flera filer kan vi använda deras tillägg:

 hitta. -typ f -name "* .docx" -exec rm -f {} \;

Sök efter tomma filer eller katalogerVi kan ange en sökväg, som / tmp, för att hitta de tomma katalogerna, i det här fallet kör vi följande:

 hitta / tmp -type d -empty

För att söka efter tomma filer kör vi:

 hitta / tmp -type f -empty

Hitta dolda filerI Linux och i alla system är vissa filer dolda av säkerhetsskäl, om det krävs för någon administrativ eller supportuppgif.webpt för att se vad dessa är kan vi utföra följande kommando med önskad sökväg, i det här fallet hem:

 hitta / home -type f -name ". *"

Hitta en användares filerEtt annat av de många alternativen som Find -kommandot erbjuder oss är att upptäcka filer från en viss användare, till exempel att hitta alla filer för den solvetiska användaren i hemkatalogen som vi ska köra följande:

 hitta / hem -användare solvetisk

Hitta filer från en viss gruppFör att hitta elementen i en grupp kommer vi att köra följande rad:

 hitta / hem -grupp solvetisk

5. Hitta filer inom ett tidsintervall med kommandon i Linux

Steg 1
Med kommandot Sök blir det möjligt att söka i de filer som har använts under en tidsperiod, till exempel för att se filerna under de senaste 30 dagarna som har ändrats som vi kan köra:

 hitta / -tid 30 

Steg 2
För att se de filer som har presenterat åtkomst kör vi:

Steg 3
För att se filerna ändrade inom ett antal dagar, till exempel mellan 1 och 5, kommer vi att använda följande rad:

 hitta / -mtime +1 -mtime -5

Steg 4
Om vi ​​vill se de filer som har presenterat någon ändring under den senaste timmen eller minuterna kan vi utföra följande:

 hitta / -cmin -45
Steg 5
Detta kommer att lista filerna från de senaste 45 minuterna:

Steg 6
På samma sätt kan vi lista de filer som har nåtts inom en tidsperiod:

 hitta / -amin -60 

6. Hitta filer av en specifik storlek med kommandon i Linux

Steg 1
Det är möjligt att definiera en filstorlek inom sökkriterierna, så att se alla filer vars vikt är 10 MB vi kör:

 hitta / -storlek 10M

Steg 2
För att fastställa ett viktintervall använder vi:

 hitta / -storlek + 15M -storlek -90M

Steg 3
Om vi ​​av någon anledning vill upptäcka och ta bort en fil med en specifik storlek använder vi följande syntax:

 hitta / -storlek + 200M -exec rm -rf {} \;
NoteraVersionen av hitta i Unix har flera brister, därför måste vi ändra vårt kommando för att få önskat resultat, till exempel:

  • På linux
 hitta. -storlek 50M | xargs ls -l
  • På Unix
 hitta. -storlek 50M -print0 | xargs -0 ls -l 
På skriptnivå är alla resultat med fynd positiva oavsett om vi får resultat eller inte, i linux har vi alternativet -print -quit om vi inte får resultat.

Unix -versionen av Find saknar detta alternativ och det är bäst att använda det tillsammans med grep för att verifiera resultatet till exempel.

 läs -r a om hitta. -maxdepth 1 -namn "$ a" -print -quit | grep -q. echo sedan "File Found" annars echo "No file found" if

7. Hitta filer grafiskt i Linux


Nuvarande Linux -distributioner, med en grafisk miljö (GUI), ger oss möjlighet att använda den integrerade sökmotorn för att enkelt upptäcka önskade filer, för Ubuntu 19.04 kan vi komma åt filer och i sökfältet ange önskad term för att visa omedelbart de tillhörande resultaten:

FÖRSTORA

Vi ser hur sökandet efter filer i Linux är något riktigt komplett tack vare kommandot Find och dess olika varianter för att få bästa möjliga resultat.

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

wave wave wave wave wave