inode
리눅스는 파일을 처리하기 위한 자체적인 index를 사용한다. 이 index를 inode(아이노드) 라고 한다.
특징
- 리눅스에선 파일과 디렉토리는 모두 한개씩 inode 가진다.
- 파일과 디렉토리는 고유한 inode를 가지고 있고 이 inode는 해당 파일에 대한 정보를 가지고 있다
하드 링크
특징
- 원본 파일과 같은 inode 번호를 가진다.
- 원본 파일이 삭제 되어도 접근 가능하다
- 동일한 파일 시스템 내에서만 하드 링크 생성할 수 있다.
- 하드 링크는 파일만 참조 가능하다.
사용 이유
- 원본과 동일한 내용의 파일을 가지기 때문에 자원을 공유하면서 데이터를 안전하게 관리가 가능
- 저장 공간의 이점 : 이미 존재하는 데이터의 위치만 가리키고 있고 실제 용량을 차지하지는 않은다.
- 안정성 : 심볼릭 링크보다 하드 링크가 데이터 안정성이 우수하다
심볼릭 링크
심볼릭 링크는 윈도우의 바로가기 기능과 유사하다.
특징
- 원본 파일과 다른 inode를 가진다.
- 이 심볼릭 링크는 원본파일의 위치 주소를 참조 한다.
- 원본 파일이 가지고 있는 위치 정보이므로 원본 파일이 삭제되면 접근할 수 없어진다.
- 심볼릭 링크는 파일이나 디렉토리도 포인터로 참조 가능하다.
사용 이유
- 명령어의 호환성 유지
ex) useradd 명령어와 bash 명령어의 다른 이름(adduser, sh) 심볼릭 링크를 걸어서 사용 가능
- 경로가 복잡한 디렉토리에 빠르게 접근 위해
ex) 실제 경로 : /test/aaa/bbb/ccc
심볼릭 링크 : /root/test
