ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하드 링크와 심벌릭 링크
    Technique/LPIC 2019. 5. 14. 14:40
    반응형

    많은 OS에는 파일이나 디렉터리에 별명을 붙여 다른 이름으로 동일한 파일에 접근 가능한 방법이 준비되어 있다.

    하드 링크

    Linux에서는 파일을 디스크에 보존하면 중복하지 않는 i 노드 번호가 붙여진다 모든 파일에는 대응하는 i 노드가 존재하고 i 노드에는 디스크 상의 파일에 간한 속성정보가 저장되어 있다. 디렉터리는 특수한 파일의 형식이고, 소속하는 파일명과 i 노드를 연속하여 붙여진다. i 노드에 저장된 정보의 일부는 다음과 같다.

    - 파일 종류

    - 파일 사이즈

    - 접근 권한

    - 소유자

    - 링크

    - 디스크 상의 논리적인 저장 장소 ( 블록 번호 )

    파일의 실체 ( 디스크 상에 존재하고 있는 데이터 )가 하나라도, 그 실체를 참조 하는 파일이 복수 있으면 각각 파일의 이름에 동일한 실체를 참조하는 것이 가능하다. 이것이 하드 링크이다.

    하드 링크에서는 원래의 파일과 링크로 작성된 파일의 구별을 할 수 없다. 어느 쪽이든 i 노드 가 같기 때문이다. 파일을 복사할 경우에는 어느 쪽을 변경해도 다른 쪽에는 영향이 없다. 하드 링크의 경우 어느 쪽의 하드 링크 파일을 변경하거나 더해도 동일한 실체에 대해 변경을 추가하는 것이 된다.

    하드 링크가 복수 작성되어 있을 경우 그것들 모두를 삭제하기 전까진 파일의 실체를 삭제할 수 없다. 링크가 작성된 수는 ls 커맨드로 확인할 수 있다.

    ls 커맨드에 i 옵션을 붙이면 i 노드 번호가 표기된다.

    하드 링크는 링크 본래의 파일이 존재하는 파일 시스템과 다른 파일 시스템상에 작성하는 것은 불가능하다 i 노드는 파일 시스템별로 관리되기 때문이다. 또한 디렉터리의 하드 링크를 작성하는 것도 불가능하다.

    심벌릭 링크

    심벌릭 링크는 링크 본래의 장소를 지정한다. 심벌릭 링크 자체가 가지고 있는 것은 링크 본래의 포인터이다. 그렇기 때문에 심벌릭 링크를 남겨둔 채로 링크 본래의 파일을 삭제하는 것도 가능하다. 이 경우 심벌릭 링크에 접근하면 실체 파일이 존재하지 않는 에러가 발생한다.

    심벌릭 링크는 하드 링크와 다르며 다른 파일 시스템으로의 링크를 작성하는 것도 가능하다. 또한 디렉터리 링크를 작성하는 것도 가능하다.

    심벌릭 링크의 접근 권한 표시는 맨 앞에 r 이 붙어 있으며 실제의 접근 권한은 링크 본래 파일의 접근 권한이 적용된다.

    링크의 작성

    링크를 작성하기 위해서 눈 ln 커맨드를 사용한다 옵션 설정 없이 실행할 경우 하드 링크가 작성된다. 심벌릭 링크를 작성하기 위해서는 -s 옵션을 붙여야 한다.

    링크의 복사

    cp 커맨드를 사용하여 심벌릭 링크를 복사하면 기본적으로는 링크 본래의 파일 내용을 복사한다. 심벌릭 링크 자체를 복사하기 위해서는 -d 옵션을 사용한다.

    반응형

    'Technique > LPIC' 카테고리의 다른 글

    프로세스의 실행 우선도  (0) 2019.05.14
    프로세스 관리  (0) 2019.05.14
    파일의 소유자 관리  (0) 2019.05.14
    권한 설정  (0) 2019.05.14
    기본적인 파일 관리  (0) 2019.05.14

    댓글

Designed by Tistory.