Symbolic link. (심볼릭 링크)

Posted by 겨울에
2011. 2. 14. 19:15 scrap/ Linux
출처 : http://blog.naver.com/jh0110love?Redirect=Log&logNo=130067927739

리눅스에서 링크를 하는 방법으로 심볼릭 링크(소프트링크)/하드 링크가 있다.

■Symbolic link(십볼릭 링크)
심볼릭 링크란 어떤 파일을 가르키는 파일을 말하는 것으로 windows의 바로가기와
비슷한 개념이라고 보면 되겠다. 
심볼릭 링크 거는 명령은 하기와 같이 두가지를 사용할수 있다.
●cp -s [원본 파일명][심볼릭링크일명(복사파일)/디렉토리]
●ln -s [원본파일명][심볼릭링크 파일명]
abc.txt를 def.txt라는 이름으로 심볼릭 링크를 생성하고 ls -l를 살펴보면
그림 1에서처럼 def.txt -> abc.txt 로 표시되며 생성된 심볼릭 링크는 원본 파일
abc.txt를 가리키고 있는것에 불과 하므로 abc.txt를 삭제하면 def.txt파일은 가르키는
파일이 없어지게 된다.
또한 abc.txt 파일을 수정하면 def.txt파일도 수정이 되고 def.txt 파일을 수정하는 경우 실제
abc.txt를 수정하는 것이 되므로 abc.txt를 수정하게 된다.
 
■Hard Link(하드 링크)
하드링크도 심볼릭 링크와 같이 거는 명령은 하기와 같이 두가지를 사용할수 있다.
●cp -l [원본 파일명][하드링크파일명(복사파일)/디렉토리]
●ln -l [원본파일명][하드링크파일명]
상기 [그림 1]에서처럼 원본 abc.txt라는 파일을 ghi.txt라는 이름으로 하드링크를
생성하면 236byte씩 용량을 차지하는 것으로 보이겠지만 abc.txt, ghi.txt 이두 파일
모두가 차지하는 용량은 236byte 그대로이다.(복사를 하면 두 파일의 합은 472byte)
즉 하드링크는 한 개의 파일을 가리키는 이름을 하나 더 만드는 것이라고 할 수 있다.
파일 수정은 심볼릭 링크와 마찬가지로 abc.txt파일을 수정하면 ghi.txt파일도 수정이 되고
ghi.txt파일을 수정하면 abc.txt파일도 수정이 된다.
심볼릭 링크와 차이는 하드링크는 각각이 파일의 내용을 가리키는 이름이므로 abc.txt를
삭제하여도 이름만 지운 것이 되므로 ghi.txt는 그대로 남아 있게 된다. 따라서 파일을
지우고자 한다면 두 개 파일을 모두 지워야 한다.