반응형
심볼릭 링크와 하드 링크
리눅스 파일 시스템에서 심볼릭 링크(Symbolic Link)와 하드 링크(Hard Link)는 파일이나 디렉터리와의 참조를 관리하는 두 가지 중요한 개념입니다. 이 둘은 파일 시스템에서 파일을 다루는 방법에서 차이를 보입니다.
하드 링크 (Hard Link)
하드 링크는 파일 시스템의 특정 파일에 대한 직접적인 참조입니다. 여러 파일 이름이 동일한 데이터 블록을 가리킬 수 있으며, 그 결과 원본 파일과 동일한 파일로 취급됩니다.
특징:
- 같은 파일 인덱스 노드(Inode): 하드 링크는 원본 파일과 동일한 Inode 번호를 가집니다. 즉, 같은 데이터 블록을 공유합니다.
- 원본 파일 삭제 시 영향 없음: 원본 파일을 삭제해도 하드 링크로 연결된 파일은 그대로 유지되며, 데이터도 유지됩니다.
- 동일한 파일: 하드 링크는 원본 파일과 구별되지 않으며, 동일한 파일로 취급됩니다. 두 파일 중 하나를 수정하면, 다른 파일에도 동일하게 반영됩니다.
- 동일한 파일 시스템 내에서만 사용 가능: 하드 링크는 동일한 파일 시스템 내에서만 만들 수 있습니다.
예시:
ln file1.txt hardlink.txt
위 명령어는 file1.txt
에 대한 하드 링크인 hardlink.txt
를 생성합니다.
심볼릭 링크 (Symbolic Link)
심볼릭 링크는 원본 파일에 대한 경로를 참조하는 특별한 유형의 파일입니다. 심볼릭 링크는 실제 파일이 아니며, 원본 파일의 위치를 가리키는 경로를 저장합니다.
특징:
- 다른 Inode 번호: 심볼릭 링크는 원본 파일과 다른 Inode 번호를 가지며, 파일 자체가 아닌 파일의 경로를 가리킵니다.
- 원본 파일 삭제 시 링크가 깨짐: 원본 파일이 삭제되면 심볼릭 링크는 깨져서 "끊어진 링크(broken link)"가 됩니다.
- 파일 시스템 간 링크 가능: 심볼릭 링크는 다른 파일 시스템에 있는 파일이나 디렉터리도 링크할 수 있습니다.
- 디렉터리 링크 가능: 심볼릭 링크는 파일뿐만 아니라 디렉터리도 링크할 수 있습니다.
예시:
ln -s /path/to/file1.txt symlink.txt
위 명령어는 /path/to/file1.txt
에 대한 심볼릭 링크인 symlink.txt
를 생성합니다.
주요 차이점 요약
- Inode: 하드 링크는 원본 파일과 동일한 Inode를 가지며, 심볼릭 링크는 다른 Inode를 가집니다.
- 파일 삭제: 원본 파일이 삭제되면 하드 링크는 여전히 유효하지만, 심볼릭 링크는 깨지게 됩니다.
- 링크 가능 대상: 하드 링크는 동일한 파일 시스템 내에서만 사용 가능하지만, 심볼릭 링크는 파일 시스템 경계를 넘어 사용할 수 있습니다.
정리
- 하드 링크는 파일 시스템 내에서 동일한 파일을 참조하는 또 다른 이름입니다. 원본 파일이 삭제되더라도 데이터는 유지됩니다.
- 심볼릭 링크는 파일이나 디렉터리의 경로를 참조하는 파일로, 원본 파일이 삭제되면 링크가 깨집니다.
이 두 가지 링크 타입을 이해하고 적절히 사용하면 파일 시스템을 더욱 유연하게 관리할 수 있습니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
[리눅스 팁] 링크가 유용하게 사용되는 경우 (69) | 2024.08.23 |
---|---|
[리눅스 팁] 심볼릭 링크의 원본 파일과 심볼릭 파일을 삭제하는 경우 차이 (102) | 2024.08.22 |
[리눅스 팁] cat 명령어만 입력했을 때 (105) | 2024.08.20 |
[리눅스 팁] echo 명령어와 리다이렉션 사용하여 파일 생성 (89) | 2024.08.19 |
[리눅스 팁] 여러 파일을 출력하기 위한 방법 (81) | 2024.08.18 |