Linux 의 하 드 링크 와 심 볼 릭 링크

하 드 링크 와 심 볼 릭 링크 (소프트 링크):
        Linux 파일 시스템 의 가장 중요 한 특징 중 하 나 는 파일 링크 입 니 다.링크 는 파일 에 대한 참조 입 니 다. 파일 시스템 에서 여러 곳 에서 볼 수 있 습 니 다.디스크 파 티 션 에 저 장 된 파일 은 어떤 형식 이 든 색인 절 점 번호 inode 라 고 합 니 다.리 눅 스에 서 링크 는 원본 파일 처럼 맞 출 수 있 습 니 다.링크 는 일반 파일 과 마찬가지 로 실행 되 고 편집 되 며 접근 할 수 있 습 니 다.시스템 의 다른 프로그램 에 있어 서 링크 는 원본 파일 입 니 다.링크 를 통 해 파일 을 편집 할 때 실제 파일 을 편집 합 니 다.링크 는 복사 본 이 아 닙 니 다.하 드 링크 와 심 볼 릭 링크 (소프트 링크) 두 가지 유형의 링크 가 있 습 니 다.
하 드 링크 는 같은 파일 시스템 의 파일 만 참조 할 수 있 습 니 다.파일 시스템 에 있 는 파일 의 물리 적 색인 (inode 라 고도 함) 을 참조 합 니 다.원본 파일 을 이동 하거나 삭제 할 때 하 드 링크 는 파일 구조 에 있 는 파일 이 아 닌 물리 적 데 이 터 를 참조 하기 때문에 파괴 되 지 않 습 니 다.하 드 링크 된 파일 은 사용자 가 원본 파일 에 접근 할 수 있 는 권한 이 필요 하지 않 고 원본 파일 의 위 치 를 표시 하지 않 아 도 파일 의 안전 에 도움 이 됩 니 다.삭 제 된 파일 에 해당 하 는 하 드 링크 가 있다 면 이 파일 은 모든 인용 이 삭 제 될 때 까지 유 지 됩 니 다.
        소프트 연결, 사실은 새로 파일 을 만 드 는 것 입 니 다. 이 파일 은 다른 파일 을 가리 키 는 데 사 용 됩 니 다.소프트 연결 은 새로운 파일 을 만 듭 니 다. 그러나 이 파일 의 역할 은 특정한 파일 을 가리 키 는 것 입 니 다. 이 소프트 연결 파일 을 삭제 하면 이 연결 이 필요 하지 않 고 원래 존재 하 는 실체 원본 파일 과 아무런 관계 가 없 지만 원래 의 파일 을 삭제 하면 해당 하 는 소프트 연결 을 사용 할 수 없습니다 (cat 그 소프트 링크 파일 은 '이 파일 이나 디 렉 터 리 가 없 으 면'“).
하 드 링크 와 소프트 링크 의 차이;
하 드 연결 은 inode 를 만 들 지 않 습 니 다. 그 는 파일 의 원래 inode link count 필드 에 1 을 더 추가 할 뿐 이 므 로 하 드 링크 는 파일 시스템 을 뛰 어 넘 을 수 없습니다. 반대로 소프트 연결 은 inode 를 다시 만 듭 니 다. 물론 inode 의 구 조 는 다른 것 과 다 릅 니 다. 그 는 원본 파일 을 가리 키 는 문자열 정보 일 뿐 입 니 다. 원본 파일 을 삭제 하면 소프트 연결 은 변 합 니 다.무의미 합 니 다. 하 드 링크 가 삭 제 될 때 시스템 호출 은 inode link count 의 수 치 를 검사 합 니 다. 만약 그 가 1 보다 크 면 inode 는 회수 되 지 않 습 니 다. 따라서 파일 의 내용 은 삭제 되 지 않 습 니 다.
하 드 링크 는 실제 파일 을 위 한 별명 입 니 다. 링크 파일 과 원본 파일 은 실제 파일 과 같 습 니 다. ls - i 를 통 해 볼 수 있 습 니 다. 이 두 파일 의 inode 번 호 는 같은 파일 임 을 설명 합 니 다. 소프트 링크 는 하나의 지향 입 니 다. 즉, 링크 파일 안의 내용 은 원본 파일 을 가리 키 는 지침 입 니 다. 두 파일 입 니 다.
소프트 링크 는 파일 시스템 을 뛰 어 넘 을 수 있 습 니 다. 하 드 링크 는 존재 하지 않 는 파일 이름 (filename) 을 연결 할 수 있 습 니 다.; 소프트 링크 는 디 렉 터 리 를 연결 할 수 있 습 니 다. 하 드 링크 는 안 됩 니 다. 두 링크 모두 명령 ln 을 통 해 만 들 수 있 습 니 다. ln 은 기본적으로 하 드 링크 를 만 듭 니 다. - s 스위치 를 사용 하면 소프트 링크 를 만 들 수 있 습 니 다.
하 드 링크 와 심 볼 릭 링크 의 생 성과 성질 을 연구 해 보 겠 습 니 다.
 우선 cp 와 ln 명령 으로 하 드 링크 와 심 볼 릭 링크 를 만 들 수 있 습 니 다.
하 드 링크 생 성 및 그 성질:
[guo@guo ~]$ cp -l link link.back
[guo@guo ~]$ln link link.back1
[guo@guo ~]$ ls -al |grep 'link*'
-rw-rw-r--   3 guo  guo          38  4   8 20:24 link
-rw-rw-r--   3 guo  guo          38  4   8 20:24 link.back
-rw-rw-r--   1 guo  guo          38  4   8 20:26 link.back1

만 든 하 드 링크 파일 은 원본 파일 의 크기 와 같 고 파일 속성 은 일반 파일 입 니 다.
임의의 파일 내용 을 수정 할 때 모두 세 개의 파일 내용 이 동시에 변 합 니 다.
[guo@guo ~]$ cat link
shell
[guo@guo ~]$ cat link.back*
shell
shell
[guo@guo ~]$ cat link
shell
[guo@guo ~]$ cat link.back
shell
[guo@guo ~]$ cat link.back1
shell
[guo@guo ~]$ echo "shell" >>link.back
[guo@guo ~]$ cat link.back
shell
shell
[guo@guo ~]$ cat link.back1
shell
shell
[guo@guo ~]$ cat link
shell
shell

원본 파일 을 삭제 할 때 하 드 링크 파일 이 존재 하고 내용 이 변 하지 않 습 니 다.
[guo@guo ~]$ cat link 
shell
shell
[guo@guo ~]$ cat link.back
shell
shell
[guo@guo ~]$ rm link
rm:         "link"?y
[guo@guo ~]$ cat link.back1
shell
shell
[guo@guo ~]$ cat link.back
shell
shell

일반 사용 자 는 슈퍼 유저 의 파일 에 하 드 링크 를 만 들 수 있 습 니 다.
4. 567913. 그러나 원본 파일 은 루트 사용자 이 고 다른 사용자 에 게 쓰기 권한 이 없 기 때문에 다른 사용 자 는 원본 파일 과 하 드 링크 파일 을 수정 할 수 없 지만 링크 파일 을 삭제 할 수 있 습 니 다.
4. 567913. 위 에서 볼 수 있 는 링크 의 파일 은 보호 되 어 있다.
심 볼 릭 링크 와 그 성질 만 들 기:
심 볼 릭 링크 만 들 기:
[guo@guo ~]$ ls -al |grep 'file2'
-rw-r--r--   2 root root         89  4   6 21:51 file2
[guo@guo ~]$ cp -l file2 file2.back
[guo@guo ~]$ ln file2 file2.back1
[guo@guo ~]$ ls -al |grep 'file2*'
-rw-r--r--   4 root root         89  4   6 21:51 file2
-rw-r--r--   4 root root         89  4   6 21:51 file2.back
-rw-r--r--   4 root root         89  4   6 21:51 file2.back1

이 링크 의 파일 속성 은 l 이 며, 소프트 파일 크기 는 원본 파일 크기 와 다 릅 니 다.
하 드 링크 와 마찬가지 로 임의의 파일 내용 을 수정 할 때 세 개의 파일 내용 이 동시에 바 뀌 었 습 니 다. 여 기 는 예 를 들 지 않 습 니 다.
소프트 링크 에 대해 서 는 원본 파일 을 삭제 한 후 링크 파일 을 다시 열 수 없습니다.
[guo@guo ~]$ rm file2.back
rm:              "file2.back"?y
[guo@guo ~]$ rm file2.back1 
rm:              "file2.back1"?y

일반 사용 자 는 슈퍼 사용자 의 파일 에 소프트 링크 를 만 들 수 있 습 니 다. 하 드 링크 와 유사 합 니 다. 예 를 들 지 않 습 니 다.
소프트 링크 는 디 렉 터 리 링크 를 만 들 수 있 고 파일 시스템 을 넘 어 링크 를 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기