심볼릭 링크는 주로 디렉토리를 링크할 때 사용한다.
심볼릭 링크는 하나의 파티션을 넘어 다른 영역의 파일까지 링크시킬 수 있다.
n -s 명령으로 링크시키며 생성된 링크 파일은 원래의 파일명을 참조하게 된다. 그래서 원 파일이 삭제되면 실제 데이터 블럭을 참조하던 inode도 삭제되어, 심볼릭 링크된 파일은 의미가 없어진다. 따라서, 심볼릭 링크를 시켰을 때는 원래의 파일이 삭제되지 않도록 주의해야 한다.
아래의 예를 보자.
$ cd
$ ln -s /usr/include include
$ ls -l include
lrwxrwxrwx 1 unix01 unix 12 mar 11:19 include-> /usr/include
$ cd include
$ pwd
/usr/include
$ cd
$ who > who.list
$ ln -s who.list who.list.link
$ rm who.list.link
cat : 열 수 없습니다.
$ rm who.list.link
"cat : 열 수 없습니다."라는 error 발생하였다.
cp 명령은 별도의 데이터 블럭을 생성하지만,
n으로 생성된 링크 파일은 원래 파일의 inode를 참조하거나 파일명을 참조할 뿐이며 별도의 데이터 블럭을 생성하는 것은 아니다. 그래서, 공유할 필요가 있는 파일들을 링크하거나 절대경로가 긴 디렉토리를 간편한 이름으로 참조할 경우, 링크를 사용하게 된다.
Posted by 홍반장