●typeコマンドは、指定したコマンドが通常のコマンドか、シェルの組み込みコマンドか、エイリアスか、などの情報を表示します。通常のコマンドの場合、そのコマンドが格納された絶対パスを表示。
●検索用データベースを使用して高速でファイル検索を行うコマンドはlocate。
locateコマンドはあらかじめ作成された検索用データベースに沿って、検索パターンに合致したファイルやディレクトリを高速に検索。
なお、検索用のデータベースはupdatedbコマンドで更新します。また、updatedbコマンドの設定ファイルは「/etc/updatedb.conf」。
●updatedbコマンド
locateコマンドが利用する検索用のデータベースを更新します。
locateコマンドはあらかじめ作成された検索用のデータベースに沿って、検索パターンに合致したファイルやディレクトリを高速に検索します。
「/etc/updatedb.conf」ファイルでは、データベースに登録しない(locateコマンドでの検索対象外とする)ディレクトリの設定などを行うことが出来ます。
updatedbコマンドの設定ファイルは「/etc/updatedb.conf」。
●指定したコマンドの場所を検索するにはwhichまたはwhereisコマンドを利用。
whichコマンドは、環境変数PATHで設定しているディレクトリから検索します。
whereisコマンドは、Linuxでコマンドの格納される標準的なディレクトリの中から検索します。またマニュアル、ソースコードの場所も表示
●findコマンド
指定したディレクトリ以下からファイルやディレクトリを検索するコマンド。検索条件としてファイル名やディレクトリ名以外にも、アクセス権やファイルのサイズなど、さまざまな検索条件を指定できます。
※ただし、アクセス権がないファイルやディレクトリは検索できません。
find [検索起点ディレクトリ] [検索式] [アクション]
■検索式
・-name ファイル名 ファイル名で検索
・-atime 日数 最終アクセス日で検索
・-mtime 日数 最終更新日で検索
・-perm アクセス権 アクセス権で検索
・-size サイズ ファイルサイズで検索
・-type ファイルの種類 ファイルの種類で検索(fはファイル、dはディレクトリ、lはシンボリックリンク)
・-user ユーザ名 ファイルの所有者で検索
・-maxdepth 階層数 指定した階層まで検索
・-mindepth 階層数 指定した階層から下を検索
■アクション
・-print 検索結果を改行で区切って表示(省略可能)
・-print0 剣閣結果をNULL文字(¥0)で区切って表示
・-exec コマンド名 {} ¥; 検索結果のファイルに対してコマンドを表示
※「{}」は検索結果のファイルに置き換えられます。また、「;」はコマンドの終了を意味します。「;」はメタキャラクタのため、シェルによって解釈されないよう「\」でエスケープします。
●FHS(Filesystem Hierarchy Standard:ファイルシステム階層標準)
ディストリビューションに依存しない、Linuxの標準的なディレクトリの構造を定めた規格のこと。
以前は各ディストリビューションが、それぞれに定めたディレクトリ構造を使用していました。そのため、インストールしたプログラムの配置場所がそれぞれのディストリビューションで違うなどの問題がありました。
このような問題をなくすために、どのディレクトリにどのようなファイルを格納するべきかということを標準化したのがFHS(ファイルシステム階層標準)です。
しかし、FHSではディレクトリ構造を詳細に規定しているわけではありません。また、あくまでもディレクトリ構造の標準ですので、各ディストリビューションがFHSに完全に従う必要はありません。
そのため、ユーザ自身がファイルの保管場所を検索、把握しなければならない場合があることに注意。