이미 생성 된 심볼릭 링크를 삭제하거나 바꾸는 방법은 무엇입니까?


53

네트워크 시뮬레이터 2를 사용하여 프로젝트를 진행하고 있습니다. 나는 그것을 설치했고 모든 것이 정상입니다. 이 설치와 사이에 기호 링크를 만들려고 /usr/bin했기 때문에 ns명령 줄에서 실행하여 소프트웨어를 호출 할 수있었습니다 . 즉, 나는 달렸다.

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

다음과 같은 출력이 생성되었습니다.

ln: creating symbolic link '/usr/bin/ns': File exists


이미 생성 된 심볼릭 링크를 어떻게 삭제하거나 다른 명령으로 바꿀 수 있습니까?


나는 노력하고 있었고 sudo ln -s destination source물론 버그가있었습니다. 답변 해주셔서 감사합니다.
aviggiano 2016 년

답변:


35
sudo rm -r /usr/bin/ns

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

1
ns가 폴더 인 경우 위의 오류가 발생합니다.이 경우 rm -rf (재귀 스위치)를 사용하십시오.이 경우 ln에 -sf 스위치를 사용할 수도 있습니다.
finley

@finley 네, 맞습니다. 못했을 경우에 대비 NS는 폴더입니다, 그것은 deletd 할 수 없습니다. 이제 폴더에 대한 심볼릭 링크를 만들 수 있다는 것이 모호합니다.
Vinay

1
예, 폴더에 대한 심볼릭 링크를 만들 수 있습니다. 폴더라면 다음과 같이 할 수 있습니다 : sudo rm -r / usr / bin / ns
Pawełkowy

@Pawel 폴더에 대한 심볼릭 링크를 성공적으로 만들었습니다. 위에서 말한 것처럼 제거 할 수도 있습니다. 그러나 터미널에 fold [폴더에 대한 symlink 생성] 이름을 입력하면 오류가 발생합니다. 내가 실제로 생각한 것은 폴더에 대한 심볼릭 링크를 만들고 링크 이름 터미널을 입력하면 노틸러스에서 열 수 있습니다. 가능 여부가 확실하지 않습니다 ..?
Vinay

1
@Vinaychalluru 해당 폴더를 열려면 다음을 입력하십시오. cd fold-터미널에서 열립니다. 노틸러스에서 열려면 다음과 같이 입력하십시오. nautilus fold
Pawełkowy

63

ln했다 -f가 존재 여부 '힘'심볼릭 링크를 만들 수 있음을 전환합니다.

sudo ln -sf /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

이것이 정답입니다.
Rony Varghese

28

나는 시도 ln -sf교체하지만 나를 위해 작동하지 않았지만,하는 동안 ln -sfn directory link_name 같이 root일했다.


-n내가 없으면 무한 루프 문제가 발생했습니다. 감사!
Christopher Markieta

3

위의 모든 답변에 추가하기 위해 많은 경우 심볼릭 링크를 일반 파일 (대상이 아닌 링크)로 취급 할 수 있습니다.

rm심볼릭 링크에서 제거합니다. 링크가 루트 소유인 경우 sudo가 필요합니다.

당신은 소유권을 잊 rm /usr/bin/ns거나 sudo rm /usr/bin/ns잊을 수 없어야합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.