Een opfriscursus bij find: vind bestanden op je Linux-distro

Vergrootglas

Zoeken naar bestanden en mappen is relatief eenvoudig met de huidige zoekmachines die zijn geïntegreerd in de bestandsbeheerders, maar soms willen we de terminal misschien beter gebruiken, of hebben we geen andere keuze dan de terminal te gebruiken omdat we geen grafische omgeving hebben. Omdat, Ik vond het interessant om een ​​recensie te vinden, een bekend commando, maar iets vergeten door het massale gebruik van grafische omgevingen.

Nou, vind, zoals de naam suggereert, is nutteloos voor iets anders dan om bestanden te lokaliserenhoewel het andere alternatieven heeft, zoals lokaliseren, enz., zullen we ons concentreren op vinden, aangezien het vrij krachtig is en ons veel interessante opties biedt om onze zoektocht succesvol uit te voeren. Als we het gebruiken zoals het is, zonder enige optie, zal het een lijst starten die lijkt op degene die we zouden krijgen met een ls, met de inhoud van een hele map (en submappen).

Maar dit is niet wat ons interesseert, wat we willen, is iets meer aanpassen en verfijnen de zoektocht om nauwkeuriger te zijn en ons te helpen vinden wat we echt zoeken. Om te begrijpen hoe het werkt, denk ik dat er geen betere manier is dan praktische voorbeelden te laten zien van:

  • Om op naam te zoeken, kunnen we de optie of zoekcriteria «-naam» gebruiken. Het eerste voorbeeld zoekt bijvoorbeeld naar bestanden / mappen met een naam die begint met "musi", de tweede die eindigt op "eon", en de laatste die het woord "gevonden" bevat in de root / directory:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • Er is een optie genaamd -type, die als filter kan dienen en samen met -name kan worden gebruikt. In dit geval dient het om specificeer het type bestand dat u wilt zoeken​ Met B zoeken we naar speciale bestanden in blokmodus, met C naar speciale bestanden in tekenmodus, D voor mappen, F voor gewone bestanden, L voor symbolische koppelingen, P voor named pipe en S voor Socket of netwerkverbinding. Stel dat u wilt zoeken naar een directory met "hallo" aan het einde van de naam en in de Home / user directory:
find /Home/usuario -name "*hola" -type D

  • We kunnen ook zoeken op gebruiker of groep waartoe het behoort een map of bestanden op het systeem. Daarvoor kunnen we de -gebruiker- en -groepcriteria gebruiken. Stel je nu voor dat je een bestand wilt vinden dat «.mp3» van de gebruiker «Rosa» en de groep «Katten» bevat in de map Downloads:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • Maat kan ons helpen bij het zoeken op maat​ In dit geval hebben we verschillende opties om toe te passen. Een B zou het blok aangeven, als de grootte niet wordt aangegeven, is dit standaard 512 bytes. C voor 1-byte ASCII-tekens, W voor 2-byte (oude) woorden en K voor KiloBytes of 1024 bytes. Als we bijvoorbeeld willen zoeken in / naar een bestand van 2560 bytes (5 blokken · 512), een ander van 10 ASCII-tekens, een ander van 100 KB, een van minder dan 5 MB en een ander van meer dan 30 KB:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

Natuurlijk zou de grootte zijn combineerbaar met alle zoekcriteria anterieur en posterieur, dus we zullen nog nauwkeurigere resultaten verkrijgen ...

  • Je kan zelfs zoeken op temporele criteria​ Met -atime kunt u zoeken op de datum van de laatste toegang. -mtime op datum van inhoudswijziging en -ctime op datum van laatste wijziging van de inode. We willen bijvoorbeeld zoeken in / Home, een map met de naam "hallo", die toebehoort aan de gebruiker "Zaca" en die minder dan 3 dagen geleden is gewijzigd:
find /Home -name "hola" -user Zaca -mtime -3

  • Er zijn meer criteria zoek zoals -perm om te zoeken naar toegangsautorisaties of permissies, -links om naar harde links te zoeken, -inum voor inode-nummer. Laten we naar ons laatste voorbeeld gaan, in dit geval zullen we zoeken naar een map in de huidige map waarvan de machtigingen totaal zijn voor de eigenaar, gebruiker en groep, en uitvoering voor de rest:
find -type d -perm 771

Soms zijn we ons niet bewust van het potentieel van de terminal en gebruiken we andere tools die de flexibiliteit van wat al aangeboren is, niet mogelijk maken. Dus ik hoop dat ik iets heb geholpen met dit bescheiden artikel. Veel plezier en laat uw opmerkingen achter...


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Nomi zei

    Ik ben niet geamuseerd, maar het heeft me een beetje geholpen