(1) 개요
ln (Link) 명령은 편리하게 디렉토리를 관리하기위한 링크를 만들 때 사용한다.
UNIX 시스템에서 사용하는 링크에는 하드 링크(Hard Link)심볼릭 링크(Symbolic Link)가 있다. 


(2) 하드 링크 (Hard Link)
: 하드 링크란 이름이 다른 파일에 동일한 inode를 지정해 주는 것이다. 하드링크를 통해서 만들어진 파일은 원래 파일과 inode는 같고 이름만 다른 동일한 파일이 된다. (파일 경로가 다르면 이름도 같을 수 있음)

- inode에는  파일이 있는 위치뿐만 아니라 파일의 속성, 소유주 등도 기록되어 있으므로 inode를 공유하는 하드 링크는 이름을 제외한 모든 속성이 같고, 링크된 파일의 속성을 바꾸면 다른 파일도 속성이 함께 바뀐다.
- 하드 링크는 다른 파일 시스템 간에는 만들 수 없다.
- 하드 링크는 파일만 가능하다.


(3) 심볼릭 링크 (Symbolic Link)
:  심볼릭 링크란 커널에 의해 특별하게 취급되는 원래 파일과는 전혀 다른 파일이다. 이 파일은 원래 파일의 경로 정보를 담고 있다.

- 사용자가 심볼릭 링크된 파일을 참조하면 커널은 심볼릭 링크 파일의 내용을 참조하여 원래 파일에 접근한다. (c언어의 포인터 개념)
- 심볼릭 링크는 다른파일 시스템에 존재하는 파일과 디렉토리 간에도 적용할 수 있다.
- 심볼릭 링크는 파일과 디렉토리 모두 가능하다.

○ 명령 형식 : $ ln [option] [source file] [target file]
○ 옵션
  -s : 이 옵션이 있으면 심볼릭 링크, 없으면 하드 링크를 만든다.

(Example)
1. ln /var/tmp.c  ~/work/tmp.c
: /var/tmp.c 파일을 ~/work/tmp.c 파일로 하드 링크한다.

2. ln -s /usr/local/include ~/work/include
: /usr/local/include 디렉토리를 ~/work/include 디렉토리로 심볼릭 링크한다.

=> 심볼릭 링크는 여러 버전의 동일한 프로그램이 있을 때, 접근하기 쉬운 디렉토리에 하나의 상징적 심볼릭 링크를 만들어 링크의 경로만 변경하여 동일한 파일 이름으로 다른 버전의 프로그램 또는 디렉토리에 접근할 수 있게 해준다.

 

'L inux > Command' 카테고리의 다른 글

grep - 패턴 검색  (0) 2013.01.24
diff - 파일 비교  (0) 2013.01.24
cat & tail - 파일 보기  (0) 2013.01.24
프로세스에서 사용중인 File descriptor 확인하기  (0) 2012.05.22
서버종료 / 재시작  (4) 2012.05.11
by 민트앤라떼 2013. 1. 24. 21:52