[linux] ln – 링크파일 생성

[linux] ln – 링크파일 생성

정말 다른 사람이 보면은 간단한것을 매번 잊어 버리고 만다..
이해는 하고 있으면서 막상 사용할려고 하면은 ‘에…’ 하면서 버벅이는 버릇이 존재해서 기록을 해두고 나중에 계속 되세김질을 좀 해야 될 것 같습니다.

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

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

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

* 사용법 : 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
링크파일을 생성할 디렉토리를 지정