본문 바로가기
서버/Linux

[Linux] 파일 링크 (심볼릭 & 하드)

by 느링 2017. 9. 19.

리눅스 파일의 구성

 

1. 리눅스 파일

리눅스의 파일은 "파일명 + inode + 데이터블록" 으로 구성됩니다.

 

- 파일명 : 사용자가 파일에 접근할 때 사용하는 파일의 이름입니다.

 

- inode : 파일에 대한 정보를 가진 특별한 구조체로서 외부적으로 번호로 표시되고,

            내부적으로는 파일의 종류 및 크기 소유자, 허가권, 파일 변경 시간 등 파일 상세 정보와 데이터 블록의 주소가 저장되어 있습니다.

 

- 데이터 블록 : 파일은 실제 하드디스크상데이터 블록이라는 단위로 저됩니다.

 

2. 링크파일

파일 시스템 상에 존재하는 파일 / 디렉토리에 대한 바로가기 (shortcut)를 만들 때 사용되는 파일 (=기존에 있는 파일에 새로운 파일명을 붙이는 것)

 

① 심볼릭 링크 ( = 소프트 링크, soft link )

ln -s [대상 파일] [링크 파일]

- 파일을 가리키는 포인터가 있는 작은 파일을 생성 (바로가기 아이콘과 비슷)

- 원본 파일을 가리키는 새로운 파일을 생성

- 원본을 다른 곳으로 이동시키면 사용 못함

- 새로운 inode 생성

- 원본을 수정하면 수정된 내용이 보임

- 파일 시스템이 달라도 관계없음

    

 

이렇게 긴 대상파일 경로를 명령어 사용으로 줄입니다.

 

② 하드 링크 (hard link)

ln [대상 파일] [링크 파일]

- 기존 파일에 새로운 파일의 이름을 추가로 생성

- 동일한 inode 사용 (같은 파일)

- 원본 수정 시 하드 링크도 수정됨

- 원본 삭제 시 살아있음

- 원본의 이동이나 삭제 시 남아있음

- 동일한 파일 시스템에만 적용됨

- 파일 복사와 차이는 하드디스크에 공간을 차지하지 않는 것임

 

 

 

'서버 > Linux' 카테고리의 다른 글

[Linux] SSH 배너 설정  (0) 2017.09.21
[Linux] vi(visual editor) & vim(vi improved)  (0) 2017.09.19
[Linux] (기본명령어) grep / watch  (0) 2017.09.19
[Linux] Xshell 기능  (0) 2017.09.14
[Linux] 기본 명령어 (2)  (0) 2017.09.14