이것이 find 명령의 개요를 요약하는 더 좋은 방법입니까?

이것이 find 명령의 개요를 요약하는 더 좋은 방법입니까?

매뉴얼 페이지의 find개요에서 다음을 찾습니다.

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

그러나 매뉴얼 페이지를 읽은 후 다음과 같다는 것을 알았습니다.

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [options] [tests] [actions] 

내 이해가 맞나요?

답변1

개요에는 옵션이 테스트보다 먼저 나타나야 하고 옵션과 테스트가 모두 작업보다 먼저 나타나야 한다고 명시되어 있지만 그렇지 않습니다. 실제로 순서에 관계없이 수행할 수 있습니다.

find게다가 테스트라고 부르는 것과 GNU 매뉴얼 페이지에서 작동한다고 부르는 것 사이에는 전혀 차이가 없습니다. 매뉴얼 페이지가 텍스트에서 이들을 다르게 분류하는 이유는 모르겠지만(GNU가 아닌 버전의 매뉴얼 페이지는 find구별되지 않음) 아마도 해석의 편의와 용이함을 위한 것일 것입니다. 사실 액션은 테스트일 뿐이고 우연히 부작용이 있을 뿐입니다. 모든 소위 작업은 소위 테스트와 마찬가지로 부울 반환 값을 갖도록 문서화되어 있습니다(그 중 다수는 무조건 true를 반환하지만). 전체 표현식의 평가는 이러한 반환 값의 영향을 받으며 "실제" 테스트와 마찬가지로 순서가 중요합니다(특히 -o괄호와 논리 연산자가 포함된 경우). 게다가 소위 옵션이라고 하는 것조차 실제로는 테스트입니다(맨페이지 참조: "모든 옵션은 항상 true를 반환합니다."). 그러므로 시놉시스에서 이것이 문법적으로 다른 것이라고 암시하는 것은 오해의 소지가 있습니다.

답변2

귀하의 의견으로는옵션,시험그리고행동혼합 가능:

find / -type f -name '*.DELETE' -ls -delete -o -name '*.COMPRESS' -exec gzip {} \;

관련 정보