강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터2급강좌 : 파일과 디렉토리 개념잡기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터2급강좌 : 파일과 디렉토리 개념잡기


 

리눅스 시스템에는 일반 파일, 디렉토리 및 특수 파일의 3가지 종류의 파일이 있다.

 

종류

의미

일반 파일(regular file)

일반적으로 텍스트 파일이나 이진 파일을 나타냄

디렉토리 파일(directory file)

특별한 형식으로 디스크에 저장되며 디렉토리 명시적 시스템 호출을 통해서만 참조

특수 파일(special file)

프린터, CD-ROM, 디스크와 같은 주변 장치, 프로세스 간 상호 통신

1) 일반 파일

 

일반 파일(regular file)은 보통 우리가 평상시 쓰는 파일을 가리킨다.

 

 

 

 

문서 파일은 텍스트 파일과 이진 파일이 있다.

 

 

 

 

문서 파일은 키보드를 사용하여 입력한 값, ASCII 문자로만 구성된다.

 

 

 

 

ASCII 문자는 대소문자, 숫자, 공백, , 문장 부호 및 제어 문자를 포함하는 128개의 코드로 구성된다.

 

 

 

 

이러한 문서 파일은 간단한 문서, 메모, 쉘 스크립트를 만들 때 사용하는 “emacs”, “vi”, “cat” 등과 같은 프로그램에 의해 만들고 편집할 수 있다.

 

 

 

 

이에 대해 이진 파일은 위와 같은 문자가 아닌 컴퓨터가 이해할 수 있는 데이터 파일이 들어 있다.

 

 

 

 

보통 이진 파일은 01의 값으로 구성되며 컴퓨터가 데이터를 읽고 작업을 수행하므로 실행 파일이라고 부른다.

 

 

 

 

그렇지만 실행 파일 중에서도 쉘 프로그램 같은 경우에는 인터프리터(Interpreter)에 의해 실행되므로 실행 파일이지만 문서 파일이다.

 

 

 

 

2) 디렉토리 파일

 

디렉토리 파일(directory file)은 일반 파일과 마찬가지로 디스크에 저장되어 있으면서 다른 파일을 조작하고 액세스하는 데 필요한 정보를 가지고 있다.

 

 

 

 

보통 디렉토리는 파일을 포함하고 있다고 생각하면 된다.

 

 

 

 

디렉토리에 저장되어 있는 파일은 앞에서 설명한 보통 파일, 특수 파일, 디렉토리 파일이다.

 

 

 

 

그런데 실제로 디렉토리 안에 들어가 보면 실제 파일을 포함하고 있는 것이 아니라 리눅스가 파일을 액세스하는 데 필요한 정보를 가지고 있을 뿐이다.

 

 

 

 

 

 

또한 리눅스 시스템의 디렉토리 구조는 전체적으로 역 트리(tree) 구조를 하고 있다.

 

 

 

 

파일 시스템에서의 디렉토리는 서로 연관이 있는 파일들을 하나의 그룹으로 만들어서 저장할 수 있도록 구분된 공간을 의미하는데, 관련이 없는 다른 파일은 다른 디렉토리에 저장되어 섞이지 않게 한다.

 

 

 

 

이에 따라 계층적인 파일 시스템이 만들어진다.

 

 

 

 

루트(/)에서 크게 몇 가지의 주요한 디렉토리로 분할이 되고 특정한 디렉토리 하위에는 해당 디렉토리의 분류 기준에 따라 여러 가지 디렉토리들이 놓이게 된다.

 

 

 

 

이러한 디렉토리 구조를 파일체제(filesystem)라 한다.

 

 

 

 

그리고 다양한 리눅스 배포판들이 다양하게 발전함에 따라 파일체제를 체계화하여 1994214일에 처음으로 리눅스 파일체제 표준(Linux Filesystem Standard, FSSTND)”을 제정하였다.

 

 

 

 

그리고 1995년 초, BSD 개발 커뮤니티 구성원들의 도움으로 리눅스뿐만 아니라 유닉스와 유사한(UNIX-like) 시스템들을 아우르는 보다 포괄적인 버전을 개발하는 목표가 채택되어 개발 끝에 19971026일부터 파일체제 계층 표준(Filesystem Hierarchy Standard, FHS)이라는 이름으로 표준의 개발이 지속되고 있다.

 

 

 

 

이에 따른 리눅스상의 디렉토리 구조, 종류 및 특징은 제1장의 리눅스 디렉토리 종류와 특징부분을 참고하기 바란다.

 

만약 새로운 디렉토리를 만들면 기본적으로 “.”“..”이 현재 디렉토리 밑에 자동으로 생성된다.

 

 

 

 

“.”은 디렉토리 자신을 가리키며 “..”은 부모 디렉토리를 가리킨다.

 

 

 

 

이 두 가지는 사용자에 의하여 삭제될 수 없으며, 한 디렉토리에 이것만 존재하면 그 디렉토리는 빈 것으로 볼 수 있다.

 

 

 

 

다음은 새로운 디렉토리를 생성했을 때를 보여주고 있다.

 

 

 

 

 

[root@SUK121 ~]# cd /tmp

[root@SUK121 tmp]# mkdir temp

[root@SUK121 tmp]# cd temp

[root@SUK121 temp]# ls -al

합계 12

drwxr-xr-x 2 root root 4096 920 08:14 .

drwxrwxrwt 7 root root 4096 920 08:14 ..

[root@SUK121 temp]#

 

 

 

 





3) 특수 파일(장치 파일)

 

특수 파일(special file)은 리눅스가 자원을 관리하는 장치(device)를 가리킨다.

 

 

 

 

리눅스는 다른 모든 버전의 유닉스와 마찬가지로 하드웨어 장치들을 특수 파일로 보여준다.

 

 

 

 

그리고 리눅스 시스템에서 이러한 특수 파일은 /dev 디렉토리 아래에 위치한다.

 

 

 

 

예를 들어 하드 디스크 장치(Hard Disk Device)를 추가하면 “/dev/sda1”, “/dev/sda2” 등과 같이 사용한다.

 

 

 

 

여기에서 장치란 컴퓨터의 모든 자원, 즉 키보드, 마우스, 모니터, 디스크 드라이브 등이 될 수 있다.

 

 

 

 

다른 예를 들자면 /dev/null(Null) 장치이다.

 

 

 

 

장치 파일은 파일 시스템에서 아무런 데이터 영역도 차지하지 않는다.

 

 

 

 

단지 장치 드라이버로의 접근점일 뿐이다.

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,787 개
  • 현재 접속자 :  217 명