Ga naar inhoud

πŸ”Ž Het locate Commando in Linux

In deze handleiding leer je hoe je locate gebruikt op een Linux-systeem.

Het commando locate wordt gebruikt om bestanden en mappen snel te vinden op basis van naam.
Het werkt op basis van een vooraf gegenereerde database, waardoor zoekopdrachten veel sneller zijn dan met find.

Achtergrondinformatie

Het commando locate is standaard aanwezig op de meeste Linux-systemen, maar vereist meestal de installatie van het mlocate-pakket.

  • locate zoekt in een database van het bestandssysteem, die periodiek wordt bijgewerkt.
  • Voor actuele resultaten moet de database worden ververst met updatedb.
  • Het wordt vaak gebruikt voor snel terugvinden van bestanden zonder dat een volledige recursieve zoekactie nodig is.

Controleren of locate aanwezig is

Wil je controleren of locate aanwezig is, dan kun je de versie opvragen:

locate --version
Voorbeeldoutput
mlocate 0.26
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/>.

βš™οΈ Installeren van locate

Het commando locate wordt geleverd door het pakket mlocate.
Op sommige minimale systemen moet het handmatig worden geΓ―nstalleerd.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install mlocate

Database bijwerken

Na installatie moet de database worden bijgewerkt:

sudo updatedb

Voorbeeldoutput
# updatedb voltooid, database is bijgewerkt

Hieronder vind je enkele veelgebruikte combinaties van het locate-commando:

  • locate bestand.txt β†’ Zoek naar een specifiek bestand
Voorbeeld gebruik van locate bestand.txt

Commando:

locate bestand.txt
Voorbeeldoutput:
/home/user/documents/bestand.txt
/var/backups/bestand.txt

  • locate *.log β†’ Zoek alle logbestanden
  • locate -i bestand.txt β†’ Zoek zonder hoofdlettergevoeligheid
  • locate -c bestand.txt β†’ Tel het aantal matches
  • locate -r "patroon" β†’ Zoek met reguliere expressies
  • locate -l 10 bestand.txt β†’ Beperk het aantal resultaten tot 10
  • locate --existing bestand.txt β†’ Alleen bestanden tonen die daadwerkelijk bestaan
  • locate --database /pad/naar/db bestand.txt β†’ Gebruik een specifieke database

Het locate-commando heeft weinig configuratie, maar je kunt aliassen maken:

1. Per gebruiker instellen

Voeg dit toe aan ~/.bashrc:

alias locateall='locate -i'

2. System-wide instellen

Plaats dezelfde alias in /etc/bash.bashrc of /etc/profile

Logging van het locate-commando

Het locate-commando schrijft zelf geen logbestanden weg.
Wil je gebruik van locate monitoren, dan kan dat met auditd.

Voorbeeld auditd regel

sudo auditctl -w /usr/bin/locate -p x -k locate_monitor
  • -w /usr/bin/locate β†’ bewaak het bestand locate
  • -p x β†’ log bij uitvoeren
  • -k locate_monitor β†’ tag voor herkenning

Logs bekijken:

ausearch -k locate_monitor

Of rechtstreeks in:

less /var/log/audit/audit.log

Updaten van locate

Het locate-commando wordt geΓΌpdatet via de package manager van je distributie.

Voorbeeld (Debian/Ubuntu):

sudo apt update
sudo apt install --only-upgrade mlocate

Verwijderen van locate

Het locate-commando kan verwijderd worden, maar dit zal snelle zoekfunctionaliteit weghalen.

Voorbeeld (Debian/Ubuntu):

sudo apt remove mlocate

πŸ“– Handleiding

De ingebouwde handleiding van Linux-commando’s is altijd beschikbaar via man.
Voor locate:

man locate
Voorbeeld
LOCATE(1)                    User Commands                    LOCATE(1)

NAME
       locate - find files by name

SYNOPSIS
       locate [OPTION]... PATTERN...

DESCRIPTION
       Search a database for entries matching specified patterns.