명령을 두번 실행하면 첫번째 명령에서 만들어진 '심볼릭 링크 디렉토리'안에 또하나의 파일이 생긴다.
세번째부터는 깨진 파일이라도 있으니까 그 아래로는 더 이상 생성되지 않는다.
이럴 때는 -n 명령을 써보자
-n 옵션의 설명은 다음과 같다.
-n, --no-dereference
treat LINK_NAME as a normal file if it is a symbolic link to a directory
디렉토리의 심볼릭 링크면 일반 파일로 취급한다고 한다.
테스트 해보자.
n 옵션이 없으면 아래와 같이 두번까지 정상 실행되며, 세번째부터 에러가 나온다.
dirSym 으로 들어가 보면 깨진 dirSrc 심볼릭 링크가 만들어져있다.
[root@df tmp]# mkdir dirSrc
[root@df tmp]# ln -s dirSrc dirSym
[root@df tmp]# ln -s dirSrc dirSym
[root@df tmp]# ln -s dirSrc dirSym
ln: failed to create symbolic link `dirSym/dirSrc': 파일이 있습니다
dirSym 링크를 지우고 n 옵션을 주고 다시 실행하면 아래와 같이 두번째에 에러가 발생한다.
[root@df tmp]# rm dirSym
rm: remove 심볼릭 링크 `dirSym'? y
[root@df tmp]# ln -sn dirSrc dirSym
[root@df tmp]# ln -sn dirSrc dirSym
ln: failed to create symbolic link `dirSym': 파일이 있습니다
결론 : 디렉토리를 symbolic link로 만들 때는 n 옵션을 추가해서 만들자.
ln -sn src dest
댓글 없음:
댓글 쓰기