디렉토리에 대한 심볼릭 링크를 만드는 방법

디렉토리에 대한 심볼릭 링크를 만드는 방법

아래와 같은 심볼릭 링크를 만들려고합니다

ln -s /home/scripts/logs  /home/log 

/home/log 디렉터리가 이미 존재하므로 삭제할 수 없습니다. 이렇게 하면 /home/log/logs에 대한 심볼릭 링크가 생성됩니다. 대상이 디렉토리이고 이미 존재하는 경우 ln -s소스의 하위 폴더가 대상 디렉토리 내에 생성된다는 것을 알고 있습니다. 하지만 소스 디렉터리(/home/scripts/logs/"test_contents")의 내용만 대상(/home/log/"test_contents")에 있기를 원합니다. 이에 대한 해결책이 있습니까? 참고: 다른 애플리케이션 로그가 포함된 /home/logs는 삭제할 수 없습니다.

답변1

당신의 ln -s명령은 반대입니다. 첫 번째 피연산자는 링크가 가리킬 위치이고, 두 번째 피연산자는 호출하려는 기호 링크 자체입니다.

명령에서 피연산자의 순서를 기억 ln -s this here하고 "Take"로 읽을 수 있습니다.이것그리고 그것에 대한 심볼릭 링크를 만듭니다여기"( mv this here"에서와 같이 가져가다이것그리고 그것을 움직여여기", 등.)

주문하다

ln -s /home/logs /home/scripts/logs

/home/scripts/logs가리키는 심볼릭 링크가 생성됩니다 /home/logs( /home/scripts/logs아직 존재하지 않는다고 가정).

실생활에서는 아마도 디렉토리를 사용하지 않을 것입니다.곧장하지만 아래에서는 /home실제로 다음을 원할 수도 있습니다.

ln -s "$HOME/logs" "$HOME/scripts/logs"

...또는 그런 것.

답변2

심볼릭 링크를 원하는 것 같습니다문서디렉터리 자체가 아닌 디렉터리에 있습니다. 그렇다면 당신은 아마도 이것을 원할 것입니다 :

ln -s /home/scripts/logs/*  /home/log/

관련 정보