FreeBSD初心者運用日記 このページをアンテナに追加

 | 

2009-02-02

[][][]hashコマンドについて 23:32 hashコマンドについて - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - hashコマンドについて - FreeBSD初心者運用日記 hashコマンドについて - FreeBSD初心者運用日記 のブックマークコメント

bash限定な話。(zshもだけど)

hashコマンドについて説明する前に、コマンドを実行したときの動きを説明する。

以下のようにhogeコマンドを実行したとする。

$ hoge

そうすると、環境変数PATHに登録されている複数のディレクトリからhogeコマンドをサーチするわけですが、

よく使うコマンドを毎回サーチするのは無駄なので、bashとかzshなんかは使用するパスをキャッシュしてるらしい。

このキャッシュを登録してる所が、ハッシュテーブルというところらしい。

ハッシュテーブルの中身は以下のようにして表示できる

~$ hash
hits    command
   3    /usr/bin/man
   3    /bin/ls

ちなみに、キャッシュをクリアする場合は、hash -rする。

~$ hash -r
~$ hash
hash: hash table empty

typeコマンドなんかで、以下のようにhashedと表示されるやつは、

~$ type ls
ls is hashed (/bin/ls)
 |