find를 사용하여 실행 비트가 설정된 모든 파일을 검색하는 방법은 무엇입니까?

find를 사용하여 실행 비트가 설정된 모든 파일을 검색하는 방법은 무엇입니까?

find를 사용하여 파일의 권한을 복구하는 권한 복구 스크립트를 작성하고 싶습니다.

나에게 주로 필요한 것은 파일의 다른 권한에 관계없이 실행 비트가 설정된 모든 파일을 나열하는 find 명령입니다(이것이 트릭입니다).

답변1

GNU 조사 결과에 따르면:

find /dir -type f -executable

다른 버전에 대해서는 주변 매뉴얼 페이지를 참조하십시오 -perm.

답변2

믿거나 말거나 이건찾다맨 페이지. CentOS 및 Ubuntu 시스템에도 이에 대한 예가 있습니다.

-파마/모드

파일에 대한 권한 비트 패턴을 설정합니다. 이 형식은 기호 패턴을 허용합니다. u',기호 모드를 사용하는 경우 g' 또는 'o'를 지정해야 합니다. 몇 가지 예시를 보려면 예제 섹션을 참조하세요. 패턴에 권한 비트가 설정되지 않은 경우 이 테스트는 모든 파일과 일치합니다(여기서 아이디어는 -perm -000의 동작과 일치한다는 것입니다).

그래서

find  . -perm /u+x

소유자에 대해 실행 권한이 설정된 파일을 찾습니다.

find . -perm /u+x,o+x

소유자 등에 대한 실행 권한이 설정된 파일을 찾습니다.

답변3

find 명령을 사용하지 않고 zsh에서 다음 명령을 사용하여 유사한 작업을 수행할 수 있습니다.Glob Qualifiers:

ls /path/to/some/parent/folder/**/*(*)

위 명령은 ls모든 하위 폴더의 모든 /path/to/some/parent/folder실행 파일을 반환합니다.

관련 정보