したがって、このwhere
コマンドはシェル組み込みであるため、より速く実行され、実行可能ファイルのみを検索します。しかし、where
コマンド間に異なる違いはありますかfind
?
答え1
彼らは非常に異なる獣です。where foo
in tcsh
(また、in)は、シェルの組み込みとキーワード、エイリアス、およびクエリを介して見つかった実行可能ファイル(配列にマップされている)の場所(またはより正確にはシェルが知っている他のコマンド)をzsh
示します。さまざまな基準に基づいてファイルを検索する非常に強力なコマンドです。foo
$path
foo
$PATH
$path
find
例えば、
find /usr/local -type f -mtime -30 -atime +7 \( -user bob -o -user karen \) -perm -001 -exec chmod -x {} \;
/usr/local
そこで、通常のファイル(ディレクトリなどではありません)であり、過去30日間に変更されましたが、先週アクセスされていない、またはに属し、bob
他karen
のファイルで実行可能なすべてのファイルを見つけます。その後、chmod
これらのファイルがあります。
答え2
注: find(1) にやや似た find(1) コマンドもあります。このコマンドは、$ PATHにあるファイルだけでなく(つまり、$ PATHファイルにあるファイルだけでなく)、すべての種類のファイルを検索します。実行可能なコマンド") - しかし、定期的なインデックス再構築を使用するので、非常に高速です。