chown의 -H와 -L 옵션의 차이점은 무엇입니까?

chown의 -H와 -L 옵션의 차이점은 무엇입니까?

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 *

둘 다 역참조 기호입니다.

(위의 예와 별도로, 셸의 와일드카드 옵션에 따라 .*가 반드시 동일한 결과를 생성하는 것은 아니라는 점에 유의하세요. *일반적으로 도트 파일과 일치하지 않습니다.)

관련 정보