목차
- 파일의 구성요소
- ubuntu란?
- 우분투 시스템 파일 구성요소
- 파일이름
- I-node
- 데이터 블록
- 파일의 종류
- 일반 파일
- 디렉터리와 파일 관리
- 절대 경로와 상대 경로
파일의 구성요소
ubuntu란?
- Linux 배포판 중 하나이다.
- 많은 교육용으로 사용된다.
- GUI를 사용하여 단추, 창, 텍스트 상자 등의 그래픽 구성요소를 사용하여 쉬운 작업 가능
- CLI를 통해 사용자는 명령어를 입력하고 신속하게 실행 가능
우분투 시스템 파일 구성요소

- 충족조건 : 파일 이름, I-node, 데이터 블록
- 파일 존재 가치 : 3대 충족 조건을 가져야 하는 전제 조건
파일 이름
- 파일 이름은 사용자가 파일을 사용 목적에 맞도록 사용하고 해당 파일에 정확하게 접근할 수 있는 변별력 제공
- 파일 조작 가능
- windows 운영체제에서는 파일의 속성에 따라 각각의 확장명이 있는데 ubuntu는 확장명을 제공 하지 않는다. 즉 파일을 구분을 위해 사용
I-node
- Index Node라고 불리며 파일을 기술하는 디스크 상에서의 데이터 구조를 의미
- 파일의 데이터 블록이 디스크 상의 어느 주소에 위치하고 있는지를 기록
- I-node 테이블 같은 곳에 순차적으로 쌓임
- I-node에 저장된 정보
- 파일의 종류
- 파일의 소유권(사용자와 그룹)
- 파일의 엑세스 모드
- 파일의 타임스탬프(파일 갱신일)
- I-node 테이블은 디스크의 공간을 의미
데이터 블록
- 데이터 블록은 파일에서 데이터를 저장하는 블록을 의미
- 데이터 블록의 분류
- 일반 파일
- 분류는 하지만 따로 구분해서 저장하지 않고 디스크에 차례대로 기록됨
- 파일을 구분하지 않으므로 파일을 구분할 수 있는 부가 정보가 필요한데 우분투에서는 I-node를 이용해 부가정보를 구별할 수 있도록 편리성 제공

파일의 종류
- 우분투에서 관리하는 모든 데이터는 파일로 인식
- 현재 실행중인 프로세스
- 우분투의 파일[^File] 종류
- 일반 파일
[^File]: 파일은 사용자가 이용할 수 있는 데이터의 실체를 의미

일반 파일
- 일반적으로 사용하는 파일을 의미
- 각종 실행 파일이나 텍스트 파일, 이미지 파일, 프로그램 소스 파일 등 우분투에서 사용하는 대부분의 파일을 의미
- 실행 파일이나 이미지 파일의 경우 데이터가 바이너리 형태로 저장됨
디렉터리 파일
- 디렉터리 역시 파일로 취급되며 하위 디렉터리에 대한 정보를 가지고 있음
- 일반 파일과 마찬가지로 디스크에 저장되어 다른 파일을 조작하고 엑세스하는데 필요한 정보를 가지고 있음
- 전체 파일구조는 디렉터리 파일의 의해 트리구조를 가짐
링크 파일
- 유닉스와 리눅스에는 링크라는 개념을 도입해 여러 개의 파일 이름이 하나의 I-node에 연결되어 수행하여 실제 파일이나 디렉터리 혹은 또 다른 링크를 가리킴
- 링크를 추가한다는 의미는 디렉터리의 엔트리를 만드는 것을 의미한다. 우분투에서 제공하는 링크 파일에는
하드 링크
와 심볼릭 링크
가 존재하여 링크 파일을 생성하기 위해서는 ln
명령어 사용
하드링크
- 원본과 동일한 사본 파일을 만드는 것을 의미
- 독립적인 파일로 만들기 때문에 하나를 삭제해도 나머지 하나는 그대로 남음
- 원본 파일의 내용이 변경될 경우 복사된 링크 파일의 내용 또한 변경됨(I-node 정보를 공유하기 때문)
- 명령어 : ln (원본 파일명) (하드링크할 파일명)

심볼릭 링크
바로가기
기능 같은 느낌
- 심볼릭 파일을 삭제해도 원본 파일에는 아무런 영향이 없음
- 명령어 : ln -s (원본 파일명) (심볼릭링크 파일명)

특수 파일
- 파이트, 소켓, 디바이스(주변 기기)를 의미
- 디바이스는 windows운영체제에서 하드디스크가 C:, D:, E: 등으로 표시되지만 우분투에서는 /dev/hda1, /dev/hda3과 같이 표시됨
디렉터리와 파일 관리
-
트리 형태로 사용목적에 따라 디렉터리 구분

-
루트 디렉터리 : 상위 디렉터리
-
서브 디렉터리 : 하위 디렉터리
-
작업 디렉터리 : 현재 사용중인 디렉터리, 점(.)으로 작업중을 표시
-
홈 디렉터리 : 각 사용자에게 할당되는 디렉터리, 사용자 계정을 처음 만들 때 지정
절대 경로와 상대 경로
- 절대 경로
- 절대 경로는 반드시 루트(/) 디렉터리 위치부터 시작해야함
- 상대 경로
- 현재 디렉터리는 기준으로 이동