[Linux][강의] 리눅스 쉘 스크립트 마스터 : 심볼릭링크와 하드링크

minj-j·2023년 6월 9일
0

Linux

목록 보기
1/1
post-thumbnail

하드링크

디스크 장치에 저장되어 있는 파일을 가리킨다.
즉 하드링크로 만든 파일도 원본 파일처럼
디스크 장치에 저장되어 있는 파일을 가리킨다.

즉, 하드링크는 동일한 파일을 하나 더 생성한다고 생각하면 된다.

생성
~$ ln [대상파일] [하드링크파일]
~$ ln helloworld.txt helloworld.txt.hd
결과
-rw-r--r-- 2 user user   11 Jun  9 13:13 helloworld.txt
-rw-r--r-- 2 user user   11 Jun  9 13:13 helloworld.txt.hd

단,

디렉토리는 하드링크를 만들 수 없다.

심볼릭 링크

윈도우즈의 '바로가기'와 비슷하다

생성
~$ ln -s [대상파일] [심볼릭링크파일]
~$ ln -s helloworld.txt helloworld.txt.sym
결과
-rw-r--r-- 2 user user   11 Jun  9 13:13 helloworld.txt
lrwxrwxrwx 1 user user   14 Jun  9 13:31 helloworld.txt.sym -> helloworld.txt

파일 종류는 l로 시작한다.

심볼릭링크도 하나의 파일이긴 하지만
원본 파일을 가리키는 수단이라 생각하면 이해하기 편하다.

즉, 하드링크와 달리
디스크 장치에 저장되어 있는 파일을 가리키는 파일 그 자체를 가리키는 것이 심볼릭 링크
그러나 원본 파일이 사라지면 이 심볼릭 링크 파일은 제대로 역할을 하지 못한다..하지만
삭제된 원본 파일과 똑같은 파일명으로 파일을 다시 생성하면
심볼릭 링크는 다시 해당 파일을 가리키는 역할을 수행할 수 있다.

왜 사용하는 가?

하드 링크는 cp와 비슷해 보인다.
하지만 cp는 하나의 파일이 생성되는 것이라 용량이 늘어난다.
하드 링크는 포인터 처럼 디스크 내의 파일을 가리키는 것이라
용량이 늘어나지 않음! 용량을 효율적으로 사용하기 위해 사용해 볼 수 있다.

심볼릭 링크는
복잡한 경로의 디렉토리를 쉽게 접근하거나
확장자(.txt처럼 파일명 뒤에 붙이는 거)를 하나로 통일할 때
이 심볼릭 링크를 사용할 수 있다.

profile
minj-j`s Development diary!

0개의 댓글