본문 바로가기
개발 관련/리눅스

Link

by lazysnack 2022. 7. 14.

리눅스 Ln

ln 은 Link 의 약자, 리눅스에서 링크파일을 만드는 명령어로 하드링크와 심볼릭 링크 2가지가 존재

1. 하드 링크 (Hard Link)

한 개의 파일 혹은 디렉토리를 가리키는 이름을 하나 더 만드는 것.

A가 원본이고 B가 하드 링크를 건 파일일 때, A의 내용을 수정하면 B도 수정됨.

하지만, A,B 중 하나를 지웠을 때 하드 링크는 이름을 하나 더 만드는 것이기에 A를 삭제하였다고 해도 B는 그대로 남아 있다.

따라서 파일을 지우고자 한다면 두 개 파일을 모두 지워야 한다.

  명령어 : ln [원본파일명] [하드링크파일명]

2. 심볼릭 링크 (Symbolic Link)

어떤 파일 혹은 디렉토리를 가리키는 것을 말함. (ex. windows 의 바로가기와 비슷한 개념)

심볼릭 링크를 사용할 경우

ls -ali 를 사용하면 해당 파일이 어느 곳에 링크가 되어 있는지 확인 가능

ex) a를 b에 심볼릭 링크를 사용할 경우 a -> b

  명령어 : ln -s [원본파일명] [링크파일명]
* 추가적으로 ln 에 관련된 옵션
  • -b : 링크파일 생성시에 대상파일이 이미 존재하면 백업파일을 만든 후에 링크파일을 생성
  • -d : 디렉토리에 대한 하드링크파일생성을 가능하게 함
  • -s : 심볼릭 링크파일을 생성
  • -S : 백업파일 생성시에 원하는 접미사(suffix)를 지정할 수 있음
  • -t, --target-directory=DIRECTORY : 링크파일을 생성할 디렉토리를 지정

'개발 관련 > 리눅스' 카테고리의 다른 글

파일명 변경  (0) 2022.07.14
6장. 메모리 계층  (0) 2022.07.14
4장. 프로세스 스케줄러  (0) 2022.07.14
3장. 프로세스 관리  (0) 2022.07.14
2장. 사용자모드로 구현되는 기능  (0) 2022.07.14