coreutils에서 심볼릭 링크 옵션 사용

coreutils에서 심볼릭 링크 옵션 사용

coreutils 매뉴얼에서

2.10 심볼릭 링크 탐색

--recursive다음 옵션은 () 옵션도 지정된 경우 chown 및 chgrp가 계층 구조를 탐색하는 방법을 수정합니다. -R다음 옵션 중 여러 개를 지정하면 마지막 옵션만 적용됩니다. 이러한 옵션은 디렉토리에 대한 기호 링크를 처리할 때 기호 링크만 작동해야 하는지 아니면 해당 디렉토리에 루트가 있는 계층 구조의 모든 파일을 작동해야 하는지 여부를 지정합니다.

--dereference이러한 옵션은 및 --no-dereference( ) 와 독립적 -h이며 기호 링크 또는 해당 참조가 수정되는지 여부를 제어합니다.

-H--recursive( )가 지정되고 명령줄 인수가 디렉터리에 대한 기호 링크인 경우 해당 디렉터리를 탐색합니다.-R

-L재귀 순회에서는 발견된 디렉터리의 각 기호 링크가 순회됩니다.

-P기호 링크를 통과하지 마십시오. -H, -L또는가 지정되지 않은 경우 이것이 기본값입니다 -P.

  1. --dereference"이 옵션은 및 --no-dereference( ) 와 독립적 -h이며 기호 링크 또는 해당 참조가 수정되는지 여부를 제어합니다"에서 "이 옵션"과 " --dereference--no-dereference"는 각각 무엇을 수행하며 어떻게 다릅니까?

  2. -H옳음과 옳음에 대한 설명은 -L나에게 같은 말을 하는 것 같습니다. 이 두 가지 옵션의 차이점은 무엇입니까?

감사해요.

답변1

로고 -h(일명 --no-dereference)는 사용하기 좋은 로고입니다. 다음과 같은 설정이 있다고 가정해 보겠습니다.

$ ln -s /etc/passwd /tmp/foobar
$ sudo chown fred /tmp/foobar

--dereference기본값과 마찬가지로 이는 실제로 변경됩니다 /etc/passwd. 아마도 원하는 것이 아닐 수도 있습니다. :-) 이 -h플래그를 사용하면 심볼릭 링크 소유권이 변경됩니다. 따라서 특히 소유권을 재귀적으로 변경할 때 이를 사용하는 습관을 들여야 합니다 -h. 즉, chmod -hR대신 하십시오 chmod -R.

-H플래그는 명령줄에 나열한 디렉터리 심볼릭 링크에만 적용됩니다. 이 -L옵션은 재귀 중에 하위 디렉터리의 심볼릭 링크를 포함하여 발견된 모든 디렉터리 심볼릭 링크에 적용됩니다 chown.

관련 정보