This article show how to locate file easily in Linux. To install and update mlocate so as to use immediately.
$ sudo apt install mlocate Reading package lists... Done Building dependency tree... Done Reading state information... Done Suggested packages: nocache The following NEW packages will be installed: mlocate 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 98.3 kB of archives. After this operation, 517 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian bullseye/main amd64 mlocate amd64 0.26-5 [98.3 kB] Fetched 98.3 kB in 0s (558 kB/s) Selecting previously unselected package mlocate. (Reading database ... 30418 files and directories currently installed.) Preparing to unpack .../mlocate_0.26-5_amd64.deb ... Unpacking mlocate (0.26-5) ... Setting up mlocate (0.26-5) ... update-alternatives: using /usr/bin/mlocate to provide /usr/bin/locate (locate) in auto mode Adding group `mlocate' (GID 114) ... Done. Created symlink /etc/systemd/system/timers.target.wants/mlocate.timer → /lib/systemd/system/mlocate.timer. mlocate.service is a disabled or a static unit, not starting it. Processing triggers for man-db (2.9.4-2) ...
$ man mlocate
NAME locate - find files by name SYNOPSIS locate [OPTION]... PATTERN... DESCRIPTION locate reads one or more databases prepared by updatedb(8) and writes file names matching at least one of the PATTERNs to standard output, one per line. If --regex is not specified, PATTERNs can contain globbing characters. If any PATTERN con‐ tains no globbing characters, locate behaves as if the pattern were *PATTERN*. By default, locate does not check whether files found in database still exist (but it does require all parent directories to exist if the database was built with --require-visibility no). locate can never report files created after the most recent update of the relevant database. .... SEE ALSO updatedb(8)
So, now it is installed, lets locate something.
$ cd ~/ $ echo "My File!" > mylocatefile.txt $ locate mylocatefile.txt
ok, so there is an error…
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
We must update the database first in order to use it. This is in the man page updatedb:
man updatedb NAME updatedb - update a database for mlocate SYNOPSIS updatedb [OPTION]... DESCRIPTION updatedb creates or updates a database used by locate(1). If the database already exists, its data is reused to avoid rereading directories that have not changed.
$ sudo updatedb
Now we can search for files.
$ locate mylocatefile.txt /home/ipfs/mylocatefile.txt