카이도스의 Tech Blog

하드링크와 심볼릭링크 본문

지식

하드링크와 심볼릭링크

카이도스 2022. 8. 3. 14:22
728x90
반응형
하드링크와 심볼릭 링크
 
 
 
위 그림을 자세히 보면 확실하게 이해 할 수 있을 것이다.
원본 파일로 하드 링크를 만들면, 하드 링크는 원본 파일과 동일한 inode를 직접적으로 가리킨다. 따라서 원본 파일이 사라지더라도 데이터만 살아 있다면 원본 파일에 접근이 가능하다.
하지만 심볼릭 링크(소프트 링크)의 경우는 만들게 되면 또 다른 inode를 생성해서 이를 바라본다. 복사 생성된 inode는 포인터를 카리키고, 포인터는 다시 원본 파일을 가리킨다.
따라서 특정 데이터에 접근할 때, 심볼릭 링크를 통해 접근할 경우 다시 원본 파일을 거치게 된다. 때문에 원본 파일이 사라질 경우 해당 데이터에 접근할 수 없다.
 
------------------------------------------------------------------------------------------------------------
 
리눅스 링크 명령어 ln
 
링크를 생성하는 명령어는 ln이다.
기본적으로 ln 명령어만 사용할 경우, 하드링크를 생성한다.
심볼릭 링크(소프트링크)를 생성하기 위해서는 -s 옵션을 줘서 "ln -s 대상파일" 과 같은 식으로 실행한다.
 
아래는 이를 직접 리눅스 터미널 상에서 테스트 해 본 화면이다.
 
1. origin 파일에 대해 하드링크와 소프트링크를 만들었다. 링크와 관련된 정보를 보기 위해서는 "ls -il" 명령어를 사용한다.
 
2. 맨 앞부분에 있는 숫자가 inode 주소이다. 원본 파일과 하드링크는 동일한 값을 가지고 있지만 softlink는 다른 값을 가지고 있다. 허가권한도 softlink는 모두에게 열려있다.
 
3. 이제 origin 파일을 상위 디렉터리로 잠시 이동시켜보자.
 
4. 다시 ls -il 명령어로 링크 정보를 보면, 하드링크는 변화가 없지만 소프트링크에 검은 명암이 칠해진 것을 볼 수 있다. cat 명령어로 하드링크와 소프트링크에 접근하면 하드링크는 여전히 원본 데이터를 보여주지만 소프트링크는 파일이나 디렉터리가 없다는 에러와 함께 실행되지 않는다.
하드링크와 심볼릭 링크
 
 
 
위 그림을 자세히 보면 확실하게 이해 할 수 있을 것이다.
원본 파일로 하드 링크를 만들면, 하드 링크는 원본 파일과 동일한 inode를 직접적으로 가리킨다. 따라서 원본 파일이 사라지더라도 데이터만 살아 있다면 원본 파일에 접근이 가능하다.
하지만 심볼릭 링크(소프트 링크)의 경우는 만들게 되면 또 다른 inode를 생성해서 이를 바라본다. 복사 생성된 inode는 포인터를 카리키고, 포인터는 다시 원본 파일을 가리킨다.
따라서 특정 데이터에 접근할 때, 심볼릭 링크를 통해 접근할 경우 다시 원본 파일을 거치게 된다. 때문에 원본 파일이 사라질 경우 해당 데이터에 접근할 수 없다.
 
------------------------------------------------------------------------------------------------------------
 
리눅스 링크 명령어 ln
 
링크를 생성하는 명령어는 ln이다.
기본적으로 ln 명령어만 사용할 경우, 하드링크를 생성한다.
심볼릭 링크(소프트링크)를 생성하기 위해서는 -s 옵션을 줘서 "ln -s 대상파일" 과 같은 식으로 실행한다.
 
아래는 이를 직접 리눅스 터미널 상에서 테스트 해 본 화면이다.
 
1. origin 파일에 대해 하드링크와 소프트링크를 만들었다. 링크와 관련된 정보를 보기 위해서는 "ls -il" 명령어를 사용한다.
 
2. 맨 앞부분에 있는 숫자가 inode 주소이다. 원본 파일과 하드링크는 동일한 값을 가지고 있지만 softlink는 다른 값을 가지고 있다. 허가권한도 softlink는 모두에게 열려있다.
 
3. 이제 origin 파일을 상위 디렉터리로 잠시 이동시켜보자.
 
4. 다시 ls -il 명령어로 링크 정보를 보면, 하드링크는 변화가 없지만 소프트링크에 검은 명암이 칠해진 것을 볼 수 있다. cat 명령어로 하드링크와 소프트링크에 접근하면 하드링크는 여전히 원본 데이터를 보여주지만 소프트링크는 파일이나 디렉터리가 없다는 에러와 함께 실행되지 않는다.

 

728x90
반응형

'지식' 카테고리의 다른 글

[리눅스] 부팅과정  (0) 2022.08.03
bios 업데이트  (0) 2022.08.03
inode  (0) 2022.08.03
Linux 하드디스크 포멧  (0) 2022.08.03
리눅스 명령어 모음  (0) 2022.08.03
Comments