2swan

Linux 파일시스템과 Link 본문

System of Infra/Linux

Linux 파일시스템과 Link

2swan 2024. 10. 11. 14:22

Linux에서는 copy -a 옵션으로 파일의 metadata까지 복사가 가능하다

 

1. 파일의 Metadata

파일의 metadata란

파일의 권한, 소유자 정보, MAC time 등의 상세 정보

 

MAC time

M : Modification time 수정 시간

A : Access time 접근 시간

C : Change time (속성, 권한)변경 시간

 

stat [파일 이름] 으로 확인 가능

metadata에서의 시간은 마지막으로 수정한 시간이며, 모든 파일에는 inode 번호라는 데이터가 존재한다

 

 

inode number

Linux에서 파일과 디렉토리를 관리하는 고유한 번호로 data의 위치를 가리킨다

ls -il로 inode 확인 할 수 있다

 

Link

Linux에서는 파일 자체를 복사하지 않고도 링크를 걸어 파일을 가리킬 수 있다

링크를 이용하면 필요한 library를 불러다가 사용할 수 있으므로 시간을 훨씬 단축할 수 있다

 

링크는 Hard Link와 Symbolic Link로 나뉜다

 

Hard Link

ln [원본 파일] [대상 파일]

하드 링크는 inode number가 동일한 완벽하게 같은 파일을 생성한다(inode number 공유)

하지만 동일한 partition / 동일한 file sysyem을 사용해야 하며 디렉토리는 link가 불가능하다는 제약이 있다

 

Symbolic Link

ln -s [원본파일] [대상 파일]

 

심볼릭 링크는 Windows의 바로가기 아이콘과 유사하다

대상 파일이 원본 파일의 이름을 참조하는 구조이며, 따라서 원본 파일 이름이 삭제될 경우 더 이상 파일을 참조할 수 없다

 

 

원본 파일 내용 변경

- hard link, symbolic link 파일 모두 변경

 

원본파일 삭제 = 원본 파일 이름 삭제

- hard link : inode를 통해 원본 파일이 저장된 주소를 찾아내므로 지워지지 않고 유지

- symbolic link : 링크 참조 불가

 

원본 파일 삭제 후 같은 이름의 파일 생성

- hard link : inode가 달라지므로 처음 생성한 원본 파일로 유지

- symbolic link : 파일 이름만 참조하므로 새로운 aaa.txt를 만들어도 그대로 연결

 

파일을 삭제해도 모든 data가 완전히 사라지지 않기 때문에 원본 파일이 삭제되어도 hard link로 접근이 가능하다. 따라서 파일이 삭제되었더라도 inode 기반의 metadata를 통해 원본의 복구가 가능하다

'System of Infra > Linux' 카테고리의 다른 글

bashsrc, bash_profile  (0) 2024.10.14
swp 파일  (0) 2024.10.14
Linux vi 편집기  (0) 2024.10.11
Linux 기본 명령어  (0) 2024.10.10
리눅스 fdisk 및 mount 설정  (0) 2024.10.07