Difference between revisions of "Locate"

From Hackepedia
Jump to navigationJump to search
m (→‎Updated your locate database: added db locations)
Line 1: Line 1:
 
Trying to locate a file, if you're lucky you can try
 
Trying to locate a file, if you're lucky you can try
  
  $ locate [[variables|$file]]
+
  # which [[variables|bash]]
 +
/usr/local/bin/bash
 +
 
 +
Which will search your [[$PATH]] for an executable of the same name:
 +
 
 +
Whereis locates source/binary and manuals sections for specified files, searching in a list of standard places:
 +
 
 +
# whereis bash
 +
bash: /usr/local/bin/bash /usr/local/man/man1/bash.1.gz /usr/ports/shells/bash
 +
 
 +
Locate searches for every instance of the file in your locate database:
 +
# locate bash
 +
/usr/jail/usr/share/zoneinfo/Africa/Lubumbashi
 +
/usr/local/bin/bash
 +
/usr/local/bin/bash2
 +
/usr/local/bin/bashbug
 +
[snip]
  
  
Line 24: Line 40:
  
 
You can see the database stored in /var/cache/locate/locatedb.
 
You can see the database stored in /var/cache/locate/locatedb.
 
Once you have this database, you can use many tools such as which, whereis and locate.
 
 
# which bash
 
/usr/local/bin/bash
 
# whereis bash
 
bash: /usr/local/bin/bash /usr/local/man/man1/bash.1.gz /usr/ports/shells/bash
 
# locate bash
 
/usr/jail/usr/share/zoneinfo/Africa/Lubumbashi
 
/usr/local/bin/bash
 
/usr/local/bin/bash2
 
/usr/local/bin/bashbug
 
[snip]
 

Revision as of 13:32, 8 November 2006

Trying to locate a file, if you're lucky you can try

# which bash
/usr/local/bin/bash

Which will search your $PATH for an executable of the same name:

Whereis locates source/binary and manuals sections for specified files, searching in a list of standard places:

# whereis bash
bash: /usr/local/bin/bash /usr/local/man/man1/bash.1.gz /usr/ports/shells/bash

Locate searches for every instance of the file in your locate database:

# locate bash
/usr/jail/usr/share/zoneinfo/Africa/Lubumbashi
/usr/local/bin/bash
/usr/local/bin/bash2
/usr/local/bin/bashbug
[snip]


Updated your locate database

On FreeBSD:

# vi /etc/locate.rc

to see you options. i.e. You might want to add /usr/ports to PRUNEPATH and then:

# /usr/libexec/locate.updatedb

You can see the database stored at /var/db/locate.database.

On Debian GNU/Linux:

--prunepath is one of the many options found in the Manual, then rebuild your database:

# /usr/bin/updatedb

You can see the database stored in /var/cache/locate/locatedb.