본문 바로가기
IT/Linux

파일 링크 (link) 란?

by 성준하이 2022. 5. 26.
반응형

리눅스를 사용하다보면 권한 문제든, 복사를 위해서든 파일이나 폴더에 대해서 링크 를 걸어서 다른 위치에서도 접근 가능하게 해야 할 경우가 있다.

윈도우에서는 바로가기랑도 비슷하다고 생각을 할수 있다.

 

리눅스에서는 파일이나 디렉터리를 생성하면 I-node라는 번호가 임의로 부여되고 이번호를 기준으로 관리가 된다.

이 번호는 ls -i를 하면 확인이 가능한데 파일명이 다르더라도 이번호가 같다면 내부적으로는 같은 파일로 인식을 한다. 

이렇게 하나의 파일을 여러개의 이름으로 관리하거나 디렉터리의 접근 경로를 단축하는 형태를 링크라고 부르고 ln 명령어를 이용해서 만들수 있다.

링크는 하드 링크와 심볼릭 링크로 나뉘고 심볼릭은 하드의 반댓말인 소프트 링크라고도 부른다.

 

하드링크

ln명령어를 옵션 없이 실행을 하면 자동적으로 하드 링크가 생성이 된다.

하드링크는 동일한 파일을 만들어서 디스크의 다른 곳에 배치하여 여러 이름으로 사용되는 형식이다.

특징은 다음과 같다.

  • 원본가 i node 번호가 같다.
  • 하드 링크는 파일에만 부여가 가능하다.
  • 원본과 같은 크기를 갖는다.
  • 복사된 파일중에 어떤 파일을 수정해도 다른 복사본에도 그 수정 사항이 적용된다.
  • 원본 파일을 삭제해도 링크 파일들은 존재한다.
심볼릭링크

ln 명령어에서 옵션으로 -s 를 붙여서 만든다.

만들게 되면 원본 파일과는 다른 파일로 인식이 된다.

특징은 다음과 같다.

  • 원본과 i node 번호가 다르다.
  • 생성된 링크 파일의 크기가 작다.
  • 원본파일을 삭제하면 나머지 파일들이 무쓸모가 된다.
  • 바로가기나 단축아이콘의 기능과 같다.

그림으로 보면 이렇게 생성이 되는 과정이라 생각하고 이해하기 쉬울것이다.

반응형

'IT > Linux' 카테고리의 다른 글

리눅스 텍스트 파일 관련 명령어  (33) 2022.05.28
리눅스 디렉터리 / 파일 관련 명령어  (34) 2022.05.27
리눅스 운영관리 2  (41) 2022.05.24
리눅스 운영관리 1  (47) 2022.05.23
리눅스 네트워크 명령어  (31) 2022.05.22

댓글