Linux, känt för sitt robusta kommandoradsgränssnitt, tillhandahåller en uppsättning kraftfulla verktyg för effektiv fil- och kataloghantering. Bland dessa framstår find-kommandot som en oumbärlig tillgång, som erbjuder oöverträffad mångsidighet i att söka efter filer baserat på olika kriterier. Den här artikeln utforskar skickligheten i find-kommandot, belyser dess kapacitet och hur det fungerar som ett go-to-verktyg för Linux-användare som syftar till att hitta filer snabbt och effektivt.
Innehållsförteckning
- Vad är kommandot Find i Linux?
- Syntax för Find Command i Linux:
- Tillgängliga alternativ i Find Command i Linux
- Hur man hittar en fil i Linux från kommandoraden
- Exempel på Find Command i Linux
Vad är kommandot Find i Linux?
Hitta kommandot i Linux är ett dynamiskt verktyg designat för omfattande fil- och katalogsökningar inom en hierarkisk struktur. Dess anpassningsförmåga tillåter användare att söka efter namn, storlek, ändringstid eller innehåll, vilket ger en flexibel och potent lösning. Som en central komponent i Linux kommandorad toolkit, hitta kommandot tillgodoser användarnas nyanserade behov, vilket säkerställer precision i filutforskning och hämtning. Upptäck de olika funktionerna i sökkommandot och förbättra din filhantering effektivitet på Linux-plattformen.
Syntax för Find Command i Linux :
Här är syntaxen förfind>kommando i Linux:
find [path] [options] [expression]>
Här,
- väg: Startkatalog för sökningen.
- Exempel :
find /path/to/search>
- Exempel :
- alternativ: Ytterligare inställningar eller villkor för sökningen.
- Exempel :
find /path/to/search -type f -name '*.txt'>
- Exempel :
- uttryck: Kriterier för filtrering och lokalisering av filer.
- Exempel :
find /path/to/search -type d -name 'docs'>
- Exempel :
Denna syntax låter dig anpassa din filsökning genom att ange sökvägen, lägga till alternativ och definiera sökkriterier med hjälp av uttryck.
Tillgängliga alternativ i Find Command i Linux
Här är ` find`> kommandoalternativ tillsammans med korta beskrivningar av deras syften.
| Kommando | Beskrivning |
|---|---|
| -namnmönster | Söker efter filer med ett specifikt namn eller mönster. |
| -typ | Anger vilken typ av fil som ska sökas efter (t.ex. f för vanliga filer, d för kataloger). bash annat om |
| -storlek [+/-]n | Söker efter filer baserat på storlek. ` |
| -mtid n | Hittar filer baserat på ändringstid. ` |
| -exec kommando {} ; | Utför ett kommando på varje fil som hittas. |
| -skriva ut | Visar sökvägsnamnen för filer som matchar de angivna kriterierna. |
| -maxdjupnivåer | Begränsar sökningen till ett specificerat katalogdjup. |
| -mindepth nivåer | Anger minsta katalogdjup för sökningen. |
| -tömma | Hittar tomma filer och kataloger. |
| -radera | Tar bort filer som matchar de angivna kriterierna. |
| -execdir kommando {} ; | Utför ett kommando för varje fil som hittas, från katalogen som innehåller den matchade filen. |
| -iname mönster | Versalokänslig version av ` |
Hur man hittar en fil i Linux från kommandoraden
Användafind>kommandot är enkelt. För att hitta en fil i Linux, öppna en terminal och använd följande grundläggande syntax:
find /path/to/search -options criteria>
Byta ut /path/to/search> '>med katalogen där du vill starta sökningen och anpassa alternativen och kriterierna utifrån dina krav.
Till exempel :
För att hitta en fil med namnet example.txt i hemkatalogen använder du:
find ~ -name 'example.txt'>
Detta kommando kommer att lokalisera och visa sökvägen till filen om den finns i den angivna katalogen eller dess underkataloger.
heltal till sträng i java
Exempel på Find Command i Linux
1. Hur man hittar en specifik fil med kommandot `find` i Linux
Den här frågan är utformad för att lokalisera en fil i en angiven katalog. I det angivna exemplet söker den efter en fil med namnet sample.txt i GFG-katalogen.
find ./GFG -name sample.txt>
Defind>kommandot går igenom den angivna katalogen (./GFG>) och letar efter en fil med namnet sample.txt. Om den hittas visar den sökvägen till filen.
Produktion:

Sök efter en fil med ett specifikt namn
2. Hur man söker efter filer med ett mönster med kommandot `find` i Linux
Det här kommandot är skräddarsytt för att upptäcka filer i en katalog som följer ett specifikt namnmönster. I det här fallet identifierar den filer som slutar med '.txt' i GFG-katalogen.
find ./GFG -name *.txt>
Kommandot letar efter filer med namn som slutar på '.txt' i GFG-katalogen och presenterar en lista över matchande filer.
Produktion:

Sök efter en fil med mönster
3. Hur man hittar och bekräftar borttagning av filer med kommandot `find` i Linux
Detta kommando lokaliserar inte bara en specificerad fil utan ber också användaren om bekräftelse innan den påbörjar dess borttagning. Exemplet försöker ta bort en fil med namnet sample.txt i GFG-katalogen.
find ./GFG -name sample.txt -exec rm -i {} ;> De-exec>alternativet körrm>kommandot på den hittade filen och-i>flaggan ber användaren om bekräftelse innan radering. När detta kommando skrivs in kommer en prompt för bekräftelse, om du vill ta bort sample.txt eller inte. om du anger 'Y/y' kommer filen att raderas.
Utgång:

hitta och ta bort en fil med bekräftelse
4. Sök efter tomma filer och kataloger med kommandot 'find' i Linux
Den här frågan är skräddarsydd för att upptäcka och lista tomma filer och kataloger inom en angiven katalog.
find ./GFG -empty>
Den ` find`> kommandot identifierar och listar alla tomma mappar och filer i GFG-katalogen eller dess underkataloger.
Produktion:
slå samman sorteringsalgoritm

Sök efter tomma filer och kataloger
5. Sök efter filer med specifika behörigheter med hjälp av kommandot 'find' i Linux
Detta kommando används för att hitta filer i en katalog som har specifika behörigheter . I exemplet identifierar den filer med behörigheter inställda på 664 i GFG-katalogen.
find ./GFG -perm 664>
Kommandot söker efter filer i GFG-katalogen med de angivna behörigheterna (664) och visar resultaten.
Produktion:

Sök efter fil med angivna behörigheter
6. Visa arkivhierarki med hjälp av kommandot 'find' i Linux
Detta kommando används för att visa den hierarkiska strukturen för förråd och underförråd inom en given katalog.
find . -type d>
Detta kommando visar alla förråd och underförråd som finns i det aktuella förvaret. I exemplet nedan är vi för närvarande i ett arkiv, techcodeview.com som innehåller en repo Linux, som innehåller underrepo LinuxCmds som vidare innehåller en repo FindCmd. Utgången av nedan cmd visar helt enkelt denna information. Observera att om du i det här fallet använder ls cmd kommer det bara att visa /Linux.
Produktion:

7. Sök efter text i flera filer med kommandot `find` i Linux
Det här kommandot är skräddarsytt för att hitta rader som innehåller specifik text i flera filer. Exemplet letar efter rader som innehåller ordet 'Geek' i alla '.txt'-filer i det aktuella katalog och dess underkataloger.
find ./ -type f -name '*.txt' -exec grep 'Geek' {} ;> Kommandot söker efter '.txt'-filer (-type f>och-name '*.txt'>) och användningsområdengrep>för att skriva ut rader som innehåller den angivna texten ('Geek').
Produktion:

Sök efter text i flera filer
8. Hitta filer efter när de ändrades Använder kommandot 'find' i Linux
De-mtime>alternativet är praktiskt för att hitta filer baserat på deras ändringstid. För att hitta filer som har ändrats under de senaste 7 dagarna kan du använda:
find /path/to/search -mtime -7>
Detta kommando kommer att lista filer som ändrats under den senaste veckan.

Hitta de senaste ändringarna
I det här exemplet söker vi efter ändringar i katalogen /home/administratör/Nedladdningar som har gjorts efter 7 dagar.
9. Använd Grep för att hitta filer baserat på innehåll Använder kommandot 'find' i Linux
Att kombinerafind>kommando med grep> låter dig söka efter filer baserat på deras innehåll. Till exempel, för att hitta filer som innehåller ordmönstret i den aktuella katalogen och dess underkataloger, kan du använda:
find . -type f -exec grep -l 'pattern' {} ;> Detta kommando visar namnen på filer som innehåller det angivna innehållet.
Uppdelning av kommandot:
-
find .>: Startar sökningen från den aktuella katalogen (.>). -
-type f>: Anger att sökningen endast är för filer, exklusive kataloger. -
-exec grep -l 'pattern' {} ;>: Utförgrep>kommando på varje hittad fil ({}>) för att söka efter det angivna innehållet (mönster). De-l>alternativ igrep>ser till att endast namnen på filer som innehåller mönstret visas.
Kommandoexekvering:
- De
find>kommandot startar sökningen från den aktuella katalogen, inklusive alla dess underkataloger. - För varje fil (
-type f>) hittas i sökningen, den-exec>alternativet körgrep>kommando. - De
grep>kommandot söker efter det angivna innehållet (mönstret) i varje fil. - Om en fil innehåller det angivna innehållet visas dess namn på grund av
-l>alternativ igrep>.
Vanliga frågor i Find Command i Linux
Kan jag använda kommandot find för att söka efter filer baserat på deras innehåll i Linux?
Ja, kommandot find kan kombineras med grep för att söka efter filer baserat på deras innehåll. Artikeln ger ett exempel på hur den här kombinationen används för att hitta filer som innehåller specifik text.
Hur kan jag söka efter alla kataloger i Linux med hjälp av kommandot find?
Använd
-type d>alternativet för att ange att du söker efter kataloger. Till exempel:find /path/to/search -type d>De
-type d>flaggan instruerar find-kommandot att leta efter kataloger. Detta kommando visar en lista över alla kataloger inom den angivna sökvägen.
Hur kan jag söka efter filer med ett specifikt namn med hjälp av kommandot find i Linux?
För att söka efter filer med ett specifikt namn kan du använda
-name>alternativet med find-kommandot. Artikeln innehåller ett exempel på syntax för att hitta en fil med namnet example.txt i hemkatalogen.
Kan jag använda kommandot find för att söka efter filer som innehåller en specifik textsträng i innehållet?
Ja, du kan kombinera find-kommandot med grep för att söka efter filer baserat på deras innehåll. Till exempel:
find /path/to/search -type f -exec grep -l 'specific_text' {} ;>Detta kommando kör grep på varje fil som hittas (
{}>) i sökningen och söker efter den angivna texten (specific_text). De-l>alternativet i grep ser till att endast namnen på filer som innehåller den angivna texten visas.
Är find-kommandot skiftlägeskänsligt när man söker efter filer i Linux?
Som standard är kommandot find skiftlägeskänsligt. Men artikeln introducerar
-iname>alternativ som en skiftlägeskänslig version av-name>, så att användare kan söka efter filer med ett specifikt namn eller mönster oavsett fall.
Slutsats
I den här artikeln diskuterade vi kommandot find som är som en pålitlig guide för att hitta och hantera filer. Den här artikeln undersökte hur kommandot find kan hitta filer baserat på olika kriterier, från namn till innehåll. Det är som att ha en superkraft för att organisera och söka igenom dina filer på ett snabbt och flexibelt sätt. Oavsett om du är en erfaren Linux-användare eller precis har börjat, är att behärska kommandot find en spelväxlare för att effektivt hantera dina filer på kommandoraden. Det är ett måste-ha-verktyg som gör det enkelt att navigera i din dators filer!