Ubuntuファイル検索~findとlocateの使い方~

findとlocateとは

Linuxでファイル検索コマンドと言ったらすぐに思いつくのはfindかlocateです。この2つの違いはlocateには検索用データベースを用意するので比較的高速に検索出来るということ、それに対してfindは様々なオプションを付けて高度な検索が出来るということぐらいの違いしかないと思います。備忘録のために2つのコマンドの使い方をまとめていきたいと思います。

locateから

自分は基本的にlocateをよく使います。

# updatedb
$ locate ファイル名

ファイルを検索する前にupdatedbでデータベースの更新を行っています。

find

findコマンドの使い方は基本的にはこんな感じです。

$ sudo find [path] [オプション]

探したい場所と探し方を指定します。例えば、

$ sudo find / -maxdepth 4 -name *RECOVER*

ルートディレクトリ配下の4階層下までで、名前にRECOVERが含まれるファイルをワイルドカードによって部分一致検索をしています。
正規表現を使うとなお良いです。ちなみに正規表現はlocateでも使えます。

findコマンドは他にもファイルタイプを指定出来たりします。

$ sudo find / -maxdepth 4 -name *RECOVER* -type d

上のコマンドではディレクトリのみを検索しています。今更ですがここまで管理者権限で実行しているのはアクセス権限が無いことも想定しているからです。一般権限だとアクセス権限の無い階層への検索はスキップされます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA