Linux의 기초라 할 수 있는 하드 링크와 심볼릭 링크에 대해 알아본다. developerWorks 번역에는 기호 링크라 했는데 이미 업계에서 영어 그대로 심볼릭 링크로 통칭하는바 여기서도 심볼릭 링크로 칭하도록 한다.
링크는 Linux 시스템 전반에 매우 유용하게 사용된다.
가장 먼저 파일 시스템 부터 살펴보면 스토리지 장치에는 파일이나 디렉토리가 블럭(blocks) 컬렉션에 포함되어 있다. 파일 정보는 inode에 기록되며 inode에는 파일 소유자, 마지막으로 액세스된 시점, 파일 크기, 파일 유형(디렉토리 또는 파일), 파일에 대한 읽기 및 쓰기 권한 정보가 기록되어 있다.
링크는 파일이나 디렉토리를 다루기 위한 또 다른 디렉토리 엔트리(entry)이며 동일한 파일, 디렉토리에 두 개 이상의 링크를 지정할 수도 있다. 하드 링크(hard links)는 해당 inode를 가리키는 디렉토리 엔트리인 반면 소프트 링크 또는 심볼릭 링크(symbolic links)는 다른 inode를 가리키는 디렉토리 엔트리다. 이를 저장하는 정확한 메커니즘은 이름의 길이와 파일 시스템에 따라 다르며 심볼릭 링크는 줄여서 symlinks 라 부르기도 한다.
심볼릭 링크는 inode 대신 이름으로 다른 파일이나 디렉토리를 가리키며 이를 삭제해도 대상이 되는 파일, 디렉토리는 삭제되지 않는다.
심볼릭 링크를 위한 한 가지 팁을 소개한다. 심볼릭 링크를 무리하게 사용하다보면 현재 절대 위치가 헛갈릴때가 있는데 그럴땐 아래 커맨드로 확인할 수 있다.
readlink . -f
* 이 글은 IBM developerWorks 후원으로 작성한 글입니다.



Pingback from Tweets that mention likejazz.COM · Linux hard and symbolic links [IBM DW 10.08] — Topsy.com
September 1st, 2010 at 9:21 am