Tecmint.comは9月8日(米国時間)、「5 Command Line Tools to Find Files Quickly in Linux」において、ファイルを検索する時に利用できるコマンド5選を紹介した。UNIX系のオペレーティングシステムではコマンドを利用することでファイルの検索などが行える。

紹介されているコマンドは次のとおり。

コマンド 内容
find ディレクトリを再帰的に調べてファイルを見つけるコマンド。基本的な使い方は開始するディレクトリの指定するだけ。さまざまなオプションが提供されており、絞り込みたい条件をオプションで指定できる
locate ファイル名からファイルを高速検索するコマンド。ファイルシステムではなくデータベースから検索を実施するため、高速に検索することが可能。データベースのアップデートはupdatedbコマンドで実施する
grep ファイルの中見を検索してパターンに一致する行を出力するコマンドだが、この機能を利用して特定のパターンを含むファイルを探す目的で利用できる
which コマンドの絶対パスを出力するコマンド
whereis コマンドの絶対パス以外にも、マニュアルファイルのパスなども表示してくれるコマンド
  • findコマンド実行例

    findコマンド実行例

  • which/whereisコマンド実行例

    which/whereisコマンド実行例

locateコマンドはあらかじめファイルシステムから作成したデータベースからパスを見つけ出す処理を行う。このため、検索結果はコマンド実行時のファイルシステムの状態を反映したものではなく、データベースを作成した段階のファイルシステムの状態を反映したものとなる。

このデータベースファイルはLinuxではupdatedbコマンドで作成および更新する。FreeBSDでは/usr/libexec/locate.updatedb、macOSではsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistで更新する仕組みになっている。データベースの更新方法はオペレーティングシステムごとに異なるので、オンラインマニュアルなどを参考にしてそのプラットフォームで提供されている方法を利用する必要がある。