파일의 링크
1. 하드 링크(Hard Link)
- 원본 파일이 inode1을 사용할 때, 하드 링크를 생성하면 '하드 링크 파일'만 하나 생성되며, 같은 inode1을 사용
- 하드 링크 생성문
ln 링크대상파일이름 링크파일이름
2. 심볼릭 링크(Symbolic Link 혹은 Soft Link)
- 원본 파일에 심볼릭 링크 생성시 새로운 inode2를 만들고, 데이터는 원본 파일과 연결되는 효과를 가짐
- 사용자는 주로 심볼릭 링크를 사용함
- Windows 바로 가기 아이콘도 심볼릭 링크에 해당됨
- 심볼릭 링크 생성
ln -s 링크대상파일이름 링크파일이름
inode
- 리눅스/유닉스의 파일 시스템에서 사용하는 자료구조
- 파일이나 디렉터리의 여러 가지 정보가 존재함
- 모든 파일이나 디렉터리는 각자 한 개씩 inode가 있으며, 각 inode에는 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 해당 파일의 실제 데이터 위치(주소)가 존재함
- inode가 모여있는 공간 == inode 블록
- 일반적으로 전체 디스크 공간의 1% 정도 차지함
예제를 통한 정리
파일명이 [basefile]이라는 파일이 존재한다고 했을 때
(1) 하드 링크와 소프트 링크의 생성
- ln basefile hardlink => 하드 링크 생성
- ln -s basefile sfotlink => 심볼릭 링크(소프트 링크) 생성
- ls -il => -il 옵션은 inode 번호를 제일 앞에 출력
- cat hardlink => 하드 링크 내용 확인
- cat softlink => 소프트 링크 내용 확인
하드 링크와 소프트 링크의 inode 번호가 상이함
- 원본 파일(basefile)과 하드 링크 파일(hardlink)는 데이터 블록에 같은 원본 파일 데이터 사용
- 심볼릭 링크 파일(softlink)는 별도의 원본 파일 포인터를 갖기에 파일 크기가 다름
--> 심볼릭 링크로 접근해 파일을 수정할 경우 접근 포인터가 원본을 가르키기에 원본 파일이 수정됨
--> 실제로 심볼릭 링크 파일은 원본 파일을 지정한다는 의미로 화살표( → )가 표시됨
(2) 원본 파일의 이동
- mv basefile ../ 상위 폴더로 이동
- ls -il 확인
- cat hardlink
- cat softlink
- 원본 파일 이동에 따른 영향 : hardlink X , softlink O
- softlink는 디렉터리에서 원본 파일이 사라지면 연결이 끊어짐. [그런 파일이나 디렉터리가 없습니다.]라는 문구가 뜸.
'Programming > Linux' 카테고리의 다른 글
[Linux/CentOS] 리눅스 파일 위치 검색 (0) | 2021.08.04 |
---|---|
[Linux/CentOS] 리눅스 파일 압축과 묶기 (0) | 2021.08.04 |
[Linux/CentOS] vi/vim 에디터 비정상 종료시 생성되는 파일 조치법 (0) | 2021.08.03 |
[Linux/CentOS] 리눅스 운영 기본 개념 (0) | 2021.08.03 |
[Linux/CentOS] 리눅스 기본 명령어 (0) | 2021.08.03 |