
개요
개발을 하다 보면 같은 파일을 여러 경로에서 접근해야 하는 경우가 있습니다.
예를 들어, 설정 파일을 여러 프로젝트에서 공유하거나, 특정 실행 파일을 다양한 위치에서 실행하고 싶을 경우가 있습니다. 이때 사용하는 개념이 링크(Link) 입니다.
본 글에서는 리눅스의 심볼릭 링크(Symbolic Link) 와 하드 링크(Hard Link)에 대해서 정리하고자 합니다.
심볼릭 링크(Symbolic Link)란❓
심볼릭 링크(Symbolic Link, 소프트 링크) 는 일종의 바로가기 개념으로, 원본 파일의 경로를 참조하는 링크 파일입니다.
주요 특징
- 원본 파일의 경로를 저장하는 새로운 파일을 생성합니다.
- 원본 파일이 삭제되면 링크는 깨집니다.
- 다른 파일시스템에 있는 파일도 링크할 수 있습니다.
- 디렉토리도 링크할 수 있습니다.
생성 방법
ln -s 원본파일 링크이름
예를 들어, /home/user/config.yaml 파일을 /etc/config.yaml 경로에서도 접근하고 싶다면 다음과 같이 작성할 수 있습니다.
ln -s /home/user/config.yaml /etc/config.yaml
위와 같이 명령어를 실행하면, /etc/config.yaml를 통해 /home/user/config.yaml의 내용을 그대로 볼 수 있습니다.
하드 링크(Hard Link)란❓
하드링크는 원본 파일과 동일한 inode를 가리키는 또 다른 파일명입니다. 즉, 동일한 데이터를 가리키는 여러 개의 파일명이 존재하는 것입니다.
inode 란❓
Unix/Linux 파일 시스템에서 파일이나 디렉토리의 모든 메타데이터를 저장하는 데이터 구조입니다. 쉽게 말해서, 파일의 "신분증" 같은 것입니다.
주요 특징
- 원본 파일과 완전히 동일한 파일입니다
- 원본 파일이 삭제되어도 링크된 파일은 계속 사용 가능합니다
- 같은 파일시스템 내에서만 생성 가능합니다
디렉토리는 링크할 수 없습니다
생성 방법
ln 원본파일 링크이름
예를 들어, file1.txt의 하드 링크를 file2.txt로 만들고 싶다면 다음과 같이 작성할 수 있습니다.
ln file1.txt file2.txt
위와 같이 명령어를 실행하면 file1.txt와 file2.txt는 동일한 파일을 가리키며, 둘 중 하나를 수정하면 다른 파일도 동일하게 변경됩니다.
심볼릭 링크와 하드 링크의 차이점 한눈에 보기
구분 | 심볼릭 링크 (Symbolic Link) | 하드 링크 (Hard Link) |
개념 | 원본 파일의 경로를 참조하는 파일 | 원본과 같은 Inode를 가지는 파일 |
파일 존재 여부 | 원본 파일이 삭제되면 링크가 깨짐 | 원본 파일이 삭제되어도 유지됨 |
디렉토리 링크 가능 여부 | 가능 ✅ | 불가능 ❌ |
다른 파일 시스템에서 가능 여부 | 가능 ✅ | ❌ (같은 파일 시스템 내에서만 가능) |
Inode 번호 | 원본과 다름 | 원본과 같은 |
결론
- 심볼릭 링크
- 설정 파일을 공유하거나, 특정 실행 파일을 여러 위치에서 실행해야 할 때 사용
- 하드 링크
- 백업 파일을 만들거나, 하나의 파일을 여러 경로에서 동일하게 유지하고 싶을 때 사용
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.18 - 리눅스 : chown 명령어 알아보기 : -h옵션과 심볼릭 링크의 관계 (0) | 2025.02.18 |
---|---|
[TIL, 일일 회고] 2025.02.16 - MySQL 문자열 검색: LIKE, INSTR, REGEXP, SUBSTRING (0) | 2025.02.16 |
[TIL, 일일 회고] 2025.02.15 - MySQL에서 OR 연산자 이외의 조건문 활용법: IN, CASE WHEN, FIND_IN_SET (0) | 2025.02.15 |
[TIL, 일일 회고] 2025.02.14 - 리눅스 : umask 명령어란❓ (0) | 2025.02.14 |
[TIL, 일일 회고] 2025.02.13 - 리눅스 파일 접근 권한 이해하기 (0) | 2025.02.13 |

개요
개발을 하다 보면 같은 파일을 여러 경로에서 접근해야 하는 경우가 있습니다.
예를 들어, 설정 파일을 여러 프로젝트에서 공유하거나, 특정 실행 파일을 다양한 위치에서 실행하고 싶을 경우가 있습니다. 이때 사용하는 개념이 링크(Link) 입니다.
본 글에서는 리눅스의 심볼릭 링크(Symbolic Link) 와 하드 링크(Hard Link)에 대해서 정리하고자 합니다.
심볼릭 링크(Symbolic Link)란❓
심볼릭 링크(Symbolic Link, 소프트 링크) 는 일종의 바로가기 개념으로, 원본 파일의 경로를 참조하는 링크 파일입니다.
주요 특징
- 원본 파일의 경로를 저장하는 새로운 파일을 생성합니다.
- 원본 파일이 삭제되면 링크는 깨집니다.
- 다른 파일시스템에 있는 파일도 링크할 수 있습니다.
- 디렉토리도 링크할 수 있습니다.
생성 방법
ln -s 원본파일 링크이름
예를 들어, /home/user/config.yaml 파일을 /etc/config.yaml 경로에서도 접근하고 싶다면 다음과 같이 작성할 수 있습니다.
ln -s /home/user/config.yaml /etc/config.yaml
위와 같이 명령어를 실행하면, /etc/config.yaml를 통해 /home/user/config.yaml의 내용을 그대로 볼 수 있습니다.
하드 링크(Hard Link)란❓
하드링크는 원본 파일과 동일한 inode를 가리키는 또 다른 파일명입니다. 즉, 동일한 데이터를 가리키는 여러 개의 파일명이 존재하는 것입니다.
inode 란❓
Unix/Linux 파일 시스템에서 파일이나 디렉토리의 모든 메타데이터를 저장하는 데이터 구조입니다. 쉽게 말해서, 파일의 "신분증" 같은 것입니다.
주요 특징
- 원본 파일과 완전히 동일한 파일입니다
- 원본 파일이 삭제되어도 링크된 파일은 계속 사용 가능합니다
- 같은 파일시스템 내에서만 생성 가능합니다
디렉토리는 링크할 수 없습니다
생성 방법
ln 원본파일 링크이름
예를 들어, file1.txt의 하드 링크를 file2.txt로 만들고 싶다면 다음과 같이 작성할 수 있습니다.
ln file1.txt file2.txt
위와 같이 명령어를 실행하면 file1.txt와 file2.txt는 동일한 파일을 가리키며, 둘 중 하나를 수정하면 다른 파일도 동일하게 변경됩니다.
심볼릭 링크와 하드 링크의 차이점 한눈에 보기
구분 | 심볼릭 링크 (Symbolic Link) | 하드 링크 (Hard Link) |
개념 | 원본 파일의 경로를 참조하는 파일 | 원본과 같은 Inode를 가지는 파일 |
파일 존재 여부 | 원본 파일이 삭제되면 링크가 깨짐 | 원본 파일이 삭제되어도 유지됨 |
디렉토리 링크 가능 여부 | 가능 ✅ | 불가능 ❌ |
다른 파일 시스템에서 가능 여부 | 가능 ✅ | ❌ (같은 파일 시스템 내에서만 가능) |
Inode 번호 | 원본과 다름 | 원본과 같은 |
결론
- 심볼릭 링크
- 설정 파일을 공유하거나, 특정 실행 파일을 여러 위치에서 실행해야 할 때 사용
- 하드 링크
- 백업 파일을 만들거나, 하나의 파일을 여러 경로에서 동일하게 유지하고 싶을 때 사용
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.18 - 리눅스 : chown 명령어 알아보기 : -h옵션과 심볼릭 링크의 관계 (0) | 2025.02.18 |
---|---|
[TIL, 일일 회고] 2025.02.16 - MySQL 문자열 검색: LIKE, INSTR, REGEXP, SUBSTRING (0) | 2025.02.16 |
[TIL, 일일 회고] 2025.02.15 - MySQL에서 OR 연산자 이외의 조건문 활용법: IN, CASE WHEN, FIND_IN_SET (0) | 2025.02.15 |
[TIL, 일일 회고] 2025.02.14 - 리눅스 : umask 명령어란❓ (0) | 2025.02.14 |
[TIL, 일일 회고] 2025.02.13 - 리눅스 파일 접근 권한 이해하기 (0) | 2025.02.13 |