모든 폴더/파일의 권한을 변경하고 싶습니다(일부 제외)

모든 폴더/파일의 권한을 변경하고 싶습니다(일부 제외)

아래 폴더 계층 구조를 참조하세요.

folder1
-> file11.txt
-> file12.txt
-> folder11.backup
   -> file111.txt
   -> file112.txt
   -> file113.bak
   -> folder111
   -> and many more folders and files

folder2
-> file21.txt
-> file22.txt
-> file23.bak

folder2.backup
-> file111.txt
   -> file112.txt
   -> folder111
   -> folder112
      -> file1121.bak
      -> file1122.txt
   -> and many more folders and files

folder3
-> folder31
   -> folder311
      -> folder3111.backup
         -> file3111.txt
         -> file3112.txt
         -> folder3111 
         -> and many more folders and files
      -> folder3112
         -> file31121.bak
         -> file31121.txt

다음 규칙을 사용하여 소유권(chown) 및 권한(chmod)을 변경하고 싶습니다.

  1. ".backup"으로 끝나는 폴더를 제외한 모든 폴더/하위 폴더. 내 예제 폴더 계층 구조에서는다음 폴더 및 해당 내용무시됩니다: 폴더11.백업, 폴더2.백업 및 폴더3111.백업

  2. ".bak" 확장자를 가진 파일을 제외한 모든 파일. 그러나 확장자에 관계없이 파일이 .backup 폴더에 있으면 규칙 1에 따라 해당 파일이 제외됩니다.

도와주셔서 감사합니다. :)

답변1

(1) 목차:

find . -mindepth 1 -type d -not -name '*.backup' \
    -not -path '*.backup/*' -print0 | xargs -0 chmod MODE

(2) 서류 :

find . -type f -not -name '*.bak' \
    -not -path '*.backup/*' -print0 | xargs -0 chmod MODE

ls -ld테스트를 위해 명령줄을 실행하는 대신 을 사용할 수 있습니다 chmod ....

관련 정보