今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

いろいろな検索方法

ファイルを検索するのに一番早いのは、updatedbコマンドで作成したインデックスファイルを走査するlocateコマンドである。ただし複雑な正規表現はつかえずファイル名でしか検索が出来ない。これに対してfindはあまり早くないが多彩な検索が可能。速度だけなら、locateがgoogleデスクトップ並み、findが普通の検索。

whichならプログラムのみ(つまり実行ファイル属性)検索することができる。

# which httpd
/usr/sbin/httpd

※2008/11/23訂正
whichはパスの通ったディレクトリ配下の実行ファイルを探すようである。なので、/etc/init.d/以下の実行ファイルは検索してくれない。

# which yum-cron
/usr/bin/which: no yum-cron in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

whereisを使えば、実行ファイルのパス名やライブラリ、マニュアルの場所を検索できる。

# whereis httpd
httpd: /usr/sbin/httpd /usr/sbin/httpd.worker /etc/httpd /usr/lib/httpd /usr/share/man/man8/httpd.8.gz