본문으로 바로가기

하드링크, 심볼릭 링크

category SECURITY/Linux 2017. 3. 23. 17:42

하드링크, 심볼릭링크

 

※ 링크는 복사와는 다른 개념이다.

복사는 아이노드가 다르기 때문에 내용이 같다라고 해도 다른파일로 인식합니다.

링크는 아이노드가 같기 때문에 같은 파일이라고 인식하게 됩니다.

이 점에서 링크와 복사는 다른 개념임을 볼 수 있습니다.

한마디로 링크파일은 윈도우에서 바로가기라는 개념으로 볼 수 있습니다.

 

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