하드링크는, 그냥 복사의 개념이 아닙니다.
쉽게 말해서 하나의 파일에 이름만 두 개 이상 붙어있는게 하드링크입니다.
이 때, 그 이름들은 모두 동등합니다.
다시 말해서 a 라는 10메가짜리 파일이 있고, b가 a의 하드링크라면,
그냥 ls -l 해서 보면 a도 10메가, b도 10메가로 보이지만 실제로 차지하는디스크 용량은 20메가가 아니
라 10메가 입니다.
이 때 만약 파일 a나 b 둘중에 하나를 편집한다면 두 파일의 내용이 모두 바뀝니다. 어차피 a와 b는
이름만 그렇게 붙여놨을 뿐 같은 파일이니까요.
또, b를 지우면 당연히 a는 그냥 그대로 남아 있겠죠? 근데 a를 지워도 b는 그냥 그대로 남아 있습니다.
즉, 하드 링크를 전부 다 지워야 진짜로 그 파일이 지워지는 것입니다.
또, 먼저 a 라는 파일을 만든 다음에 b 라는 이름으로 하드 링크를 거는 것이나 b 라는 파일을 먼저 만든
다음에 a 라는 이름으로 하드 링크를 거는 것이나 결과적으로 똑같습니다. 이제 대충 감이 오시죠?
반면에 심볼릭 링크는.. 단지 그 대상 파일을 가리키고 있는 포인터(?)만 만드는 것입니다.
따라서 먼저 a를 만든 다음에 b 라는 심볼릭 링크를 만들면, 파일 a와 b는 엄연히 다르죠.
(ls로 보면 색깔이 다르잖아요. ^^;)
이 때에는 파일 b를 지울 경우에는 그냥 심볼릭 링크 b만 지워지지만,
a를 지울 경우 파일 자체가 지워지므로 b는 없는 파일을 가리키게 됩니다.
물론 파일 a를 먼저 만들고 b 라는 심볼릭 링크를 만드는 것과
파일 b를 먼저 만들고 a라는 심볼릭 링크를 만드는 것은 완전히 다릅니다.
그렇지만 파일을 편집할 경우에는 하드 링크의 경우와 마찬가지 입니다.
파일 a를 편집해서 내용을 수정한다면 b는 a를 가리키고 있는 화살표니까,
b를 열어봐도 수정되어 있겠죠? 또, b를 수정할 경우 실제로는 b가
편집되는게 아니라 a가 편집되는 셈이니까 마찬가지 결과가 됩니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
쉽게 말해서 하나의 파일에 이름만 두 개 이상 붙어있는게 하드링크입니다.
이 때, 그 이름들은 모두 동등합니다.
다시 말해서 a 라는 10메가짜리 파일이 있고, b가 a의 하드링크라면,
그냥 ls -l 해서 보면 a도 10메가, b도 10메가로 보이지만 실제로 차지하는디스크 용량은 20메가가 아니
라 10메가 입니다.
이 때 만약 파일 a나 b 둘중에 하나를 편집한다면 두 파일의 내용이 모두 바뀝니다. 어차피 a와 b는
이름만 그렇게 붙여놨을 뿐 같은 파일이니까요.
또, b를 지우면 당연히 a는 그냥 그대로 남아 있겠죠? 근데 a를 지워도 b는 그냥 그대로 남아 있습니다.
즉, 하드 링크를 전부 다 지워야 진짜로 그 파일이 지워지는 것입니다.
또, 먼저 a 라는 파일을 만든 다음에 b 라는 이름으로 하드 링크를 거는 것이나 b 라는 파일을 먼저 만든
다음에 a 라는 이름으로 하드 링크를 거는 것이나 결과적으로 똑같습니다. 이제 대충 감이 오시죠?
반면에 심볼릭 링크는.. 단지 그 대상 파일을 가리키고 있는 포인터(?)만 만드는 것입니다.
따라서 먼저 a를 만든 다음에 b 라는 심볼릭 링크를 만들면, 파일 a와 b는 엄연히 다르죠.
(ls로 보면 색깔이 다르잖아요. ^^;)
이 때에는 파일 b를 지울 경우에는 그냥 심볼릭 링크 b만 지워지지만,
a를 지울 경우 파일 자체가 지워지므로 b는 없는 파일을 가리키게 됩니다.
물론 파일 a를 먼저 만들고 b 라는 심볼릭 링크를 만드는 것과
파일 b를 먼저 만들고 a라는 심볼릭 링크를 만드는 것은 완전히 다릅니다.
그렇지만 파일을 편집할 경우에는 하드 링크의 경우와 마찬가지 입니다.
파일 a를 편집해서 내용을 수정한다면 b는 a를 가리키고 있는 화살표니까,
b를 열어봐도 수정되어 있겠죠? 또, b를 수정할 경우 실제로는 b가
편집되는게 아니라 a가 편집되는 셈이니까 마찬가지 결과가 됩니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
게시글 목록
| 번호 | 제목 |
|---|---|
| 808 |
Flash
일러스트 CS2와 플래시에서 패스따기
4
|
| 806 | |
| 800 | |
| 788 | |
| 784 |
MySQL
exif 사용하기 (ms 윈도우용)
3
|
| 780 |
JavaScript
Apache 보안 팁...--;;;
3
|
| 779 |
기타
[펌] $_FILES
|
| 778 | |
| 775 |
JavaScript
scp 사용법
2
|
| 774 | |
| 773 |
Flash
선따라 움직이기(초보)
|
| 767 |
JavaScript
옥션처럼 소스보기 안되는곳에 적용하니까, 소스 보이는 방법
5
|
| 764 | |
| 759 |
MySQL
실수로 삭제한 mysql DB 복구방법
4
|
| 758 |
JavaScript
mozilla DHTML ROWS INSERT & DELETE
|
| 756 | |
| 755 | |
| 748 |
JavaScript
제가 집에서 사용하는 서버를 살짝 공개합니다.^^
6
|
| 744 | |
| 738 |
JavaScript
ssh 무차별 로그인 공격 막기
5
|
| 735 | |
| 732 | |
| 731 | |
| 730 | |
| 724 |
JavaScript
테이블 셀에 링크하는법 & 마우스 오버
5
|
| 715 |
JavaScript
a href 링크로 라디오박스 선택
8
|
| 709 | |
| 707 | |
| 699 |
Flash
Flv 플래쉬 플래이어
7
|
| 694 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기