which,whereis,locate,findの違い

1208 ワード

whichは、PATH環境変数で設定された実行可能ファイルの場所を表示します.したがって、whichは基本的に実行可能ファイルを検索します.
 
[root@localhost ~]# which yum
/usr/bin/yum

whereisファイルの表示場所
[root@redhat~]#whereis[-bmsu]ファイルまたはディレクトリ名パラメータ説明:-b:バイナリファイルのみ-m:説明ファイルmanualパスの下にあるファイルのみ-s:sourceソースファイルのみ-u:説明ドキュメントのないファイル
より多くのパラメータはman whereisで表示できます.
locateファイルまたはディレクトリ名
データベースに合わせてファイルの場所を表示します.
findに比べてwhereisの検索速度は非常に速い.これはlinuxシステムがシステム内のすべてのファイルを1つのデータベースファイルに記録するためであり、whereisと後述するlocateを使用すると、findコマンドのようにハードディスクを巡回して検索するのではなく、データベースからデータが検索され、効率が高くなるからだ.しかし、このデータベース・ファイルはリアルタイムで更新されるわけではありません.デフォルトでは週に1回更新されます.そのため、whereisとlocateでファイルを検索すると、削除されたデータが見つかったり、ファイルが作成されたばかりなのに見つからないことがあります.なぜなら、データベース・ファイルが更新されていないからです.updatedbでローカルのデータベースfindを強制的に更新して実際にハードディスククエリーファイル名を検索できます.
パラメータもたくさんありますが、私がよく使うのは
find/-name zabbix.conf
より多くのパラメータは、以下のパラメータまたはmanfindを参照してください.
時間検索パラメータ:-atime n:n*24時間メモリから取り出したファイルを-ctime n:n*24時間以内に変更、新しいファイルまたはディレクトリが表示されます-mtime n:n*24時間以内に変更されたファイルまたはディレクトリが表示されます-newer file:fileよりも新しいファイルを名前検索パラメータ:-gid n:グループID nのファイルを探します-group name:グループ名nameのファイルを探します-uid n:所有者ID nのファイルを探します-user name:ユーザー名nameのファイルを探します-name file:fileというファイルを探します(ワイルドカードを使用できます