ln 명령어 심볼릭,하드
리눅스 시스템 상에는 심볼릭링크와 하드링크 두가지의 링크가 있습니다.
심볼릭링크는 원본파일을 가리키도록 링크만 시켜둔 것으로 윈도우의 바로가기와 같다고 보시면 됩니다. 심볼릭링크는 원본파일이 삭제되면 링크파일은 작동하지 않게 됩니다.
하드링크는 원본파일과 이름은 다르지만 동일한 파일입니다. 하드링크에서는 원본파일이나 링크파일 둘중의 하나가 삭제되더라도 나머지 하나는 그대로 남아 정상 동작 합니다. 또한 하드링크는 원본파일의 내용이 변경될 경우에 링크파일의 내용도 자동으로 변경됩니다.
명령어 위비: /bin/ln
사용형식 : ln [옵션] 원본파일 대상파일
ln [옵션] 원본파일 대상디렉토리
옵션
-b, --backup : 대상파일이 이미 존재할 경우 백업파일을 만든 후에 링크파일을 생성
-d, -F, --directory : 디렉토리에 대한 하드링크파일 생성을 가능하게함
-f : 대상파일이 존재할 경우 대상파일을 지우고 링크파일을 생성
-i : 대상파일이 존재할 경우 대상파일을 지울 것인가 확인하게함
-s : 심볼릭링크파일을 생성
-S : 만약에 대상이 이미 있어서 백업을 해야 할 경우에 그 백업파일에서 사용 할 파일이름의
접미사(suffix)를 지정할 수 있음
-t, --target-directory=DIRECTORY : 링크파일을 생성할 디렉토리를 지정
예1) ln 명령어를 사용하여 하드링크 생성하기
우선 hard_source 파일을 hard_link 파일로 하드링크 시킨 후 두 파일의 내용을 확인해 보도록 하겠습니다.
#ln hard_source hard_link
#
#ls -l
합계 12
-rw-r--r-- 2 root root 15 7월 19 21:54 hard_link
-rw-r--r-- 2 root root 15 7월 19 21:54 hard_source
#cat hard_source
linux
network
windows
#cat hard_link
linux
network
windows
위에서 보시는 것과 같이 두파일의 내용이 동일하다는 것을 알 수 있습니다.
이번에는 원본파일 내용의 첫행을 지운뒤 링크파일과 비교해 보도록 하겠습니다.
#cat hard_source
network
windows
#cat hard_link
network
windows
위와 같이 원본파일만 수정했는데도 링크된 파일의 내용도 같이 수정됨을 확인 할 수 있습니다.
예2)심볼릭링크 사용하기
심볼릭링크를 사용하기 위해서는 -s 옵션을 사용해야 합니다.
sym_source 파일을 만든뒤 sym_link 파일로 심볼릭링크 시키도록 하겠습니다.
#ln -s sym_source sym_link
#ls -l
lrwxrwxrwx 1 root root 14 7월 19 22:09 sym_link -> sym_source
-rw-r--r-- 1 root root 22 7월 19 22:09 sym_source
여기서 확인하고 넘어가야 할 부분은 심볼릭링크된 파일의 퍼미션이 하드링크일때와는 다르게
lrwxrwxrwx 이라는 것과 -> 로 원본을 가리켜 심볼릭링크된 파일이라는 것을 확인 할 수있게 해줍니다.
'리눅스 > 리눅스명령어' 카테고리의 다른 글
sysctl 명령어 (2) | 2012.02.15 |
---|---|
insmod, rmmod, lsmod, modprobe (3) | 2012.02.14 |
test 명령어 (3) | 2012.02.14 |
at 와 crond 명령어 (2) | 2012.02.14 |
grep 명령어 와 활용 (7) | 2012.02.13 |