반응형
리눅스에서 링크의 종류로는 질문하신 심볼릭링크와 하드링크가 있습니다.

1. 심볼릭링크는 어떤 파일을 가리키고 있는 파일을 뜻 합니다.
test.txt 라는 파일이 있을 때...

ln -s test.txt hello.txt

위와 같은 명령을 이용해서 hello.txt 라는 파일을 만들게 됩니다. 하지만 hello.txt 라는 파일은 이름만 존재 할 뿐 내용은 아무것도 없다고 생각하시면 됩니다. 이 파일은 단지 test.txt 파일을 가리키고 있을 뿐이고 hello.txt 파일을 호출하게 되면 test.txt 파일로 연결을 해주는 역활을 합니다.
이런 심볼릭 링크의 경우 원본(test.txt) 파일을 삭제 하게 되면 hello.txt 파일은 무용지물이 되고 만답니다.

2. 하드링크는 하드에 저장되어 있는 어떤 자료에 이름을 여러개 부여한다고 생각하시면 됩니다. 간단한 예로...위와 같이 test.txt 파일을 저장했습니다. 그리고...

ln test.txt hello.txt

위와 같이 -s 옵션을 빼고 링크명령을 내리게 되면 hello.txt 파일이 생성이 됩니다.
하지만 이경우는 위의 심볼릭 링크와 조금 다릅니다. 위에서는 hello.txt 파일이 test.txt 파일을 가리키고 있었지만 이번에는 hello.txt 라는 파일명은 test.txt 의 또 다른 이름이 되는 것입니다. 이런 경우 원본인 test.txt 파일을 지우더라도 hello.txt 파일은 내용을 간직하고 있답니다.

위의 내용을 확실히 이해하시려면 하드에 파일이 저장되는 방식을 조금 공부하시면 많은 도움이 되실 겁니다. 저장방식을 간략히 설명드리면....

어떤 파일 test.txt 를 저장하게 되면...하드드라이브의 어떤 부분에 test.txt 내용을 기록하게 됩니다. 그리고 그 위치정보를 헤더에 저장을 하는 것이구요. 즉 test.txt 라는 이름은 단지 헤더에 있는 위치정보만을 가지고 있게 됩니다. 우리가 test.txt 파일을 콜하게 되면 이 파일이 가지고 있는 위치정보를 이용해서 하드에서 내용을 찾아 사용하게 되는 것입니다.

이제 위에 링크를 생각해 보세요. 하드링크는 이 위치정보를 가지고 있는 이름을 여러개 생성한다고 생각하면 됩니다. 그렇기 때문에 어떤 하나를 지우더라도 하드에서 내용을 찾아 갈수 있는 것입니다.
하지만 심볼릭링크는 위치정보를 가지고 있는 파일명을 또 한번 다른 이름으로 연결을 시키는 것입니다. 그렇기 때문에 원본 파일을 삭제 하게 되면 심볼릭링크 파일들은 위치정보가 없기 때문에 무용지물이 된다는 것입니다.

음 위에 간단히 설명을 하긴 했는데 도움이 되었는지 모르겠네요.
그럼 즐거운 하루되세요.
반응형

'Linux > Linux 일반' 카테고리의 다른 글

Vsftpd & Proftpd  (0) 2007.03.14
Emacs  (0) 2007.03.11
emacs 초급자 HOWTO - 이태철  (0) 2007.03.11
Posted by Real_G