비재귀성을 엄격하게 보장하면서 dir의 모든 파일을 실행 가능(비재귀)으로 만듭니다.

비재귀성을 엄격하게 보장하면서 dir의 모든 파일을 실행 가능(비재귀)으로 만듭니다.

질문 제목을 이상하게 이해하지만 권한을 chmod비재귀적으로(매개변수 없이 ) -R변경할 때 특별히 주의해야 하고 어떻게든 비재귀성을 "강제"해야 하는 상황이 있는지 궁금합니다.

디렉토리가 있다고 가정 해 봅시다 ~/x. 디렉토리에는 일부 파일이 있고 하위 디렉토리에도 일부 파일이 있으며 실행 가능 여부에 영향을 주지 않고 ~/x/y모든 파일을 실행 가능하게 만들기로 결정했습니다 .xy

chmod +x ~/x/*

물론 chmod이것은 작동해야 하며 POSIX 논리가 Bash 버전(향후 버전 포함)에서 변경될 가능성은 거의 없으며 위의 chmod는 하위 디렉터리에도 영향을 미치지만 어떤 상황(또는 공통 셸)이 있을 수 있는지 궁금합니다. ) 파일 chmod +x ~/x/*도 덮어쓰게 되며 y, 예기치 않은 변경을 방지하기 위해 명령을 어떻게 개선할 수 있습니까?

답변1

찾기 및 제한을 사용하여 현재 디렉터리의 파일만 가져올 수 있습니다.

find ~/x -maxdepth 1 -type f -exec chmod +x {} +

관련 정보