ファイルの所在地を検索するコマンド

ファイルの所在地を検索するコマンド

ファイルの所在地を検索するコマンドの一覧

locateコマンド

ファイル名を元(検索値)に、ファイルの所在地(パス)を調べるためのコマンドです。
検索値に含まれる、全てのファイルのパスの一覧を取得することができます。

find コマンド

ファイル名だけでなく、ファイルのサイズ、作成日なども条件
(検索値)に、ファイルの所在地(パス)を調べるためのコマンドです。
条件に合致する全てのファイルのパスの一覧を取得することができます。

locateコマンドでファイルのパスを調べる

書式

locate  ファイル名パターン

ファイル名を元(検索値)に、ファイルの所在地(パス)を調べるためのコマンドです。検索値に含まれる、全てのファイルのパスの一覧を取得することができます。
また、ファイル名の一覧をまとめたデータベース(mlocate.db)を使って検索するため、単純な検索しかできませんが、高速な検索が可能です。

※ 多くのディストリビューションでは、updatedbコマンドは定期的に実行されるようになっています。

実践①:事前準備(パッケージのインストール)

1. mlocateパッケージをインストールします。

当講座でCentOSをインストールしたminimalは、locateコマンドがインストールされていませんので、該当のコマンドを含む、mlocateパッケージをyumコマンドでインストールします。

[root@localhost user01]$ yum -y install mlocate
2. データベースを生成します。

mlocateをインストール後にlocateを実行してもmlocate.dbが生成されていないのですぐには使えないため、updatedbを実行してmlocate.dbを生成します。

[root@localhost user01]$ updatedb

実践②:hostsを含む、ファイルまたはディレクトリを検索

[user01@localhost~]$ locate hosts
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/samba/lmhosts
/usr/lib64/security/pam_rhosts.so
(以下省略)

findコマンドでより高度な条件でファイルのパスを検索

書式

find  [検索場所のディレクトリ]  [オプション(検索の種類)] 検索値

ファイル名だけでなく、ファイルのサイズ、作成日なども条件(検索値)に、ファイルの所在地(パス)を調べるためのコマンドです。
条件に合致する全てのファイルのパスの一覧を取得することができます。

オプションの主な役割:検索の種類を指定

find  [検索場所のディレクトリ]  [オプション(検索の種類)] 検索値 

オプションを介して、ファイルのサイズや、作成日などの検索対象を指定することができます。

オプション一覧

実践①:ファイル名で検索

カレントディレクトリ(/home/user01/)において、ファイル名が「hello」のファイルのパスを検索します。

[user01@localhost ~]$ find . -name hello
./Books/dir1/dir11/hello
./Music/dir1/dir11/hello

実践②:ファイルサイズと更新日時で検索

続いて指定の①ファイルサイズ(10キロバイト以下)と、②更新日時(1日以内)に合致するファイルを検索します。


NEXT>> ファイル内や実行結果から文字列を検索する