Linux 환경에서 일하다보면 특정 디렉토리 이하의 모든 디렉토리에 특정 권한을 줘야하는 경우가 자주 생깁니다 (e.g. 웹 계정을 관리할 때). 이런 경우 find 커맨드를 사용하면 간단히 해결할 수 있습니다.
1 |
find <directory path> -type d -exec chmod 777 {} ; |
파라미터들을 하나씩 살펴보면,
- <directory path> : 검색하려는 디렉토리 경로. 현재 디렉토리에서 검색하려면 . 으로.
- -type d : 지정된 디렉토리 이하 (해당 디렉토리도 포함) 모든 디렉토리만 검색. 파일만 검색하려면 -type f.
- -exec chmod 777 {}; : 검색된 각 디렉토리(혹은 파일)에 대해 실행할 명령어. {} 부분이 검색된 디렉토리(혹은 파일)로 대체되어 실행됩니다. chmod 777 은 예시니까 원하는 명령어로 바꿔주면 됩니다.
Mac / Linux 에서 잘 동작합니다. 실행하는 명령에 관리자 권한이 필요한 경우에는 제일 앞에 sudo 붙여주면 됩니다.