하드링크, 심볼릭링크
※ 링크는 복사와는 다른 개념이다.
복사는 아이노드가 다르기 때문에 내용이 같다라고 해도 다른파일로 인식합니다.
링크는 아이노드가 같기 때문에 같은 파일이라고 인식하게 됩니다.
이 점에서 링크와 복사는 다른 개념임을 볼 수 있습니다.
한마디로 링크파일은 윈도우에서 바로가기라는 개념으로 볼 수 있습니다.
1) 하드링크 파일
- ln [target link_name]
- 하나의 아이노드파일에 두개의 파일이 들어가 있는 것. 한마디로 두개의 파일은 같은 파일이다.
- 디렉터리를 설정할 수 없습니다..
1) 처음에 /etc/resolv.conf에 있는 파일을 sample이라는 이름으로 복사해왔습니다. 그리고 그 sample을 sample.copy로 복사해왔습니다. 맨 앞에 숫자는 아이노드를 의미하는데 내용이 같은 파일이라도 아이노드가 다르다는 것을 볼 수 있습니다. 이럴 경우에는 컴퓨터에서 다른 파일이라고 인식하게 됩니다.
2) 이번에는 sample이라는 파일을 하드링크로 sample.hard라는 이름으로 만들었습니다. 이럴 때에는 링크파일이기때문에 같은 아이노드를 갖게 되고 컴퓨터에서도 같은 파일이라고 인식하게 됩니다.
2) 심볼릭(소프트)링크 파일
- ln -s target link_name
- 대상을 갖지 않는 파일 타입. → 어떤 것도 이름으로 대상을 갖을 수 있음.
- 디렉터리에 대해서도 링크가 가능해짐.
- 링크의 원본이 삭제되면 링크가 깨지게 되고 다시 똑같은 이름의 내용이 다른 파일을 만들 경우에는 다시 심볼릭 링크가 연결되게 된다. 결론적으로는 이름만 같은 것을 연결한다는 의미로 해석할 수 있습니다.
sample이라는 파일을 가지고 심볼릭 링크파일을 설정해보았습니다.
1) 여기서 sample 파일은 /etc/resolv/conf에서 복사해온 파일입니다. 위에 심볼릭 링크파일을 설정해 준 다음에 원본파일을 삭제하게 되면 심볼릭 링크파일이 깨지는 것을 볼 수 있습니다.
2) 그러면 빈파일을 sample이라는 이름으로 만들게 되면 분명히 다른 내용임에도 불구하고 같은 이름을 가졌기 때문에 심볼릭 링크가 다시 연결되게 됩니다.
※ 링크를 걸었을 경우에는 절대경로로 걸어주는 것이 좋습니다.
상대경로로 지정해주었을 경우에는 같은 디렉터리 내에 없어서 링크가 깨지게 됩니다. 그래서 절대 경로로 지정해주는 것이 좋습니다.
하드링크 |
심볼릭 링크 |
파일에서만 링크 가능 |
파일 또는 디렉터리에 링크 가능 |
존재하지 않은 파일에 대해 하드 링크 작성X |
존재하지 않은 파일에 대해 심볼릭 링크 작성O |
연결되어 있는 파일이 어떤 파일인지 알기 어려움 |
커널에 의해 처리 |
같은 파일 시스템간에서만 작성 가능 |
연결되어 있는 파일 찾기 용이 |
|
다른 파일 시스템간에도 작성 가능 |
'SECURITY > Linux' 카테고리의 다른 글
기본권한 (0) | 2017.03.23 |
---|---|
사용자 관리 (0) | 2017.03.23 |
vi 편집기 (0) | 2017.03.22 |
복사, 이동 (cp, mv) (0) | 2017.03.22 |
파일 내용 확인 (cat, less, more, head, tail) (0) | 2017.03.21 |