chown
맨페이지 에서 :
The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect.
-H if a command line argument is a symbolic link to a directory, traverse it
-L traverse every symbolic link to a directory encountered
-P do not traverse any symbolic links (default)
-H
와 옵션의 정확한 차이점은 무엇인가요 -L
? 내가 이해한 바에 따르면 -H
디렉터리 심볼릭 링크 탐색은 해당 디렉터리가 인수로 지정된 경우에만 허용되며 -L
어떤 경우에도 모든 디렉터리 심볼릭 링크가 탐색됩니다. (이 옵션은 chown
이 옵션을 사용하여 재귀적으로 호출할 때만 적용됩니다 -R
. 비재귀 모드에서는 인수로 지정된 디렉터리 심볼릭 링크가 항상 순회됩니다.) 이것이 맞습니까?
답변1
귀하의 이해가 정확합니다. 이 옵션은 동일합니다.옵션find
.
그러므로
chown -R .
또는
chown -R -P .
기호 링크를 역참조하지 않고 소유자를 재귀적으로 변경합니다.
chown -R -H *
소유자를 재귀적으로 변경하여 현재 디렉터리의 모든 심볼릭 링크를 역참조합니다(이는 인수의 일부가 되기 때문에).
chown -R -H .
여전히 심볼릭 링크가 역참조되지 않았고 마침내
chown -R -L .
chown -R -L *
둘 다 역참조 기호입니다.
(위의 예와 별도로, 셸의 와일드카드 옵션에 따라 .
및 *
가 반드시 동일한 결과를 생성하는 것은 아니라는 점에 유의하세요. *
일반적으로 도트 파일과 일치하지 않습니다.)