2swan
Linux 파일시스템과 Link 본문
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 |