업데이트:

카테고리:

1. 링크의 종류

링크의 종류는 하드링크와 심볼릭 링크가 있다.

  • 하드 링크(hard link) : ln 파일이름 링크파일이름 으로 생성할 수 있다.
  • 심볼릭 링크(symbolic link)는 ln -s 파일이름 링크파일이름 으로 생성할 수 있다.

이 두 링크의 차이점은 간단하게 말하면 다음과 같다.

  • 하드 링크 는 파일 자체를 복사하는 것
  • 심볼릭 링크는 파일의 inode를 point형식으로 복사하는 것.


1.1 실습을 통한 링크의 차이점 확인

실제로 sample라는 파일을 생성한 후, 아래 코드와 같이 생성하게 되면,

  echo example >> sample.txt
  ln sample.txt hardlink
  ln -s sample.txt softlink 

아래 코드를 통해 sample의 파일을 읽을 수 있다.

  cat hardlink
  cat softlink

그러나 sample.txt 파일의 위치를 다른 directory로 옮길 시엔 cat hardlink 만 실행되고 cat softlink는 실행되지 않는다. 여기서 개념의 차이를 따지면 다음과 같다.

  • 하드 링크는 파일 자체를 복사했기 때문에 같은 크기, 같은 inode를 가지므로 실행이 된다.
  • 심볼릭 링크는 현재 sample의 inode를 point의 개념으로 가져간 것이기 때문에 정보를 잃어서 실행이 되지 않는 것 같다. (아닐수도있다)

그래서 만약에 파일을 복사할 땐, 원본 파일을 자주 움직여야한다면 하드링크 사용을 추천하고, 원본 파일을 움직이지 않는다면 심볼릭 링크를 사용하면 된다.

최대 1 분 소요