Linux, bekend om zijn robuuste opdrachtregelinterface, biedt een reeks krachtige tools voor efficiënt bestands- en directorybeheer. Hiervan valt de find-opdracht op als een onmisbare troef, die een ongeëvenaarde veelzijdigheid biedt bij het zoeken naar bestanden op basis van diverse criteria. Dit artikel onderzoekt de kracht van het find-commando, werpt licht op de mogelijkheden ervan en hoe het dient als een hulpmiddel voor Linux-gebruikers die bestanden snel en effectief willen lokaliseren.
Inhoudsopgave
- Wat is het zoekcommando in Linux?
- Syntaxis van Zoekopdracht in Linux:
- Opties beschikbaar in Zoekopdracht in Linux
- Hoe u een bestand in Linux kunt vinden vanaf de opdrachtregel
- Voorbeelden van Zoekopdracht in Linux
Wat is het zoekcommando in Linux?
Het find-commando in Linux is een dynamisch hulpprogramma dat is ontworpen voor uitgebreide zoekopdrachten naar bestanden en mappen binnen een hiërarchische structuur. Dankzij het aanpassingsvermogen kunnen gebruikers zoeken op naam, grootte, wijzigingstijd of inhoud, wat een flexibele en krachtige oplossing oplevert. Als cruciaal onderdeel van de Linux-opdrachtregel toolkit, het find-commando komt tegemoet aan de genuanceerde behoeften van gebruikers en zorgt voor precisie bij het verkennen en ophalen van bestanden. Ontdek de diverse functionaliteiten van het zoekcommando en verbeter uw bestandsbeheer efficiëntie op het Linux-platform.
Syntaxis van Find Command in Linux :
Hier is de syntaxis voor defind>commando onder Linux:
find [path] [options] [expression]>
Hier,
- pad: Startmap voor de zoekopdracht.
- Voorbeeld :
find /path/to/search>
- Voorbeeld :
- opties: Aanvullende instellingen of voorwaarden voor het zoeken.
- Voorbeeld :
find /path/to/search -type f -name '*.txt'>
- Voorbeeld :
- uitdrukking: Criteria voor het filteren en lokaliseren van bestanden.
- Voorbeeld :
find /path/to/search -type d -name 'docs'>
- Voorbeeld :
Met deze syntaxis kunt u uw bestandszoekopdracht aanpassen door het pad op te geven, opties toe te voegen en zoekcriteria te definiëren met behulp van expressies.
Opties beschikbaar in Zoekopdracht in Linux
Hier zijn de ` find`> opdrachtopties samen met korte beschrijvingen van hun doeleinden.
| Commando | Beschrijving |
|---|---|
| -naam patroon | Zoekt naar bestanden met een specifieke naam of patroon. |
| -typetype | Specificeert het type bestand waarnaar moet worden gezocht (bijvoorbeeld f voor gewone bestanden, d voor mappen). |
| -grootte [+/-]n | Zoekt naar bestanden op basis van grootte. ` |
| -mtijd n | Vindt bestanden op basis van wijzigingstijd. ` |
| -exec-opdracht {} ; | Voert een opdracht uit voor elk gevonden bestand. Sridevi |
| -afdrukken | Geeft de padnamen weer van bestanden die voldoen aan de opgegeven criteria. |
| -maxdiepte-niveaus | Beperkt de zoekopdracht tot een opgegeven mapdiepte. |
| -mindiepte-niveaus | Specificeert de minimale mapdiepte voor de zoekopdracht. |
| -leeg | Vindt lege bestanden en mappen. |
| -verwijderen | Verwijdert bestanden die aan de opgegeven criteria voldoen. |
| -execdir-opdracht {} ; Java-kleurcodes | Voert een opdracht uit voor elk gevonden bestand, vanuit de map die het overeenkomende bestand bevat. |
| -naam patroon | Hoofdletterongevoelige versie van ` |
Hoe u een bestand in Linux kunt vinden vanaf de opdrachtregel
De ... gebruikenfind>opdracht is eenvoudig. Om een bestand in Linux te vinden, opent u een terminal en gebruikt u het volgende basissyntaxis:
find /path/to/search -options criteria>
Vervangen /path/to/search> '>met de map waarin u de zoekopdracht wilt starten en pas de opties en criteria aan op basis van uw vereisten.
Bijvoorbeeld :
Om een bestand met de naam example.txt in de homedirectory te vinden, gebruikt u:
find ~ -name 'example.txt'>
Met deze opdracht wordt het pad naar het bestand gevonden en weergegeven als het in de opgegeven map of de submappen ervan bestaat.
Voorbeelden van Zoekopdracht in Linux
1. Hoe u een specifiek bestand kunt vinden met de opdracht 'find' in Linux
Deze query is ontworpen om een bestand binnen een aangewezen map te lokaliseren. In het gegeven voorbeeld zoekt het naar een bestand met de naam sample.txt in de GFG-directory.
find ./GFG -name sample.txt>
Defind>commando doorkruist de opgegeven map (./GFG>) en zoekt naar een bestand met de naam sample.txt. Indien gevonden, wordt het pad naar het bestand weergegeven.
Uitgang:

Zoek een bestand met een specifieke naam
2. Bestanden zoeken met een patroon met behulp van de opdracht `find` in Linux
Deze opdracht is bedoeld voor het ontdekken van bestanden in een map die een specifiek naamgevingspatroon volgen. In dit geval identificeert het bestanden die eindigen op ‘.txt’ in de GFG-directory.
find ./GFG -name *.txt>
De opdracht zoekt naar bestanden waarvan de naam eindigt op ‘.txt’ in de GFG-directory en presenteert een lijst met overeenkomende bestanden.
Uitgang:

Zoek een bestand met patroon
3. Hoe u het verwijderen van bestanden kunt vinden en bevestigen met de opdracht `find` in Linux
Met deze opdracht wordt niet alleen een opgegeven bestand gelokaliseerd, maar wordt de gebruiker ook om bevestiging gevraagd voordat de verwijdering ervan wordt gestart. In het voorbeeld wordt geprobeerd een bestand met de naam sample.txt in de GFG-directory te verwijderen.
find ./GFG -name sample.txt -exec rm -i {} ;> De-exec>optie voert derm>opdracht voor het gelokaliseerde bestand, en de-i>flag vraagt de gebruiker om bevestiging voordat deze wordt verwijderd. Wanneer deze opdracht wordt ingevoerd, wordt er om bevestiging gevraagd of u sample.txt wilt verwijderen of niet. als u ‘J/j’ invoert, wordt het bestand verwijderd.
Uitgang:

zoek en verwijder een bestand met bevestiging
4. Zoek naar lege bestanden en mappen met de opdracht `find` in Linux
Deze query is bedoeld voor het ontdekken en weergeven van lege bestanden en mappen in een opgegeven map.
find ./GFG -empty>
De ` find`> opdracht identificeert en vermeldt alle lege mappen en bestanden in de GFG-map of de submappen ervan.
Uitgang:

Zoek naar lege bestanden en mappen
5. Zoek bestanden met specifieke machtigingen met behulp van de opdracht `find` in Linux
Deze opdracht wordt gebruikt om bestanden in een map te lokaliseren die specifieke rechten . In het gegeven voorbeeld identificeert het bestanden met machtigingen ingesteld op 664 binnen de GFG-directory.
find ./GFG -perm 664>
De opdracht zoekt naar bestanden in de GFG-directory met de opgegeven machtigingen (664) en geeft de resultaten weer.
Uitgang:

Zoek naar bestand met ingevoerde machtigingen
6. Geef de repositoryhiërarchie weer met de opdracht `find` in Linux
Deze opdracht wordt gebruikt om de hiërarchische structuur van repository's en subrepository's binnen een bepaalde map weer te geven.
find . -type d>
Met deze opdracht worden alle repository's en subrepository's weergegeven die aanwezig zijn in de huidige repository. In het onderstaande voorbeeld bevinden we ons momenteel in een repository, namelijk techcodeview.com, die een repository Linux bevat, die een subrepo LinuxCmds bevat, die verder een repo FindCmd bevat. De uitvoer van onderstaande cmd geeft eenvoudigweg deze informatie weer. Houd er rekening mee dat als u in dit geval ls cmd gebruikt, er alleen /Linux wordt weergegeven.
Uitgang:

7. Zoek tekst in meerdere bestanden met behulp van de opdracht `fin` in Linux
Deze opdracht is bedoeld voor het vinden van regels met specifieke tekst in meerdere bestanden. In het voorbeeld wordt gezocht naar regels die het woord ‘Geek’ bevatten in alle ‘.txt’-bestanden in de huidige map en zijn submappen.
find ./ -type f -name '*.txt' -exec grep 'Geek' {} ;> De opdracht zoekt naar ‘.txt’-bestanden (-type f>En-name '*.txt'>) en toepassingengrep>om regels af te drukken die de opgegeven tekst bevatten (‘Geek’).
Uitgang:
probeer vangen in java

Zoek tekst in meerdere bestanden
8. Zoek bestanden op wanneer ze zijn gewijzigd Het commando 'find' gebruiken in Linux
De-mtime>optie is handig voor het vinden van bestanden op basis van hun wijzigingstijd. Om bestanden te vinden die in de afgelopen zeven dagen zijn gewijzigd, kunt u het volgende gebruiken:
find /path/to/search -mtime -7>
Met deze opdracht worden de bestanden weergegeven die de afgelopen week zijn gewijzigd.

Laatste wijzigingen zoeken
In dit voorbeeld zoeken we naar wijzigingen in de map /home/administrator/Downloads die in de afgelopen 7 dagen zijn voltooid.
9. Gebruik Grep om bestanden te vinden op basis van inhoud Het commando 'find' gebruiken in Linux
Het combineren van defind>commando met grep> Hiermee kunt u naar bestanden zoeken op basis van hun inhoud. Om bijvoorbeeld bestanden te vinden die het woordpatroon bevatten in de huidige map en de submappen ervan, kunt u het volgende gebruiken:
find . -type f -exec grep -l 'pattern' {} ;> Met deze opdracht worden de namen weergegeven van bestanden die de opgegeven inhoud bevatten.
Uitsplitsing van het commando:
-
find .>: Start het zoeken vanuit de huidige map (.>). -
-type f>: geeft aan dat er alleen naar bestanden wordt gezocht, met uitzondering van mappen. -
-exec grep -l 'pattern' {} ;>: Voert de uitgrep>opdracht voor elk gevonden bestand ({}>) om naar de opgegeven inhoud (patroon) te zoeken. De-l>optie ingrep>zorgt ervoor dat alleen de namen van bestanden die het patroon bevatten, worden weergegeven.
Uitvoering van opdrachten:
- De
find>commando start de zoekopdracht vanuit de huidige map, inclusief alle submappen. - Voor elk bestand (
-type f>) gevonden in de zoekopdracht, de-exec>optie voert degrep>commando. - De
grep>commando zoekt naar de opgegeven inhoud (patroon) in elk bestand. - Als een bestand de opgegeven inhoud bevat, wordt de naam ervan weergegeven vanwege de
-l>optie ingrep>.
Veelgestelde vragen in Zoekopdracht in Linux
Kan ik de opdracht find gebruiken om naar bestanden te zoeken op basis van hun inhoud in Linux?
Ja, de opdracht find kan worden gecombineerd met grep om naar bestanden te zoeken op basis van hun inhoud. Het artikel geeft een voorbeeld van het gebruik van deze combinatie om bestanden te vinden die specifieke tekst bevatten.
Hoe kan ik in Linux naar alle mappen zoeken met behulp van de opdracht find?
Gebruik de
-type d>optie om aan te geven dat u naar mappen zoekt. Bijvoorbeeld:find /path/to/search -type d>De
-type d>flag instrueert het find-commando om naar mappen te zoeken. Met deze opdracht wordt een lijst weergegeven met alle mappen binnen het opgegeven pad.
Hoe kan ik zoeken naar bestanden met een specifieke naam met behulp van de find-opdracht in Linux?
Om naar bestanden met een specifieke naam te zoeken, kunt u de
-name>optie met de opdracht find. Het artikel bevat een voorbeeldsyntaxis voor het vinden van een bestand met de naam example.txt in de thuismap.
Kan ik de opdracht find gebruiken om te zoeken naar bestanden die een specifieke tekstreeks in hun inhoud bevatten?
Ja, je kunt de find-opdracht combineren met grep om naar bestanden te zoeken op basis van hun inhoud. Bijvoorbeeld:
find /path/to/search -type f -exec grep -l 'specific_text' {} ;>Deze opdracht voert grep uit op elk gevonden bestand (
{}>) in de zoekopdracht, zoekend naar de opgegeven tekst (specific_text). De-l>optie in grep zorgt ervoor dat alleen de namen van bestanden die de opgegeven tekst bevatten, worden weergegeven.
Is de opdracht find hoofdlettergevoelig bij het zoeken naar bestanden in Linux?
Standaard is de opdracht find hoofdlettergevoelig. Het artikel introduceert echter de
-iname>optie als een hoofdletterongevoelige versie van-name>, waardoor gebruikers ongeacht hoofdlettergebruik kunnen zoeken naar bestanden met een specifieke naam of patroon.
Conclusie
In dit artikel hebben we de opdracht find besproken, die een betrouwbare gids is voor het vinden en beheren van bestanden. In dit artikel werd onderzocht hoe de opdracht find bestanden kan lokaliseren op basis van verschillende criteria, van namen tot inhoud. Het is alsof u een superkracht heeft waarmee u uw bestanden snel en flexibel kunt ordenen en doorzoeken. Of je nu een doorgewinterde Linux-gebruiker bent of net begint, het beheersen van de find-opdracht is een game-changer voor het efficiënt verwerken van je bestanden op de opdrachtregel. Het is een onmisbare tool die het navigeren door de bestanden op uw computer een fluitje van een cent maakt!