[linux] 우분투에서 디렉토리의 심볼릭 링크 만들기 [닫기]

아래는 디렉토리의 심볼릭 링크를 만드는 코드입니다.

sudo ln -s /usr/local/nginx/conf/ /etc/nginx

나는 이미 디렉토리를 만들었습니다 /etc/nginx. 소스 디렉토리 ( /usr/local/nginx/conf/)의 내용이 대상 디렉토리 ( /etc/nginx) 의 내용에 포함되기를 원합니다 . 그러나 코드를 실행하면 의 내용 대신 /etc/nginx이라는 디렉토리가 포함 됩니다. 그 디렉토리에는 내가 원하는 내용이 있지만 잘못된 위치에 있습니다.confconf

디렉토리의 내용을 대상 폴더에 넣는 대신 대상 폴더에 디렉토리를 넣은 이유는 무엇입니까?



답변

이것은 ln두 번째 arg가 디렉토리 인 경우 의 동작입니다 . 그 안에 첫 번째 인수에 대한 링크를 배치합니다 . 당신이 원하는 경우 /etc/nginx심볼릭 링크로, 먼저 해당 디렉토리를 제거하고 동일한 명령을 실행해야합니다.


답변

즉 무엇 ln대상이 이미 존재하고 디렉토리 때 어떻게 설명되어 있습니다. 당신이 원하는 경우에 /etc/nginx 심볼릭 링크가 아닌 포함 심볼릭 링크를 먼저 디렉토리로 만들 수 없습니다 더 나은했다!


답변

스크립트에서 다음과 같이 유용합니다.

if [ ! -d /etc/nginx ]; then ln -s /usr/local/nginx/conf/ /etc/nginx > /dev/null 2>&1; fi

스크립트를 다시 실행 한 후 “잘못된”루프 된 심볼릭 링크를 다시 만들기 전에 방지


답변