파일에 대해 먼저 어떤 것이 있는지 개략적으로 이해하시면 리눅스 공부하실 때 수월합니다.
파일이나 권한 등 아래에 나오는 것들 다 목록에 찾으면 공부하실 수 있습니다.
○ I-node 란?
▷ Index Node 약자
▷ 리눅스의 파일, 디렉토리들은 생성하면 i-node 값을 가진다.
▷ 리눅스 계열의 OS에서 각 파일이 만들어질 때 OS에 의해 부여되는 고유 번호
▷ 가지고 있는 데이터(파일)을 빠르게 찾기 위해 순서대로 정리한 것
아래 그림을 참고하면 됩니다. 요런 형태입니다.
● I-node 구성
파일들의 정보가 inode입니다.
파랑색으로 파일이름이 되어있으면 디렉토리 입니다. (설정에 따라 색이 다를 수 있습니다.)
I-node의 구성은 맨 앞부터
▷ 파일형식 (d디렉토리, -일반파일, l링크파일, b블록파일, c문자파일, p파이프파일, s소켓파일)
▷ 권한(user, group, other)
▷ 링크 수
▷ 파일 소유자
▷ 파일 그룹
▷ 파일 크기
▷ 파일 만들어진 시간
▷ 파일 이름
구성은 이렇고 I-node의 고유 번호도 있습니다.
-i 옵션을 추가하셔서 리스트를 보시면 나옵니다.
# ls -il 명령어로 확인
아래 화면에서 맨 앞에 나오는 것이 I-node 고유 번호 입니다.
○ 소프트 링크 파일 vs 하드 링크 파일
위의 그림을 참고하여 이해하면 좋습니다.
이 글에서 블록에 대한 설명은 생략하겠습니다.
파일 시스템편을 보시면 블록에 대해 나옵니다.
● 소프트 링크란 ?
▷ 같은 말로 심볼릭 링크 라고도 함
▷ 실체가 없고 원본과 연결된 파일 (=어떤 파일과 연결된 상징적인 파일)
▷ 쉽게 말해 window의 바로 가기 개념이랑 유사
▷ 소프트 링크를 설정하면 i-node가 새로 만들어짐
▷ 위의 그림처럼 원본을 가리키는 포인터가 포함된 특수 파일을 생성
▷ 소프트 링크는 편집을 하면 참조하고 있는 파일도 같이 편집이 이루어짐
▷ 소프트 링크를 삭제하면 링크만 삭제되고 파일은 남아있음
▷ 원본 파일이 삭제되면 링크 파일이 깨짐
● 하드 링크란 ?
▷ 실체가 있고 원본과 연결된 파일
▷ i-node 번호에 직접 연결되어 만듬
▷ 하드 링크는 이름만 다른 파일이 생성된다. (파일 경로 다르면 이름도 같을 수 있음)
▷ 이름 빼고 모든 속성이 똑같고, 링크된 파일 속성 변경하면 다른 파일도 속성 변경된다.
▷ 원본 파일이 삭제되어도 링크 파일이 남아있다.
● 링크 파일 생성
▷ # In [옵션] [기존 파일 경로] [링크 파일의 경로] : 명령어로 심볼릭 링크(=소프트 링크) 생성
(옵션을 사용하지 않을 경우에는 하드 링크 파일이 생성됩니다.)
▷ 옵션 소개 (자주 쓰는 3개만 소개)
-s (symbolic or soft) : 링크할 원본이 심볼릭 링크된 파일이면, 그 파일을 링크한다.
심볼릭 링크 생성 할 때 사용하는 옵션
-d (directory) : 디렉토리의 하드 링크를 생성(root계정만 가능)
-f (force) : 링크 파일 존재 시에 삭제하고 생성
-b (backup) : 대상 파일이 이미 존재할 경우에 백업 파일을 만든 후에 링크 파일 생성
● 하드 링크와 소프트 링크 차이점
하드 링크 소프트 링크
▷ 파일에만 링크 가능 파일 or 디렉토리 링크 가능
▷ 연결되어 있는 파일이 뭔지 연결되어 있는 파일 찾기 쉬움
알기 힘듬
▷ 같은 파일 시스템끼리만 다른 파일 시스템 간에서도 작성 가능
작성 가능
▷ 원본과 i-node 같음 원본과 i-node 다름
★ 링크를 사용하는 이유 ★
- 경로 단축을 위해 심볼릭 링크 설정
- 데이터 안전하게 보관하고 싶을 경우
- 통일성을 위한 경우도 있다고 함
○ 파일 이름으로 구분
▷ window에는 파일 확장자 정말 중요하다.
.txt(텍스트)이냐 .avi(동영상)이냐 에 따라 아예 달라지기 때문이다.
▷ 리눅스에서는 확장자를 나타내는 이름이 없다.
그래서 파일 이름이 굉장히 중요하다.
▷ 파일 이름으로 어떤거에 사용하는지 알 수 있게 이름을 지어야한다.
▷ /etc에 이동하여 ls 명령어로 파일들을 확인해보면서 직접 눈으로 봐야 이해가 빠릅니다.
예시) .conf / .cfg 는 configuration(설정)의 약어입니다.
.d는 두가지의 경우로 나누어 집니다.
① 디렉토리 파일(d)에 .d가 있으면 디렉토리(directory)라는 뜻입니다.
② 실행 파일(-)에 .d가 있으면 데몬(daemon)라는 뜻입니다.
.srv 는 service와 같은 의미로 데몬이랑 유사하게 쓰입니다.
(데몬과 서비스 거의 같다고 생각하시고 공부하시면 됩니다.)
.repos 는 저장소 라는 뜻입니다.
댓글