아래와 같은 심볼릭 링크를 만들려고합니다
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/