본문 바로가기

컴퓨터공학/시스템 프로그래밍

하드링크와 소프트링크

반응형

복사

: 동일한 파일을 똑같이 생성하는것

cp [-옵션][원본파일이름][복사할파일이름]

(예 cp -rf source destination) r은 디렉토리 내부(서브디렉토리, 파일)까지 복사 , f은 force

 

하드링크 (파일만 가능, 디렉토리 X)

  • 동일한 inode를 가리키는 파일을 생성하는것
  • inode 파일이 10GB일때 하드링크를 하면 링크만 생성하여 연결하는것이라 파일 크기가 작으며(복사는 inode가 동일하게 복사되어 10GB + 10GB가 된다), inode 이름은 같다(ls -i로 조회가능)
  • 원본 파일을 수정할 시 동일하게 수정되며, 원본 파일을 삭제해도 inode는 남아있다 (inode 정보에 link count가 있어 하드링크를 한 상태면 하드링크가 다 사라질 때까지는 삭제 되지 않는다)

ln [원본파일이름][복사할파일이름]

(예 ln source.txt destionation.txt)

 

소프트링크

  • 윈도우의 바로가기와 동일하다
  • inode의 주소는 redirected path를 가리키고 있고 path는 data의 주소를 가리키고 있는 방식이다. 하드링크와 다르게 inode 이름은 다르다
  • 원본 파일을 수정하면 동일하게 수정되나 원본 파일을 삭제하면 정보가 남아있지 않다

ln [-s][원본파일이름][복사할파일이름]

(예 ln -s source.txt destionation.txt)

 

특별한 파일

  • 디바이스
    • 블록 디바이스 : HDD, SSD에 블록 또는 섹터 등 정해진 단위로 데이터 전송, I/O 송수신 속도가 높음
    • 캐릭터 디바이스 : 마우스나 키보드같이 바이트 단위로 전송, I/O 송수신 속도가 낮음

c는 캐릭터 디바이스, b는 블록 디바이스를 뜻한다

반응형

'컴퓨터공학 > 시스템 프로그래밍' 카테고리의 다른 글

프로세스 ID  (0) 2019.11.30
ABI와 표준  (0) 2019.11.30
foreground, background, 프로세스 관리  (0) 2019.11.29
표춘입출력 ,리다이렉션,파이프  (0) 2019.11.28
리눅스 기본구성  (0) 2019.11.28