디스크 장치에 저장되어 있는 파일을 가리킨다.
즉 하드링크로 만든 파일도 원본 파일처럼
디스크 장치에 저장되어 있는 파일을 가리킨다.
즉, 하드링크는 동일한 파일을 하나 더 생성한다고 생각하면 된다.
생성
~$ 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처럼 파일명 뒤에 붙이는 거)를 하나로 통일할 때
이 심볼릭 링크를 사용할 수 있다.