리눅스에서 심볼릭 링크(Symbolic Link)란 파일이나 디렉토리에 대한 바로가기(Shortcut) 라고 생각하면 된다. 윈도우에서 바로가기 아이콘을 생각하면 이해하기 쉽다.
리눅스에는 심볼릭 링크와 하드 링크 두 가지 링크 방식이 있다.
💡 심볼릭 링크는 원본 파일이 삭제되면 링크도 깨지지만, 하드 링크는 원본 파일이 삭제되어도 유지됨.
심볼릭 링크를 만들려면 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 출력에서 경로가 이상하게 보인다.
이 경우 심볼릭 링크를 삭제하고 다시 만들어야 한다.
ln -s /var/www/html /home/user/my_website
=> 웹 서버 루트를 my_website로 쉽게 접근할 수 있도록 설정
ln -s /etc/nginx/sites-available/my_site /etc/nginx/sites-enabled/
=> nginx에서 설정 파일을 심볼릭 링크로 연결하여 사용
ln -s /usr/bin/python3.10 /usr/bin/python
=> /usr/bin/python을 항상 python3.10을 가리키도록 설정