하드링크 vs 소프트링크(심볼릭 링크) - 이해하기



하드링크(Hard Link) vs 소프트링크(Soft Link, Symbolic Link) 비교표

구분 하드링크 (Hard Link) 소프트링크 (Soft Link / Symlink)
개념 같은 파일을 가리키는 “또 다른 파일 이름” 원본 경로를 가리키는 “바로가기(포인터)”
연결 대상 **inode(파일 자체)**를 공유 경로 문자열을 저장
inode 번호 원본과 같음 원본과 다름
파일 삭제 영향 원본을 삭제해도 다른 하드링크가 남아있으면 파일 데이터 유지 원본을 삭제하면 링크가 끊어짐(깨진 링크)
디렉터리 링크 일반적으로 불가(보안/순환참조 이슈) 가능
다른 파일시스템(파티션) 불가 (같은 파일시스템 내에서만) 가능 (다른 파티션도 경로만 알면 OK)
용량/크기 표시 링크도 일반 파일처럼 보임(실제 파일 데이터 공유) 링크 파일 자체 크기는 경로 길이만큼 작음
사용 목적 데이터 중복 없이 동일 파일을 여러 이름으로 관리 위치가 다른 파일/폴더를 쉽게 참조(바로가기)
대표 명령 ln 원본 링크이름 ln -s 원본 링크이름
예시 ln a.txt a_hard ln -s a.txt a_soft

한 줄 요약(암기용)

  • 하드링크: “파일 자체(inode)를 공유” → 원본 지워도 남음, 다른 파티션 불가

  • 소프트링크: “경로를 가리키는 바로가기” → 원본 지우면 깨짐, 다른 파티션 가능


시험/실무에서 자주 나오는 포인트

  • 하드링크는 inode 공유 → 링크 카운트(link count)가 증가

  • 심볼릭 링크는 경로 참조 → 원본 변경/이동/삭제에 취약(깨질 수 있음)

  • 디렉터리 링크: 심볼릭은 가능, 하드는 보통 불가


1) 실습으로 이해하기 (명령어 + ls -li 확인)

(1) 원본 파일 만들기

echo "hello" > a.txt

(2) 하드링크 / 소프트링크 만들기

ln a.txt a_hard
ln -s a.txt a_soft

(3) inode 확인 (ls -li)

ls -li a.txt a_hard a_soft

예시 출력(형태 이해용)

123456 -rw-r--r-- 2 user user  6 Dec  1 10:00 a.txt
123456 -rw-r--r-- 2 user user  6 Dec  1 10:00 a_hard
123789 lrwxrwxrwx 1 user user  5 Dec  1 10:00 a_soft -> a.txt

✅ 해석 포인트

  • a.txta_hardinode(첫 번째 숫자)가 같다하드링크

  • a_softinode가 다르고, -> a.txt처럼 가리키는 경로가 표시심볼릭 링크

  • 하드링크는 2처럼 링크 카운트가 증가(원본 포함 “이름” 개수)


2) 삭제 실험 (시험에 가장 많이 나옴)

(1) 원본 삭제

rm a.txt

(2) 다시 확인

ls -li a_hard a_soft
cat a_hard
cat a_soft

✅ 결과 정리

  • a_hard : 정상 동작 (데이터 유지됨)

  • a_soft : 깨짐 (원본 경로가 사라져서 “broken link”)


3) 기출 스타일 핵심 정리표

체크 포인트(자주 출제) 정답
하드링크는 무엇을 공유? inode(파일 자체)
심볼릭 링크는 무엇을 저장? 경로 문자열(바로가기)
원본 삭제 시 하드링크는? 다른 하드링크가 남으면 데이터 유지
원본 삭제 시 심볼릭 링크는? 깨진 링크 됨
다른 파일시스템(파티션) 링크 가능? 하드 ❌ / 심볼릭 ✅
디렉터리 링크 가능? 하드 ❌(보통) / 심볼릭 ✅
ls -li에서 하드링크 구분법 inode 번호 동일 + 링크 카운트 증가
ls -li에서 심볼릭 링크 구분법 파일 타입 l + -> 경로 표시

4) 미니 문제(정보보안기사 느낌)

Q1. 다음 중 원본 파일을 삭제해도 내용이 유지될 수 있는 링크는?

  1. 소프트링크 2) 하드링크
    ✅ 정답: 2) 하드링크

Q2. 서로 다른 파티션(/, /home 등) 간에도 만들 수 있는 링크는?

  1. 하드링크 2) 소프트링크
    ✅ 정답: 2) 소프트링크

Q3. ls -li에서 inode 번호가 같은 두 파일이 있다. 이는 무엇을 의미하는가?

✅ 정답: 서로 하드링크 관계(같은 파일 데이터를 공유)

Q4. 심볼릭 링크 파일의 권한이 lrwxrwxrwx처럼 보이는 이유는?

✅ 정답: 파일 타입이 **l(링크)**이며, 실제 접근 권한은 보통 원본의 권한/경로 접근에 의해 영향을 받음(링크 자체 권한은 의미가 작음)


댓글 쓰기

새 댓글을 작성할 수 없습니다.*

다음 이전