심볼릭 링크(Symbolic Link)는 리눅스와 유닉스 시스템에서 파일이나 디렉토리를 가리키는 특별한 종류의 파일이다. 쉽게 말하면, 특정 파일의 "가상 포인터"로, 원본 파일이 위치한 곳과는 다른 위치에서도 파일을 참조할 수 있게 해준다. 이 개념은 윈도우의 "바로가기"와 비슷하다.
심볼릭 링크는 실제 파일을 복사하는 게 아니라, 파일 경로만 참조하는 방식으로 동작한다. 그래서 원본 파일이 삭제되거나 이동될 경우, 심볼릭 링크는 더 이상 유효하지 않게 된다.
/home에 있는 파일을 /usr 디렉토리에서 링크할 수 있다.리눅스에서는 심볼릭 링크와 하드 링크라는 두 가지 종류의 링크를 사용할 수 있다. 둘 다 비슷하지만 중요한 차이점이 있다.
| 링크 종류 | 설명 |
|---|---|
| 심볼릭 링크 | 원본 파일의 경로를 가리키는 포인터로 별도의 파일 생성된다. 원본이 삭제되면 깨진 링크가 된다. |
| 하드 링크 | 원본 파일과 같은 inode 번호를 공유하며 같은 데이터 블록을 참조한다. 원본이 삭제돼도 접근할 수 있다. |
리눅스에서 심볼릭 링크는 ln -s 명령어로 만들 수 있다. 기본 구문은 다음과 같다.
ln -s [원본 파일/디렉토리 경로] [심볼릭 링크 이름]
ln -s /home/user/data /usr/local/data_link
위 명령어는 /home/user/data 디렉토리를 /usr/local/data_link라는 심볼릭 링크로 생성해준다. 이렇게 하면 /usr/local/data_link를 통해 원본 데이터에 접근할 수 있다.
/usr/local/cerebro가 cerebro-0.9.4를 가리키도록 설정하고, 새로운 버전이 나오면 링크만 최신 버전으로 연결하면 된다./project/data를 /data로 참조하도록 만들 수 있다.| 명령어 | 설명 |
|---|---|
ln -s 원본 링크명 | 심볼릭 링크 생성 |
ls -l | 심볼릭 링크 여부와 연결 대상을 포함한 파일 정보 보기 |
find /경로 -type l | 심볼릭 링크 검색 |
find /경로 -xtype l | 깨진 심볼릭 링크 검색 |
rm 링크명 | 심볼릭 링크 삭제 |
심볼릭 링크는 리눅스에서 파일과 디렉토리 관리를 효율적으로 해주는 중요한 도구다. 특히 복잡한 디렉토리 구조를 단순화하고, 업데이트나 버전 관리에도 편리하다. 심볼릭 링크를 잘 활용하면 시스템을 효율적으로 관리하는 데 큰 도움이 될 것이다.