Linux에서 권한을 변경하는 방법

Linux에서 권한을 변경하는 방법

현재 디렉터리와 모든 하위 디렉터리에 있는 모든 *.java 파일이 모든 사용자에게 읽기 권한을 갖도록 어떻게 설정합니까?

또한 현재 디렉터리와 모든 하위 디렉터리에 있는 크기가 1KB 이상인 모든 파일을 관리자 그룹으로 설정하고 싶습니다.

답변1

대안:현재 디렉토리의 모든 .java 파일에 대한 읽기 권한을 설정하려면 다음 명령을 사용하십시오.

chmod -R 444 *.java

현재 디렉터리와 모든 하위 디렉터리에 있는 크기가 1KB 이상인 모든 파일을 admin 그룹으로 설정합니다.

find /yourdirectorypath -size +1k -exec chgrp admin {} \;

메모:"-R"은 하위 디렉토리도 포함하는 재귀를 나타냅니다.

답변2

현재 디렉터리와 모든 하위 디렉터리에 있는 모든 *.java 파일이 모든 사용자에게 읽기 권한을 갖도록 어떻게 설정합니까?

Bash ≥4.0 및 zsh에서:

chmod a+r ./**/*.java

모든 POSIX 호환 시스템(예: 골동품이 아닌 Unix 변형 등):

find . -name '*.java' -exec chmod a+r {} +

현재 디렉터리와 모든 하위 디렉터리에 있는 크기가 1KB 이상인 모든 파일을 admin 그룹으로 설정합니다.

zsh에서:

chgrp admin ./**/*(.L+1023)

POSIX 호환 시스템에서:

find . -type f -size +1023c -exec chgrp admin {} +

답변3

찾기 및 xargs 사용

find . -name \*.java | xargs chmod o+r

또는

find . -name \*.java -print0 | xargs -0 chmod o+r

두 번째 버전은 파일 또는 디렉터리 이름의 공백을 처리합니다.

디렉터리 권한도 수정해야 할 수도 있습니다.

find . -type d -print0 | xargs -0 chmod o+rx

이미 올바른 권한을 업데이트하는 것을 피할 수 있습니다. 매뉴얼 페이지에서 권한에 대한 섹션을 찾아 검토하세요.

답변4

현재 디렉토리의 모든 .java 파일에 대한 읽기 권한을 설정하려면 다음 명령을 사용하십시오.

chmod +r *.java

관련 정보