Invoering

De Vind commando is een van de handigste tools in de collectie van Linux systeembeheer. Het is een krachtige opdracht waarmee Linux-beheerders objecten recursief kunnen filteren op basis van een eenvoudig voorwaardelijk mechanisme. Gebruik makend van Vind vanaf de opdrachtregel is het eenvoudig om bestanden te lokaliseren uitbreiding, naam, of een specifieke uitdrukking.


De opdracht past uw specifieke actie toe en presenteert de resultaten van alle bestanden die overeenkomen met de actie. Bestanden kunnen worden gevonden op basis van rechten, datum, grootte, type, eigendom, en meer.

Deze gids laat zien hoe je bestanden op een Linux-systeem kunt lokaliseren. Klaar? Laten we beginnen!

De syntaxis van het zoekcommando begrijpen

Voordat we laten zien hoe u de opdracht Zoeken gebruikt, moet u de basissyntaxis ervan begrijpen. Allemaal Vind Utility-expressies worden geschreven in de vorm:

$ vind [opties] [pad …] [expressie]

Hier;

  • Opties dicteer de behandeling van de opties voor foutopsporing, symbolische links (symlinks) en optimalisatiemethoden.
  • Pad bepaalt de directory (s) waar de vind commando krijgt de bestanden.
  • Tenslotte, uitdrukking, bevat opties, acties en zoekpatronen, gescheiden door operators.

Een voorbeeld van een zoekopdracht met deze kenmerken ziet er als volgt uit:

$ Find -L / home / projects / -name "* .js" -exec chmod 644 {};

In de bovenstaande opdracht -L  is de opties geschreven om de vind commando symlinks volgen. Het attribuut zorgt ervoor dat Find de volledige mappenboom onder de loep neemt / home / projecten /. De / home / projecten / is de pad in de opdracht stuurt het Vind om bestanden te zoeken die eindigen op de uitdrukking .js. De opdracht find wordt ook geïnstrueerd om de toestemming voor de genoemde bestanden te wijzigen in 644.

Bestanden zoeken op type

Als u een bestand op type wilt zoeken, gebruikt u de parameter -type gevolgd door de beschrijving van het bestandstype.

Enkele van de meest voorkomende omschrijvingen die worden gebruikt om een ​​bestandstype op te geven, zijn:

  • b: apparaten blokkeren
  • c: karakter apparaten
  • f: een normaal bestand
  • l: symbolische link
  • p: genoemde pijp (FIFO)
  • s: stopcontact

Om bijvoorbeeld mappen op een specifieke locatie te vinden, voert u eenvoudig de opdracht uit:

$ Vinden. -type d

U kunt ook de opdracht uitvoeren om alle tekenapparaten in een Linux-systeem te vinden:

$ Find / -type c

Om de permissies van alle bestanden te wijzigen in 644 en permissies voor alle directories in 755, voer je de commando’s uit:

$ Find / var / www / my_project -type f -exec chmod 0644 {};
$ Find / var / www / my_project -type d -exec chmod 0755 {};

Bestand zoeken op naam

Dit is een van de meest populaire Linux Zoek commando. Deze opdracht brengt het gebruik van een -naam optie samen met de specifieke bestandsnaam. Om bijvoorbeeld een bestand te vinden met de titel document.pdf in de locatie / home / hostadvies, je voert gewoon de opdracht uit:

$ Sudo find / home / hostadvice -type f -name document.pdf

De optie -naam kan worden gewijzigd in -ik noem bij het doen van een niet-hoofdlettergevoelige zoekopdracht. Het bovenstaande commando kan bijvoorbeeld worden uitgevoerd als:

$ Sudo find / home / hostadvice -type f -iname document.pdf

Hiermee wordt het document gevonden dat overeenkomt met de naam DOCUMENT.pdf, Document.pdf, enz

Een bestand zoeken op extensie

Dit is vergelijkbaar met het vinden van een bestand op naam, alleen dat de naam wordt vervangen door een expressie. Om alles te vinden .log.gz bestanden in de directory / var / log / nginx, voer de opdracht uit;

$ Find / var / log / nginx -type f -name ‘* .log.gz’

Aan de andere kant bij het zoeken naar bestanden die niet overeenkomen met de uitdrukking * .log.gz, Voeg een … toe -niet parameter net voor de -naam keuze.

$ find / var / log / nginx -type f -not -name ‘* .log.gz’

Notitie: wanneer u het jokerteken gebruikt, moet u het asterisk-symbool omzeilen met een speling of de uitdrukking citeren. Dit voorkomt dat de Linux-shell het jokerteken interpreteert.

Een bestand zoeken op grootte

Het vinden van een bestand op grootte is eenvoudig. Geef de parameter gewoon door; -grootte, samen met het formaatformaat. Enkele van de meest populaire achtervoegsels zijn:

  • b: 512-byte blokken (standaard)
  • c: bytes
  • G: Gigabytes
  • M: Megabytes
  • k: Kilobytes
  • w: woorden van twee bytes

Als u bijvoorbeeld een bestand van 1024 bytes in de map ‘/ tmp’ wilt vinden, voert u de onderstaande opdracht uit:

$ Find / tmp -type f -formaat 1024c

De bovenstaande opdracht komt overeen met alle bestanden die kleiner of groter zijn dan 1024 bytes. Gebruik om bestanden te vinden die groter zijn dan 1024 bytes + net voor de bestandsgrootte. Aan de andere kant, om bestanden te vinden die kleiner zijn dan 1024 bytes, gebruik a min teken vóór de bestandsgrootte. Om bijvoorbeeld bestanden te vinden die kleiner zijn dan 1M in uw huidige werkmap, voert u de opdracht uit:

$ Vinden. -type f-maat -1M

Met de opdracht size kunt u bestanden zoeken die binnen een bereik vallen. Om bijvoorbeeld bestanden te vinden die tussen 2 en 3 MB groot zijn, voert u de opdracht uit:

$ vinden. -type f-maat + 2M -maat3M

Een bestand zoeken op basis van de wijzigingsdatum

Bovendien kunt u met de opdracht find bestanden zoeken op basis van hun laatste toegang, wijziging of wijzigingstijd. Hetzelfde als in het vorige geval, we kunnen de min- en plustekens gebruiken om minder dan of groter dan aan te geven.

Als u bijvoorbeeld wijzigingen heeft aangebracht in a devcot-configuratiebestand in de afgelopen vijf dagen en kan me de specifieke bestandsnaam niet herinneren. U kunt in alle bestanden in de directory zoeken /etc/dovecot/conf.d/ die in deze tijd werd gewijzigd. Zoek met de onderstaande opdracht naar een bestand dat eindigt op .conf:

$ Vind /etc/dovecot/conf.d -name "* .conf" -mtime 5

Sterker nog, u kunt de gebruiken -dagstart optie om bestanden te filteren op basis van de dag dat ze zijn gewijzigd. Om alle bestanden in de directory te vinden /huis, die een maand geleden of langer zijn gewijzigd, voer de opdracht uit:

 $ find / home -mtime + 30 -daystart

Een bestand zoeken op basis van machtigingen

Om een ​​bestand met toestemming te vinden gebruiken we de parameter -permanent. Bijvoorbeeld om bestanden met toestemming van 775 in de directory te vinden / var / www / html.

$ find / var / www / html -perm 644

De numerieke modus in de bovenstaande opdracht kan worden voorafgegaan door een schuine streep of min symbool. Indien voorafgegaan door een schuine streep, moet één groep, gebruiker of andere categorieën ten minste de bits bevatten die zijn gespecificeerd voor dat bestand om overeen te komen. Bijvoorbeeld:

$ Vinden. -perm / 444

Deze opdracht levert resultaten op van bestanden met leesrechten voor de groep, gebruiker of andere categorieën. Wanneer een minteken wordt gebruikt om de numerieke waarde vooraf te laten gaan, moeten de opgegeven bits worden gespecificeerd zodat elk bestand overeenkomt.

Met de volgende opdracht vindt u bijvoorbeeld bestanden met lees- en schrijfrechten voor de corresponderende eigenaar, maar de andere gebruikers en de groep hebben alleen leesrechten:

$ Vinden. -perm -664

Een bestand zoeken door de eigenaar

Hier kunt u de gebruiken -groep en -gebruiker om bestanden te vinden die respectievelijk eigendom zijn van een groep of gebruiker. Bijvoorbeeld om te zoeken naar mappen en bestanden die eigendom zijn van een gebelde gebruiker hostadvies, voer de onderstaande opdracht uit:

$ Find / -user hostadvies

U kunt ook zoeken naar bestanden die eigendom zijn van www-gegevens en wijzig het eigendom van deze bestanden in nginx, voer de opdracht uit:

$ find / -user www-data -type f -exec chown nginx {};

Een bestand zoeken en verwijderen

Een bestand verwijderen is net zo eenvoudig als het toevoegen van een parameter als het achtervoegsel van de expressie voor bestandsovereenkomst. Het is altijd verstandig om ervoor te zorgen dat de resultaten voor de bestanden zijn die u wilt verwijderen. Bijvoorbeeld om bestanden te verwijderen die eindigen op .temp in de directory / var / log /, voer de onderstaande opdracht uit:

$ find / var / log / -name `* .temp` -delete

Conclusie

Dat is het! We hebben de veelgebruikte Linux-zoekopdrachten gemarkeerd op basis van een aantal criteria. U kunt nu de opdracht gebruiken om een ​​bestand in uw Linux-systeem te vinden.

Bekijk deze top 3 Linux-hostingservices

FastComet

Beginprijs:
$ 2,95


Betrouwbaarheid
9.7


Prijzen
9.5


Gebruikersvriendelijk
9.7


Ondersteuning
9.7


Kenmerken
9.6

Lees recensies

Bezoek FastComet

Hostinger

Beginprijs:
$ 0,99


Betrouwbaarheid
9.3


Prijzen
9.3


Gebruikersvriendelijk
9.4


Ondersteuning
9.4


Kenmerken
9.2

Lees recensies

Bezoek Hostinger

ChemiCloud

Beginprijs:
$ 2,76


Betrouwbaarheid
10


Prijzen
9,9


Gebruikersvriendelijk
9,9


Ondersteuning
10


Kenmerken
9,9

Lees recensies

Bezoek ChemiCloud

Gerelateerde How-To-artikelen

  • Bestanden zoeken in Linux met behulp van de opdrachtregel
    Nieuweling
  • Hoe maak je een niet-rootgebruiker aan op je Ubuntu 18.04 VPS of Dedicated Server
    Nieuweling
  • Hoe WordPress te installeren met Nginx & Redis op een CentOS VPS of Dedicated Server
    gemiddeld
  • Hoe Apache Mod_Rewrite op een Ubuntu 18.04 VPS of speciale server in te schakelen
    deskundige
  • Hoe Rocket.Chat op Ubuntu 18.04 VPS te implementeren
    gemiddeld
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me