기호화된 바이너리 링크를 생성하는 중에 오류가 발생했습니다.

기호화된 바이너리 링크를 생성하는 중에 오류가 발생했습니다.

콘솔에서 vim 호출을 실행할 때 프로그램을 볼 수 있도록 vi에 대한 심볼릭 링크를 만들고 싶습니다.

ln -s /usr/bin/vi /usr/bin/vim`
ln: failure to create symbolic link «/ usr / bin / vim»: The file already exists

vim을 가리키는 것을 보려면 어떻게 해야 합니까?

답변1

/etc/profile.d/vim.shCentOS 원본 태그가 주어지면 별칭을 설정하는 파일이 있다고 가정합니다 .

alias vi >/dev/null 2>&1 || alias vi=vim

vi입력 시 실행 하려면 vim다음을 직접 추가하는 것이 좋습니다 ~/.bashrc.

unalias vi
alias vim=vi

답변2

해결책:

-f를 사용하여 대상 파일을 강제로 삭제할 수 있습니다(변경하기 전에 테스트하세요!)

ln -sf /usr/bin/vi /usr/bin/vim

나에게 효과적입니다!

예:

[root@vvek-workstation grep]# ln -ss ./vi ./vim 
ln: failed to create symbolic link ‘./vim’: File exists
[root@vvek-workstation grep]# ln -sf ./vi ./vim 
[root@vvek-workstation grep]# ls -lart
total 0
drwxr-xr-x. 9 root root 228 Mar 20 15:20 ..
-rw-r--r--  1 root root   0 Mar 20 16:00 vi
lrwxrwxrwx  1 root root   4 Mar 20 16:00 vim -> ./vi
drwxr-xr-x  2 root root  27 Mar 20 16:00 .

답변3

예, 이미 하나가 있으면 /usr/bin/vim해당 디렉터리에 같은 이름을 가진 다른 파일을 가질 수 없습니다. 그러나 이것은 /usr/bin(보통) 실행 파일을 확인할 수 있는 유일한 장소는 아닙니다.

echo $PATH왼쪽에서 오른쪽으로 확인된 디렉터리 목록을 보려면 실행하세요 . 바라건대 당신 은 거기 에서 비슷한 /home/(username)/bin위치 를 찾을 수 있을 것입 니다 /usr/local/bin. 이 경우,

ln -s /usr/bin/vi /usr/local/bin/vim 

모든 사용자의 기본 vim을 덮어씁니다. (그들은 여전히 ​​전화해서 /usr/bin/vim원본을 요청할 수 있습니다.)

관련 정보