[Linux] 심볼릭 링크 (Symbolic Link)

jiwon·2025년 2월 15일
post-thumbnail

📌 심볼릭 링크란?

리눅스에서 심볼릭 링크(Symbolic Link)란 파일이나 디렉토리에 대한 바로가기(Shortcut) 라고 생각하면 된다. 윈도우에서 바로가기 아이콘을 생각하면 이해하기 쉽다.



📌 심볼릭 링크 VS 하드 링크

리눅스에는 심볼릭 링크와 하드 링크 두 가지 링크 방식이 있다.

  • 심볼릭 링크 (Symbolic Link) : 원본 파일을 가리키는 경로 기반 링크 (바로가기 개념)
  • 하드 링크 (Hard Link) : 원본 파일과 동일한 inode를 가지는 파일 복제 개념

💡 심볼릭 링크는 원본 파일이 삭제되면 링크도 깨지지만, 하드 링크는 원본 파일이 삭제되어도 유지됨.



📌 심볼릭 링크 만들기

심볼릭 링크를 만들려면 ln -s 명령어를 사용하면 된다.

1. 파일에 대한 심볼릭 링크 만들기

ln -s [원본 경로] [링크 이름]
ln -s /var/www/html/index.html ~/index.html

=> /var/www/html/index.html을 가리키는 ~/index.html 이라는 심볼릭 링크 생성


2. 디렉토리에 대한 심볼릭 링크 만들기

ln -s /var/www/html ~/html_link

=> /var/www/html을 가리키는 ~/html_link 생성



📌 심볼릭 링크 확인하기

심볼릭 링크가 잘 생성되었는지 확인하려면 ls -l을 사용하면 된다.

ls -l ~/index_link.html


📌 심볼릭 링크 삭제

심볼릭 링크를 삭제하려면 rm 명령어를 사용하면 된다.

rm ~/index_link.html

=> 심볼릭 링크만 삭제되고 원본 파일은 그대로 남아있다.



📌 심볼릭 링크가 깨진 경우

원본 파일이 삭제되거나 이동하면 심볼릭 링크가 개질 수 있다.

ls -l  => 심볼릭 링크 확인

=> 원본 파일이 존재하지 않으면 빨간색으로 표시되거나 ls -l 출력에서 경로가 이상하게 보인다.
이 경우 심볼릭 링크를 삭제하고 다시 만들어야 한다.



📌 심볼릭 링크 활용 예제

1. 웹 서버에서 편리하게 파일 관리

ln -s /var/www/html /home/user/my_website

=> 웹 서버 루트를 my_website로 쉽게 접근할 수 있도록 설정


2. 설정 파일을 링크로 관리

ln -s /etc/nginx/sites-available/my_site /etc/nginx/sites-enabled/

=> nginx에서 설정 파일을 심볼릭 링크로 연결하여 사용


3. 특정 버전의 프로그램 실행을 쉽게 하기

ln -s /usr/bin/python3.10 /usr/bin/python

=> /usr/bin/python을 항상 python3.10을 가리키도록 설정

profile
내가 보려고 올리는 개발 일지

0개의 댓글