실행 비트 세트가있는 모든 파일에 대해 find를 사용하여 스캔하는 방법은 무엇입니까?

find를 사용하여 파일에 대한 권한을 수정하는 권한 수정 스크립트를 작성하고 싶습니다.

주로 필요한 것은 파일에 대한 다른 권한에 관계없이 실행 비트 세트로 모든 파일을 나열 할 수있는 find 명령입니다 (트릭입니다).



답변

GNU의 발견에서 :

find /dir -type f -executable

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


답변

이것을 믿거 나 말거나 찾기 맨 페이지 에 광범위하게 문서화되어 있습니다. CentOS 및 Ubuntu 시스템에는 이에 대한 예가 있습니다.

-perm / mode

파일에 대한 권한 비트 모드가 설정됩니다. 이 모드에서는 기호 모드가 허용됩니다. u',심볼릭 모드를 사용하는 경우 g ‘또는`o’를 지정해야 합니다. 몇 가지 예시적인 예는 예 섹션을 참조하십시오. 모드에 권한 비트가 설정되어 있지 않으면이 테스트는 모든 파일과 일치합니다 (여기서 아이디어는 -perm -000의 동작과 일치해야 함).

그래서

find  . -perm /u+x

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

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

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