[Linux] 10. 링크 파일 (Link File)
링크 파일 (Link File)
inode
• 유닉스 계열에서 파일을 관리하기 위해 사용하는 '파일에 대한 정보가 들어있는 파일'
• 각 파일은 고유의 inode를 가지고 있음.
• 파일이 갖고 있는 inode 안에는 그 파일에 대한 권한, 소유자, 파일의 실제 데이터가 들어있는 주소, 파일 생성/접근 시간 등이 들어있음.
• index node
• inode는 자신만의 고유 식별 번호가 존재함.
- ls -i 명령어를 통해 각 파일들이 가진 inode의 고유 번호를 확인할 수 있음.
- mv 명령어를 통해 파일을 이동시키면 inode가 같음. 즉, 같은 파일이 위치만 이동함.
- cp 명령어를 통해 파일을 복사하면 두 파일은 inode가 다름. 즉, 복사하여 내용은 같지만 완전 다른 파일이 하나 만들어짐.
링크 파일
• 윈도우의 바로가기같은 역할
• ln 명령어를 통해 생성
• 심볼릭 링크 (Symbolic Link)
- -s 옵션으로 생성 가능
- 원본 파일과 이어지는 바로가기 파일 생성
- inode 번호가 다른 하나의 바로가기 파일이 원본 파일을 가리키고 있는 형태
- 링크 파일을 실행하면 원본 파일로 이동하여 원본 파일이 실행됨.
- 원본 파일이 삭제된다면 사용할 수 없음.
• 하드 링크 (Hard Link)
- 같은 inode 파일을 가지는 새 파일 생성
- inode 파일을 공유하기 때문에 실제 데이터 주소도 공유됨.
- 링크 파일을 수정하면 원본 파일도 수정됨.
- 원본 파일이 삭제되어도 링크 파일이 하나라도 존재하면 데이터가 삭제되지 않고 사용할 수 있음.
- 하나의 파일에 이름을 여러 개 지어주는 별칭 (Alias) 효과
이 글은
유튜브 뉴렉처 리눅스(Linux) 서버 강의/강좌 for 개발자
강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.