2013-08-16 3 views
0

내가 소유하고있는 HTML 파일에 다음 권한을 부여하도록 요청 받았습니다 : RW-RW-R-- (664 믿을 만하다, 현재 644 임).-R이 chmod와 작동하지 않습니까?

그래서이 실행 :

$ chmod -R 664 *.html 

을 그리고 해당 폴더에 있던 HTML 파일을 (나는 하위 폴더로 가서 거기에 권한을 체크가 변경되지 않은) 변경되었습니다. 내가 가지고있는 모든 파일을 바꿔야하므로 최상위 폴더에서이 파일을 실행했습니다.

내 명령이 잘못 되었습니까? 그것은 어떤 서버 설정입니까? 나는 전에 이것을 한 것으로 믿지만, 나는 지금 일할 수 없습니다. 명령과 함께

답변

2

:

chmod -R 664 *.html 

쉘은 (*.html를) 주어진 파일 경로를 확장 단지들에 작동합니다. 그것은 현재 디렉토리의 모든 html 파일입니다. 해당 패턴과 일치하는 디렉토리가 없으면 디렉토리를 트래버스하지 않습니다.이 경우 해당 폴더 아래의 모든 항목이 변경됩니다.

:

find . -name "*.html" -exec chmod 664 {} \; 

변경하려는 HTML 파일이 하나 또는 두 개의 레벨이 다운되면, 당신은 같은 것을 할 수 있습니다 : 당신이 원하는 일을하려면

, 당신은 find 사용할 필요가

chmod 664 *.html */*.html */*/*.html 

등. 그러나 find은 일반적인 해결책이 될 것이다.

+0

감사합니다.이 기능을 통해 추가 폴더 인수에 대해 알아두면 좋습니다. 내가 할 수있을 때 나는 받아 들일 것이다. – SSaaM

+0

'찾기. -name \ *. html -print0 | xargs -0 chmod 664'도 작동하며 여러 파일에 대해'chmod'를 한 번 (또는 몇 번) 호출합니다. (Joachim Isaksson이 답변으로 게시 한 후 어떤 이유로 든 삭제했습니다.) –

+0

Thanks @KeithThompson. 그 수준의 성능이 항상 문제가되지는 않기 때문에 보통 짧은 버전을 입력하기 만하면됩니다. 요아킴은 시각적으로 더 길기 때문에 그의 대답을 삭제했다고 생각합니다. 그러나 나는 동의한다 : 그것은 가치있는 대안을 제공했다. – lurker

관련 문제