Linux의 파일 시스템에서는 ln 명령어를 통해 파일에 별명을 붙이는 것이 가능하다. 이를 링크라고 부르며, 별명을 붙이는 것을 '링크를 생성한다'라고 한다. Window 환경에서 바로가기와 비슷한 기능으로 보이지만 조금 다른 기능이다.
사용법:
ln [옵션] <링크할 파일> <링크 이름>
링크는 하드 링크(Hard link)와 심볼릭 링크(Symbolic link, Soft link) 두 종류가 있다. 주로 심볼릭 링크가 자주 사용되며, 하드 링크가 사용되는 경우는 많지 않다.
하드 링크란 한 파일 원본에 이름(별명)을 여러 개 붙이는 기능으로, 원본 파일과 동일한 inode를 직접적으로 가리킨다. 원본 파일과 하드 링크로 만든 파일 중에서 어느 것이 원본인지 구분하지 않아도 되기 때문에 모든 하드 링크가 사라지지 않는 한, 파일이 지워지지 않는다.
ln 명령어에서 옵션이 없는 경우, 하드 링크가 생성된다.
심볼릭 링크의 경우, 하드 링크와 달리 원본과 다른 inode를 생성해서 원본 파일을 바라본다(심볼릭 링크의 inode -> pointer -> 원본파일 -> 원본파일의 inode). 디렉토리는 하드 링크가 불가능하고, 하드 링크는 서로 다른 디스크에 걸쳐서 만들 수 없다는 제한이 있지만, 심볼릭 링크는 이런 제한이 없어 더 많이 사용된다. 원본 파일 자체가 아니라 원본 파일에 대한 정보가 담긴 작은 특수 파일이기 때문에 하드링크와 달리 원본과 구별된다.
ln 명령어에서 옵션 값이 -s인 경우, 심볼릭 링크가 생성된다.
