본문 바로가기

리눅스/CentOs (Rocky 8 )

[리눅스] 링크 (하드 링크와 심볼릭 링크)

링크

  • 리눅스 초기 공유 디렉터리의 수정은 불가능하지만 삭제는 가능한 문제점의 대안으로 사용되었음.
  • 리눅스에서 파일이나 디렉터리를 생성하면 i-node 라는 번호가 임의로 부여됨.
    • i-node가 같으면 파일명은 달라도, 내부적으로는 같은 파일로 인식됨. 
    • ls -i 로 확인 가능.
  • 종류
    • 하드 링크
      • 하나의 동일한 파일을 다른 이름으로 여러곳에서 사용하는 것.
      • ln    파일명       하드 링크 파일명
      • ex) ln    a.txt    a
    • 심볼릭 링크 (소프트 링크)
      • ln -s    파일명       심볼릭 링크 파일명
      • ex) ln -s    a.txt    a

 

# 하드 링크 vs 소프트 링크 ( 심볼릭 링크) 

  하드 링크 심볼릭 링크(소프트 링크)
설정 가능한 곳 파일만 파일 or 디렉터리 
(일반적으로는 디렉터리에 주로)
i-node 번호 원본 = 링크 파일 원본 =/= 링크 파일 
원본과의 크기 원본 = 링크 파일  원본 =/= 링크 파일 
→ 링크 파일 용량이 더 매우 작음. 
원본 or  링크 파일 수정시  같이 반영  같이 반영 
원본 삭제시  링크파일 문제 없이 사용 가능. 영향 X. 링크 파일 구실 못함. 
(바탕 화면 바로가기 같은 거)
기타 
  • 링크 복사본 개수에 따라 ls -l 출력되는 링크의 숫자 올라감. 
  • 파티션 or 디스크 드라이브 가로질러서 사용 X!
  • 링크 파일 생성시 링크 파일 퍼미션 값은 777
→ 원본 파일의 퍼미션과는 전혀 관련 X. 
  • ls -l시 권한 맨 앞이 ‘l’rwx 와 같이 표현됨. 

 

# 예제

ls -il
→ i-node 번호 확인 


ln    파일명     하드링크파일명
ln a.txt a
→ 하드링크 파일 생성


ln -s a.txt a
ln    -s     파일명     소프트링크파일명
→ 소프트링크(심볼릭링크) 파일 생성


ln -s /etc/passwd    user
→ /etc/passwd 파일의 심볼릭 링크 파일인 user을 현재 디렉토리에 생성한다.

 

 

# a.txt의 하드 링크인 a1과 심볼릭 링크인 a2의 ls -il 결과 비교 

  • a2라는 파일은 a.txt의 심볼릭 링크임을 알려줌. 
  • a1은 하드링크이기 때문에, 원본과 하드링크 파일인 a1의 링크 숫자도 올라감. 
  • a1과 원본의 i-noed 번호가 같은 것이 확인됨. 
  • a1과 원본의 크기 또한 0바이트로 같은 것이 확인됨.

 

'리눅스 > CentOs (Rocky 8 )' 카테고리의 다른 글

[리눅스] 디스크 쿼터 disk quota  (0) 2024.08.12
[리눅스] swap  (0) 2024.08.12
[리눅스] umask***  (0) 2024.07.30
[리눅스] chmod / chown / chgrp  (0) 2024.07.30
[리눅스] 소유권과 허가권 개념  (0) 2024.07.26