Linux Unix
[ Linux ] 하위 폴더 까지 특정 파일, 특정폴더 권한 변경 (삭제 응용가능)
정윤재
2021. 6. 6. 22:55
이번 게시글의 목적은 현재 폴더와 하위 폴더에 원하는 파일, 폴더에 영향을 줄 수 있는
명령어를 수행 하는 방법을 알고자 함입니다.
우선 테스트를 위해 아래와 같은 구조를 만들어 보았습니다.
(이미지 실수가 있습니다. txt 파일 권한은 664 입니다.)
명령은 모두 상위인 test 폴더에서 수행 하는 것으로 테스트 하였습니다.
1. 파일만 하위 폴더까지 전부 권한 변경
find ./ -type f -exec chmod 777 {} \;
모든 파일의 권한이 777 로 변경되었습니다. (폴더는 775 로 그대로 입니다.)
2. 폴더만 하위 폴더까지 전부 권한 변경
find ./ -type d -exec chmod 777 {} \;
하위 폴더인 test_sub1, test_sub2 폴더의 권한이 777 로 변경 되었습니다.
3. 특정 이름의 파일명만 하위 폴더까지 권한 변경
find ./ -type f -name '*.txt' -exec chmod 600 {} \;
*.txt 로 txt 파일 전부의 권한이 하위 디렉토리까지 600 으로 변경 되었습니다.
(폴더 권한은 변경된 것이 없습니다.)
폴더를 변경 하시려면 -type 다음 d 를 사용하시면 됩니다.
참고 사항
1. -type 옵션에서 f 는 file, d 는 directory
2. -exec 옵션은 find 명령을 실행후 실행하는 명령어
3. {} 는 find 명령의 결과 값
4. \; 명령어 종료
5. {} 뒤에 \ 사이에 한칸 빈칸이 있어야 합니다.
6. 특정 이름의 파일명을 찾을 때는 '' 로 이름을 감싸주는게 좋습니다.
7. 응용을 위해서는 -exec rm -rf {} \; 와 같이 명령어를 변경 해주면 됩니다.