Symbolic Link(심볼릭 링크)는 파일 시스템에서 다른 파일이나 디렉토리를 가리키는 파일이다. 심볼릭 링크는 원본 파일의 위치를 저장하고 있고 심볼릭 링크를 통해 원본 파일에 접근할 수 있다. 심볼릭 링크는 Windows의 바로 가기 기능과 유사하다.
심볼릭 링크는 주로 파일이나 디렉토리를 재배치할 때 또는 여러 프로그램이나 스크립트가 동일한 파일에 접근해야 할 때 유용하다.
심볼릭 링크를 사용하는 방법은 주로 리눅스나 유닉스 기반의 시스템에서 ln 명령어를 사용한다. ln 명령어는 두 가지의 주요 옵션이 있다.
하드 링크를 생성하는 기본 동작과 -s 옵션을 사용하여 심볼릭 링크를 생성하는 방법이 있다.
심볼릭 링크를 생성하기 위한 기본 문법은 다음과 같다
ln -s [원본 파일/디렉토리 경로] [심볼릭 링크 경로]
여기서 -s 옵션은 심볼릭 링크를 의미한다. [원본 파일/디렉토리 경로] 는 심볼릭 링크가 가리킬 대상의 경로이며, [심볼릭 링크 경로] 는 생성될 심볼릭 링크의 위치와 이름을 지정한다.
1. 파일에 대한 심볼릭 링크 생성
ln -s /path/to/example.txt /path/to/example_link.txt
2. 디렉토리에 대한 심볼릭 링크 생성
ln -s /path/to/example_dir /path/to/example_dir_link
3. 심볼릭 링크 확인
ls -l ~/link_to_original.txt
ls -l 명령어를 사용한다. 심볼릭 링크는 화살표-> 로 표시된다.4. 심볼릭 링크 제거
rm ~/link_to_original.txt
rm 명령어를 사용한다. 심볼릭 링크를 제거해도 원본 파일에는 영향을 주지 않는다.5. 심볼릭 링크 업데이트
rm ~/link_to_original.txt
ln -s /new/path/to/original.txt ~/link_to_original.txt
6. 심볼릭 링크를 사용하여 디렉터리 링크 생성
ln -s /home/user/original_directory ~/link_to_directory
디렉터리에 대한 심볼릭 링크를 생성하는 방법도 동일하다.
~/link_to_directory 를 통해 /home/user/original_directory 에 접근할 수 있다.
심볼릭 링크는 원본 파일이나 디렉토리를 가리키는 포인터와 같으므로, 원본 대상이 삭제되거나 이동되면 링크는 더 이상 유효하지 않게 된다.
심볼릭 링크는 절대 경로 또는 상대 경로를 사용하여 생성할 수 있다.
상대 경로를 사용할 경우, 심볼릭 링크가 생성된 위치를 기준으로 경로가 계산된다.
파일 시스템의 다른 부분에 있는 파일이나 디렉토리에 대한 심볼릭 링크를 생성할 수 있으며, 이는 특히 파일을 공유하거나 다양한 위치에서 접근해야 할 때 유용하다.
다음과 같은 내용을 도전해봅시다.
1. cat 을 입력하면 ls 가 실행되게 만들어보기
별칭(alias)를 사용하여 cat 명령어를 ls 명령어로 대체할 수 있다.
alias cat='ls'
.bashrc 또는 .bash_profile) 에 추가된다.echo 'alias cat="ls"' >> ~/.bashrc
source ~/.bashrc
그 후 cat 을 입력하면 ls 가 실행된다.
2. readfile 을 입력하면 cat 이 실행되게 만들기