How to find the path of a file based on its name?
For fast search (but not definitive):
locate -br '^settings.xml$'
From man locate
:
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.
-b, --basename
Match only the base name against the specified patterns. This
is the opposite of --wholename.
-r, --regexp REGEXP
Search for a basic regexp REGEXP. No PATTERNs are allowed if
this option is used, but this option can be specified multiple
times.
The ^
and $
ensure that only files whose name is settings.xml
and not files whose names contain settings.xml
will be printed.
You may need for the first time to run: updatedb
(as root
) to update/build the database of locate
.
A slow but steady search through file-system, but Definitive.
find / -xdev -name settings.xml
It will take some time and you may get some permission errors but it will get there. If you've got some more idea where it may be located change the first directory from /
to /where/you/guess