리눅스 Link - 하드링크와 심볼릭링크

박경현·2023년 6월 26일
0

find 와 grep 적기 전에
오늘 공부한 링크에 대해 적어보려고 한다!!

링크는 메모리 주소라는 개념을 알고 있어서 이해가 훨씬 잘 되는거 같다

리눅스에서 링크란?

링크라는 단어만 봐도 알겠지만 연결해준다는 뜻으로 봐도 된다

정확한 뜻
링크 -> 특정 파일 또는 디렉토리에 접근을 쉽게 할 수 있도록 하는 방법!

하드링크 개념

직접적으로 접근하는 방식, 특정 파일의 위치를 가리키는 방법, 파일 이름이 뜸!!

실제 데이터가 있는 파일을 가리키는 것이다

아래 보면 origin과 하드링크 origin_hi가 있는데
둘 다 같은 파일을 가리켜서 inode가 같고
숫자 2는 하드링크의 개수이다!

심볼릭 링크 개념

간접적으로 다른 주소를 거쳐서 원본에 접근하는 방식을 의미한다!!

하드링크와 심볼릭 링크 연습

ln 옵션 원본 링크
이렇게 적는데 옵션에 -s를 붙이면 심볼릭링크고 안붙이면 그냥 하드링크다!

vi origin
cat origin
ln origin origin_hi

이때 원본을 바꾸면 하드링크도 내부 내용이 바뀐다!!
당연히 데이터가 들어가있는 같은 주소를 가리키기 때문에!!

ln -s orign origin_sl

이때도 원본 바뀌면 심볼릭 링크가 바뀐다! 심볼릭도 간접적이지만 데이터 주소를 가리키기 때문에!!

cp origin origin_cp

원본이 바뀌었을때 cp한 origin_cp는 내용이 바뀌지 않는다!
inode가 다르다는 것!

근데 만약 원본이 삭제 되면?

하드링크는 존재하지만 심볼릭 링크는 가리키는 경로가 사라져서 오류가 뜬다!!!!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글