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가 다르다는 것!
근데 만약 원본이 삭제 되면?
하드링크는 존재하지만 심볼릭 링크는 가리키는 경로가 사라져서 오류가 뜬다!!!!