본문으로 바로가기

리눅스 ln - 링크파일 생성

category 리눅스/Linux 일반 2013. 6. 14. 19:38

리눅스에서의 링크파일은 윈도우와 비슷하지만 두가지의 링크가 존재합니다. 아래에서 자세히 살펴봅니다.

ln

ln은 Link 의 약어로서 리눅스 파일시스템에서 링크파일을 만드는 명령어이다. 리눅스에서는 심볼릭링크와 하드링크의 두가지 링크 파일이 존재한다.

심볼릭링크 (Symbolic Link)

단순히 원본파일을 가리키도록 링크만 시켜둔 것으로 MS의 윈도우시스템에서 흔히 사용하는 '바로가기' 같은 것이며, 원본파일을 가리키고만 있으므로 원본파일의 크기와는 무관한다. 그리고 심볼릭링크에서는 원본파일이 삭제되어 존재하지 않을 경우에 링크파일은 깜박거리면서 링크파일의 원본파일이 없다는 것을 알려준다.

하드링크 (Hard Link)

원본파일과 다른 이름으로 존재하는 동일한 파일이며 원본파일과 동일한 내용의 다른 파일이라고 할 수 있다. 그리고 하드링크에서는 원본파일과 링크파일 두개가 서로 다른 파일이기 때문에 둘 중 하나를 삭제하더라도 나머지 하나는 그대로 남아 있다. 또한 하드링크에서는 원본파일의 내용이 변경될 경우에는 링크파일의 내용 또한 자동으로 변경된다.

사용법 : ln [옵션] 원본파일 대상파일(대상디렉토리)

하드링크 파일 생성

ln hard_source hard_link 

심볼릭 링크 디렉토리 생성

ln -s /tmp    /var/tmp

[옵션]

  • --backup[=CONTROL] : 대상파일이 이미 존재할 경우에 백업파일을 만든 후에 링크파일 생성
  • -b : 링크파일 생성시에 대상파일이 이미 존재하면 백업파일을 만든 후에 링크파일을 생성
  • -d : 디렉토리에 대한 하드링크파일생성을 가능하게 함. 단 root 권한으로 수행하더라도 시스템의 권한제한으로 인하여 실패할 가능성이 높음. (-F 와 --directory 는 -d 와 동일함)
  • -f : 대상파일이 존재할 경우에 대상파일을 지우고 링크파일을 생성
  • -i : 대상파일이 존재할 경우에 대상파일을 지울것인가를 확인요청 (--interactive 와 동일)
  • -s : 심볼릭 링크파일을 생성
  • -S : 백업파일 생성시에 원하는 접미사(suffix)를 지정할 수 있음
  • -t, --target-directory=DIRECTORY : 링크파일을 생성할 디렉토리를 지정