![권한을 재귀적으로 변경하는 것과 권한을 재귀적으로 변경하지 않는 것의 차이점](https://linux55.com/image/91613/%EA%B6%8C%ED%95%9C%EC%9D%84%20%EC%9E%AC%EA%B7%80%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EA%B2%83%EA%B3%BC%20%EA%B6%8C%ED%95%9C%EC%9D%84%20%EC%9E%AC%EA%B7%80%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EB%B3%80%EA%B2%BD%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EA%B2%83%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90.png)
chmod 777 *
명령과 재귀적으로 또는 일반적으로 권한을 변경하는 chmod -R 777 *
것의 차이점은 무엇입니까 ?
답변1
다음과 같은 디렉터리 구조가 있다고 가정합니다.
$ ls -lR
.:
total 4
drwxr-xr-x 3 user users 4096 Aug 2 14:05 a
./a:
total 4
drwxr-xr-x 3 user users 4096 Aug 2 14:05 b
./a/b:
total 4
drwxr-xr-x 2 user users 4096 Aug 2 14:05 c
./a/b/c:
total 0
chmod 777 *
현재 디렉터리에 있는 모든 파일의 권한을 0777로 설정 하면 됩니다 . 그러나 하위 디렉터리의 파일은 영향을 받지 않습니다. 즉, a/
권한은 0777로 설정되지만 a/b
etc는 설정되지 않습니다 a/b/c
.
$ chmod 777 *
$ ls -lR
.:
total 4
drwxrwxrwx 3 user users 4096 Aug 2 14:05 a
./a:
total 4
drwxr-xr-x 3 user users 4096 Aug 2 14:05 b <=== Note
./a/b:
total 4
drwxr-xr-x 2 user users 4096 Aug 2 14:05 c <=== Note
./a/b/c:
total 0
여기서 재귀가 발생합니다. chmod -R 777 *
현재 디렉터리의 모든 하위 디렉터리에 있는 모든 파일과 디렉터리가 영향을 받습니다.
$ ls -lR
.:
total 4
drwxrwxrwx 3 user users 4096 Aug 2 14:05 a
./a:
total 4
drwxrwxrwx 3 user users 4096 Aug 2 14:05 b <=== Note
./a/b:
total 4
drwxrwxrwx 2 user users 4096 Aug 2 14:05 c <=== Note
./a/b/c:
total 0
참고: bash를 사용하는 경우 "모든 파일"의 의미는 값에 따라 다릅니다 dotglob
. bash(1)도 마찬가지입니다.