Linux에서 특정 이름을 가진 파일에 CHMOD 명령을 재귀적으로 적용하는 방법은 무엇입니까?

Linux에서 특정 이름을 가진 파일에 CHMOD 명령을 재귀적으로 적용하는 방법은 무엇입니까?

특정 이름을 가진 파일에만 CHMOD 명령을 재귀적으로 적용하는 방법을 알아야 합니까?

chmod 755 -R filename

위와 비슷하지만 filename모든 하위 폴더에 존재하는 모든 항목에 적용되어야 합니다.

답변1

그러면 현재 디렉터리에서 filename이라는 이름의 모든 파일을 재귀적으로 찾아 chmod.

find -name filename | xargs chmod 755

고급 옵션에 대해서는 find맨 페이지를 참조하세요 . xargs특히 이름에 공백이 있는 파일에 대한 오류가 발생하는 경우 -print0플래그와 해당 항목 -0을 살펴보세요.xargs

답변2

find에는 동일한 작업을 수행하는 exec 매개변수도 있습니다.

find . -name filename -exec chmod 755 {} \;

답변3

+연산자를 사용하여 한 번에 여러 파일에서 실행되도록 하면 두 가지 장점을 모두 얻을 수 있습니다 chmod.

find . -name filename -exec chmod 755 '{}' +

'항상 주위에 를 넣어야 합니다 {}. 그렇지 않으면 공백이 포함된 파일 이름으로 인해 문제가 발생할 수 있습니다. 이런 경우에는 문제가 되지 않지만 습관적으로 하는 일이 있습니다.

관련 정보