재귀에서는 찾기가 작동하지 않습니까?

재귀에서는 찾기가 작동하지 않습니까?

아래 명령을 실행했더니 찾기 결과의 첫 번째 수준(SubDir*)만 수정되고 하위 시퀀스(ChildSubDir*)는 수정되지 않는 것으로 나타났습니다. chmod를 이용하여 재귀적으로 검색해서 실행할 수 있는지 여쭤보고 싶습니다.

실행할 명령:

find ./to/path/ -type d -exec chmod 777 {} \;

목차:

DirsRoot
  |-->SubDir1
  |    |-->ChildSubDir1
  |             |-->OtherFile1
  |-->SubDir2
  |    |-->ChildSubDir2
  |             |-->OtherFile2
  |-File1
  |-File2

답변1

검색하지 않고 chmod를 재귀적으로 사용할 수 있습니다. -R깃발이 있습니다 . 그것은 다음과 같습니다:

$ cd ./to/path
$ chmod -R 777 *

이것은 chmod모든 파일이 될 것입니다.

디렉토리만 chmod하려는 경우 명령은 다음과 같습니다.

find /to/path -type d -exec chmod 777 {} +

자세한 내용은여기

답변2

다음 명령을 사용하면 작동합니다.

find /to/path/ -type d -print0 | xargs -0 chmod 777

관련 정보