Een bestand zoeken in Linux met behulp van de opdrachtregel
Wat te weten
- Het commando dat wordt gebruikt om naar bestanden te zoeken heet vind. De basissyntaxis van de opdracht find is als volgt: vind [bestandsnaam].
- Na vind, gebruik een snelkoppeling om de map op te geven: "." voor geneste mappen; "/" voor het hele bestandssysteem; "~" voor de thuismap van de actieve gebruiker.
- Uitdrukking gebruiken -naam om een bestandsnaam te zoeken. Bijvoorbeeld: zoek / -naam *.mp3 zoekt in het hele bestandssysteem naar een bestand met de naam *.mp3.
Dit artikel legt uit wat de Linuxvind command is, biedt snelkoppelingen naar zoeklocaties, algemene uitdrukkingen, voorbeeldgebruiken, patronen, hoe uitvoer van de opdracht find naar een bestand te verzenden en hoe een opdracht voor een bestand te vinden en uit te voeren.
Gebruik het 'find'-commando om een bestand in Linux te lokaliseren
Het commando dat wordt gebruikt om naar bestanden te zoeken heet vind.
De basissyntaxis van de opdracht find is als volgt:
zoek bestandsnaam.
Het momenteel actieve pad markeert standaard de zoeklocatie. Typ het volgende om de hele schijf te doorzoeken:
zoek / bestandsnaam.
Als u echter de map waarin u zich momenteel bevindt wilt zoeken, gebruikt u de volgende syntaxis:
vind. bestandsnaam.
Gebruik de volgende syntaxis wanneer u op naam zoekt op de hele schijf:
find / -name bestandsnaam.
- Het eerste deel van de opdracht find is de opdracht find.
- Het tweede deel is waar te beginnen met zoeken.
- Het volgende deel is een uitdrukking die bepaalt wat te vinden is.
- Het laatste deel is de naam van het te vinden bestand.
Om toegang te krijgen tot de shell (soms het terminalvenster genoemd) in de meeste distributies, klikt u op het relevante pictogram of drukt u op Ctrl+Alt+T.
Snelkoppelingen naar locaties zoeken
Het eerste argument na de opdracht find is de locatie die u wilt zoeken. Hoewel u een specifieke map kunt specificeren, kunt u a metakarakter om als plaatsvervanger te dienen. De drie metatekens die met deze opdracht werken, zijn onder meer:
- Punt uit (.): Specificeert de huidige en alle geneste mappen.
- Schuine streep naar voren (/): Specificeert het volledige bestandssysteem.
- Tilde (~): Specificeert de basismap van de actieve gebruiker.
Het doorzoeken van het hele bestandssysteem kan fouten met geweigerde toegang genereren. Voer de opdracht uit met verhoogde bevoegdheden (met behulp van de opdracht sudo) als u moet zoeken op plaatsen waar uw standaardaccount normaal gesproken geen toegang toe heeft.
Uitdrukkingen
De meest voorkomende uitdrukking die u zult gebruiken is -naam, die zoekt naar de naam van een bestand of map.
Er zijn echter andere uitdrukkingen die u kunt gebruiken:
- -amine n: Het bestand is voor het laatst geopend +/- N minuten geleden, afhankelijk van hoe u de tijd invoert.
- -een nieuwere: neemt een ander bestand als referentie om bestanden te vinden die recenter zijn geopend en het referentiebestand.
- -tijd n: Het bestand is voor het laatst meer/minder dan. geopend N dagen geleden, afhankelijk van de manier waarop u de doeltijd invoert (n).
- -cmin n: Het bestand is voor het laatst gewijzigd N minuten geleden, afhankelijk van hoe u de doeltijd (n) invoert.
- -weetje: neemt een ander bestand als referentie om bestanden te vinden die recenter zijn geopend en het referentiebestand.
- -ctime n: Het bestand is voor het laatst meer/minder dan. geopend N dagen geleden, afhankelijk van de manier waarop u de doeltijd invoert (n).
- -leeg:Het bestand is leeg.
- -uitvoerbaar: Het bestand is uitvoerbaar.
- -false: Altijd onwaar.
- -fstype-type: Het bestand bevindt zich op het opgegeven bestandssysteem.
- -gid n: Het bestand behoort tot de groep met de ID N.
- -groep groepsnaam: Het bestand behoort tot de genoemde groep.
- -ilname patroon: zoek naar een symbolische link maar negeer de case.
- -iname patroon: zoek naar een bestand, maar negeer de case.
- -inum n: Zoek naar een bestand met de opgegeven inode.
- -ipath pad: zoek naar een pad maar negeer de case.
- -iregex-uitdrukking: zoek naar een uitdrukking maar negeer de hoofdletter.
- -links n: Zoek naar een bestand met het opgegeven aantal links.
- -naam naam: zoeken naar een symbolische link.
- -mmin nee: Het bestand is voor het laatst geopend +/- N minuten geleden, afhankelijk van hoe u de tijd invoert.
- -mtime n: Het bestand is voor het laatst meer/minder dan. geopend N dagen geleden, afhankelijk van de manier waarop u de doeltijd invoert (n).
- -naam naam: zoeken naar een bestand met de opgegeven naam.
- -nieuwere naam: Zoeken naar een bestand dat recenter is bewerkt dan het opgegeven referentiebestand.
- -geen groep: zoek naar een bestand zonder groeps-ID.
- -nouser: zoeken naar een bestand waaraan geen gebruiker is gekoppeld.
- -pad pad: een pad zoeken.
- -leesbaar: bestanden zoeken die leesbaar zijn.
- -regex patroon: zoeken naar bestanden die overeenkomen met een reguliere expressie.
-
-typetype: Zoeken naar een bepaald type. Type opties zijn onder meer:
- -type d: Directories
- -type f: Bestanden
- -type l: Symlinks
- -uid uid: Het numerieke gebruikers-ID van het bestand is hetzelfde als de uid.
- -gebruikersnaam: Het bestand is eigendom van de opgegeven gebruiker.
- -beschrijfbaar: zoeken naar bestanden waarnaar kan worden geschreven.
Voorbeeldgebruik van het zoekcommando
Hier zijn enkele manieren waarop u de opdracht find kunt gebruiken.
Bestanden vinden die meer dan een bepaald aantal dagen geleden zijn geopend
Om alle bestanden in uw thuismap te vinden die meer dan 100 dagen geleden zijn geopend:
zoek ~ -atime +100.
Lege bestanden en mappen vinden
Om alle lege bestanden en mappen in uw systeem te vinden:
vind / -leeg.
Hoe alle uitvoerbare bestanden te vinden
Om alle uitvoerbare bestanden op uw computer te vinden:
vind / -uitvoerbaar.
Hoe u alle leesbare bestanden kunt vinden
Om alle bestanden te vinden die leesbaar zijn:
vind / -leesbaar.
Patronen
Wanneer u naar een bestand zoekt, kunt u een patroon gebruiken. Zoek bijvoorbeeld naar alle bestanden met de extensie mp3:
zoek / -naam *.mp3.
Afhankelijk van de shell die u gebruikt, moet u mogelijk aan de asterisk ontsnappen. Als je de opdracht uitvoert en niet de resultaten krijgt die je verwacht, probeer dan het hele patroon te citeren om aan de asterisk te ontsnappen, zoals: zoek / -naam '*.mp3'
Uitvoer van de opdracht Zoeken naar een bestand verzenden
Het grootste probleem met het find-commando is dat het soms te veel resultaten kan retourneren om in één keer te bekijken. Leid de uitvoer naar de staart commando, of voer de regels als volgt uit naar een bestand:
find / -name *.mp3 -fprint naamoffiletoprintto.
Een opdracht tegen een bestand zoeken en uitvoeren?
Om een bestand tegelijkertijd te zoeken en te bewerken, typt u:
find / -name bestandsnaam -exec nano '{}' \;
De bovenstaande opdracht zoekt naar een bestand met de naam bestandsnaam en voert vervolgens de nano-editor uit voor het gevonden bestand.
Nano is de naam van een opdracht, niet een exact onderdeel van deze syntaxis.