locateコマンドを用いてファイルを高速検索


locateコマンドはファイルシステムのデータベースを検索することで高速で目的のファイルの絶対パスを探し出すことができるコマンドです。

$ man -a locate

#################################################################

locate(1)                                                                                          locate(1)

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  contains  no
       globbing characters, locate behaves as if the pattern were *PATTERN*.

       By  default,  locate  does  not  check whether files found in database still exist.  locate can never
       report files created after the most recent update of the relevant database.

#################################################################



#以前どこかに置いたcoreutils-8.4.tar.gzを探す
$ locate coreutils-8.4.tar.gz
/home/kappa/Documents/1203/0301/coreutils-8.5/lib/coreutils-8.4.tar.gz

#以前どこかに置いたcoreutils-8.4.taとしても*を補って探し出してくれる
$ locate coreutils-8.4.ta
/home/kappa/Documents/1203/0301/coreutils-8.5/lib/coreutils-8.4.tar.gz


#こちらがワイルドカードを補うのは余計なお節介のようである。

$ locate coreutils-8.4.ta*

$



locateコマンドは高速で便利である。