Red Hat Linux

RedHat OS에서 파일 간 링크 만들기 (file Link, Hard Link, Symbolic Link)

seongduck 2025. 2. 16. 18:08

RedHat OS에서 파일 간 링크를 만들어 보겠습니다.

필자의 OS 버전은 RedHat 8.10 입니다.


1) 파일 간 링크 만들기

파일 링크란?

  • 동일한 파일을 가리키는 여러 개의 파일 이름을 생성하는 것
  • 하드 링크와 심볼릭 링크라는 두가지 유형으로 생성할 수 있다.

 

1-1) 하드 링크 확인

우선 예제 텍스트 파일을 만들고 하드 링크를 확인해보겠습니다.

 

아래의 명령어를 통해, test.txt를 만들고 상태 정보를 확인해 보겠습니다.

cd /home/user
vi example.txt

ls -l example.txt

정확히 1개의 절대 경로가 있는 것을 확인할 수 있습니다.

 

1-2) 하드 링크 생성

ln 명령을 사용하여 기존 파일을 가리키는 하드 링크를 생성할 수 있습니다.

우선 /tmp 디렉터리에 abc.txt 파일을 만들고, 해당 파일에 대해 abc-hlink.txt라는 하드 링크를 생성해겠습니다.

 

하드 링크 생성

cd /tmp

ln abc.txt /tmp/abc-hlink2.txt #하드 링크 2개 생성

ls -l abc.txt #하드 링크 확인

2개로 바뀐 것을 볼 수 있습니다.

 

abc.txt와 abc-hlink2.txt가 하드 링크된 파일인지 확인하는 방법은?

ls -il abc.txt ./abc-hlink2.txt

위의 명령어로 한번에 확인할 수 있습니다.

이렇게 inode 번호가 동일하면 동일한 데이터 파일 내용을 가리키는 하드 링크입니다.

 

원본 파일이 삭제된 경우에도 적어도 하나의 하드 링크가 있으면 액세스할 수 있습니다.

모든 하드 링크가 삭제되어야, 스토리지에서 데이터가 삭제됩니다.

 

 

2-1) 심볼릭 링크 만들기

심볼릭 링크는 서로 다른 파일 시스템에 있는 두 개의 파일을 연결할 수 있습니다.
또한, 일반 파일뿐만 아니라 디렉터리나 특수 파일을 가르킬 수 있습니다.

 

심볼릭 링크 생성하기

ln -s /home/user/symbol.txt /tmp/symbol-hlink.txt #ln -s로 다른 시스템의 두 곳에 바로 생성

ls -l symbol.txt /tmp/symbol-hlink.txt #확인