[Linux] 리눅스의 특징, 리눅스 표준 디렉터리

rul9office·2021년 6월 19일
0

리눅스 특징

리눅스는 유닉스를 모델로 삼아 만들어진 운영체제로 유닉스와 유사한 특징을 가지고 있지만 리눅스만의 독특한 특징을 가지기도 한다.

(1) 리눅스는 다중 사용자와 멀티태스킹을 지원하는 운영체제이다.

다중 사용자의 지원

허가된 계정을 가진 다수의 사용자가 동시에 같은 컴퓨터 시스템에 로그인하여 문서를 작성하고 프로그램을 개발하며 인터넷을 검색하는 등 작업을 동시에 수행할 수 있는 것을 말한다.

이 때 컴퓨터 시스템의 운영체제는 제한된 컴퓨터 자원을 최대한 효율적으로 활용하고 공유하게 함으로써 시스템 전체의 사용 효율을 높여야한다. 

멀티태스킹의 지원

여러 개의 작업이 일정 시간 간격동안 동시에 실행될 수 있음을 의미한다.

각 작업은 교대로 컴퓨터의 자원을 사용할 수 있어야 하고 다른 작업으로부터 보호되어야 한다.

태스크란 운영체제가 제어하는 프로그램의 실행 단위를 의미한다.

(2) 뛰어난 이식성 제공

다양한 종류의 하드웨어 플랫폼에서 사용될 수 있으며 임베디드 시스템과 멀티 프로세서의 운영체제로도 사용된다.

우수한 이식성으로 인해 사용자나 관리자는 새로운 운영체제를 다시 학습할 필요가 없고, 데이터나 프로그램을 공유할 수 있다.

(3) CUI와 GUI 제공

키보드를 통해 문자를 입력해서 명령을 실행하는 방식인 CUI (Character User Interface)와 GUI 환경을 제공한다.

리눅스 표준 디렉터리

(1) 루트 디렉터리 (/)

마운트되는 모든 파일 시스템을 포함하는 디렉터리로, 파일 시스템에 존재하는 모든 파일의 조상이 되는 최상위 디렉터리이다.

파일이나 디렉터리의 절대 경로를 표기할 때 루트 디렉터리부터 시작한다.

(2) 바이너리 디렉터리 (/bin과 /sbin)

리눅스의 기본적인 실행 명령어를 포함하는 디렉터리이다. 사용자 명령어인 ls, cat, cp 등의 실행 프로그램들은 /bin에 위치한다.

부팅 과정에서 필요한 명령이나 관리자용 명령어인 fsck, shutdown 등의 실행 프로그램들은 /sbin에 위치한다.

(3) 부트 디렉터리 (/boot)

리눅스가 부팅될 때 필요한 파일을 포함하는 디렉터리로 부트 로더의 설정 파일과 커널 이미지 (vmlinuz)가 위치한다.

부팅 시 매우 중요한 디렉터리이므로 확실한 이유가 없다면 변경하지 말아야 한다.

(4) 디바이스 디렉터리 (/dev)

디바이스 드라이버들과 관련된 파일들을 저장하는 디렉터리이다. 모든 하드웨어는 이 디렉터리에 있는 파일을 통해 접근할 수 있다.

예를 들면 /dev/input/mice 에 접근함으로써 마우스로부터 입력되는 정보를 읽어올 수 있는 것과 같다.

(5) 시스템 설정 파일 디렉터리 (/etc)

리눅스 시스템에서 가장 중요한 디렉터리라고 할 수 있다. 이 디렉터리에는 시스템의 중요한 환경 설정 파일이 있다.

메일이나 웹 서버와 같은 서버 프로그램의 설정 파일이나 시스템의 초기화 스크립트가 위치한다.

또 사용자 계정 정보를 가지는 passwd 파일, 파일 시스템 정보를 가지는 fstab 파일 등도 위치한다.

(6) 사용자 계정 디렉터리 (/home)

시스템 관리자에 의해서 생성되는 사용자 계정의 홈 디렉터리가 위치하는 디렉터리이다.

예를 들어 'yrkim' 이라는 사용자 계정을 추가하면 디렉터리 /home/yrkim 이 생성되고 사용자 'yrkim'의 홈 디렉터리가 된다.

(7) 공유 라이브러리 디렉터리 (/lib)

/bin 이나 /sbin 에 있는 프로그램들이 의존하는 라이브러리 파일들이 있는 중요한 디렉터리이다.

소프트웨어 패키지를 설치할 때가 아니면 이 디렉터리는 거의 변하지 않는다.

(8) 미디어 디렉터리 (/media)

USB 메모리나 CD/DVD-ROM과 같은 탈부착이 가능한 저장 장치가 자동으로 마운트될 때 마운트 지점을 제공하는 디렉터리이다.

미디어가 볼륨 이름을 가진다면 대개 그것이 마운트 지점의 이름으로 사용된다.

(9) 시스템 정보 디렉터리 (/proc)

커널이 사용하는 가상의 파일 시스템으로 메모리나 CPU와 같은 시스템 자원에 관한 정보, 실행중인 프로세스에 관한 정보, 커널에 관한 정보를 갖는다.

(10) 루트 계정의 디렉터리 (/root)

루트 계정, 즉 사용자 계정 (또는 사용자 아이디)이 root인 사용자의 홈 디렉터리이다. 루트 디렉터리 (/)와 혼동해선 안된다.

보안상의 이유로 이 디렉터리를 일반 사용자의 홈 디렉터리가 위치하는 /home 하위에 두지 않는다.

(11) 사용자 디렉터리 (/usr)

리눅스 핵심 명령 이외의 대부분의 사용자 명령, 게임, X 윈도우 시스템, 온라인 매뉴얼 등을 포함하는 디렉터리로 기능에 따라 여러 하위 디렉터리로 분류된다.

/usr/bin - 압축이나 네트워크 관련 실행 파일 등이 있다.

/usr/sbin - 주로 이메일이나 네트워크와 관련된 관리자용 실행 명령과 실행 데몬들이 있다.

/usr/include - C나 C++ 프로그램의 헤더 파일들이 있다.

/usr/lib - /lib과 마찬가지로 /usr/bin과 /usr/sbin에 있는 실행 바이너리를 위한 라이브러리들이 있다.

(12) 가변 자료 저장 디렉터리 (/var)

시스템 운영 중에 필요한 가변 자료들을 저장시키는 디렉터리이다.

주로 시스템 운영 로그나 스풀 디렉터리 또는 임시 파일을 기록하는 데 사용된다. 

메일 서버, 웹 서버, ftp 서버로 운영할 때는 해당 하위 디렉터리를 두고 사용자 메일박스, 웹콘텐츠, 공유 파일을 기록하기 위해 사용한다.

profile
Brings a positive attitude, loves challenges, and enjoys sharing knowledge with others.

0개의 댓글