따라서 이 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 파일에 있는 파일뿐만 아니라) 모든 유형의 파일을 찾습니다. 실행 가능한 명령") - 그러나 정기적인 인덱스 재구축을 사용하므로 매우 빠릅니다.