Linux

심볼릭 링크(Symbolic Link)

LeeJaeJun 2024. 2. 25. 10:25
728x90
반응형

심볼릭 링크(Symbolic Link)

  • 파일 시스템에서 다른 파일이나 디렉토리를 가리키는 특별한 종류의 파일
  • 기본적으로 원본 파일이나 디렉토리의 경로를 포함하고 있으며, 이를 통해 심볼릭 링크를 통해 해당 파일이나 디렉토리에 액세스 가능
  • 원본 파일의 내용을 변경할 수 있습니다.
  • 심볼릭 링크는 하드 링크와는 달리 파일 시스템의 다른 위치에 있는 파일을 가리키기 때문에 원본 파일과 독립적으로 존재하며, 파일 시스템이 다른 위치로 이동해도 링크는 유효하게 유지됩니다.
    • 하드 링크: 하드 링크는 원본 파일과 동일한 파일의 다른 이름입니다. 즉, 원본 파일과 하드 링크는 같은 데이터를 공유하며, 어느 한 쪽이 변경되면 다른 쪽도 변경됩니다. 이는 마치 같은 책을 두 개의 다른 표지로 갖고 있는 것과 비슷합니다. 만약 원본 파일을 삭제하면 하드 링크는 여전히 해당 파일의 내용을 가지고 있습니다.
    • 하드 링크는 원본 파일의 복사본이라고 생각할 수 있고, 심볼릭 링크는 원본 파일을 가리키는 단순한 바로 가기
  • 심볼릭 링크 생성:
    • ln -s [원본 파일/디렉토리] [링크 이름]
  • 심볼릭 링크 읽기:
    • ls -l [심볼릭 링크]
  • 심볼릭 링크 삭제:
    • rm [심볼릭 링크]
  • 심볼릭 링크 이용하기:
    • 생성된 심볼릭 링크를 사용하여 해당 원본 파일이나 디렉토리에 접근할 수 있습니다.
# /usr/bin/python3을 가리키는 /usr/local/bin/python 심볼릭 링크를 생성
ln -s /usr/bin/python3 /usr/local/bin/python

# 웹 서버의 DocumentRoot를 심볼릭 링크로 설정하는 예시
ln -s /var/www/html /home/user/www

# 자주 사용하는 프로젝트 디렉토리에 대한 심볼릭 링크 설정 예시
ln -s /path/to/project /home/user/project

# 백업 디렉토리에 대한 심볼릭 링크 설정 예시
ln -s /backup/directory /home/user/backup

# 심볼릭 링크의 정보를 확인
ls -l /usr/local/bin/python

# /usr/bin/python3을 실행하는 것과 동일한 효과
./usr/local/bin/python

# cat을 입력하면 ls가 실행되게 만들기
# $(which ls)는 시스템에서 ls 명령어의 경로를 찾아줍니다
ln -s $(which ls) /usr/local/bin/cat

# readfile을 입력하면 cat이 실행되게 만들기
ln -s $(which cat) /usr/local/bin/readfile

 

ln 명령어는 링크를 생성하는 데 사용되며, 기본적으로는 하드 링크(hard link)를 생성합니다. 하지만 -s 옵션을 사용하면 대신 심볼릭 링크를 생성하게 됩니다.

728x90
반응형

'Linux' 카테고리의 다른 글

[Kali Linux] 마우스 휠 방향 반대로 바꾸기  (0) 2024.03.10
[Linux][bee-box] bash ipconfig command not found  (0) 2024.03.07
SSH (Secure Shell), NC (Netcat)  (1) 2024.02.25
UFW(Uncomplicated Firewall)  (0) 2024.02.24
VIM과 shell script  (1) 2024.02.24