1.2.1 디렉토리 구조

 

- 리눅스 시스템의 디렉토리 구조는 전체적으로 역 트리(tree) 구조를 하고 있다. 루트(/)에서 크게 몇 가지의 주요한 디렉토리로 분할이 되고 특정한 디렉토리 하위에는 해당 디렉토리의 분류 기준에 따라 여러가지 디렉토리들이 놓이게 된다.

- 이러한 디게토리 구조를 파일체제(filesystem, 파일시스템)라 한다.

 

1.2.2 디렉토리의 종류와 특징

 

/ 디렉토리

 

- 리눅스 파일체제의 최상위 디렉토리는 /(루트)이다. 이것은 리눅스의 모든 디렉토리들의 시작점이며, 모든 디렉토리는 절대 경로로 표기할 때에 이 디렉토리부터 시작한다.


/bin 디렉토리

 

- 기본적인 명령어가 저장된 디렉토리. mv, cp, rm, rmdir, df, sync 등과 같은 명령어들이 이 디렉토리에 존재.

이 디렉토리 대부분의 명령어들은 root 사용자 뿐만 아니라 일반 사용자들도 사용할 수 있다.

* CentOS 7 부터는 /usr/bin 으로 심볼릭 링크 되어있다.

 

/boot 디렉토리

 

- 리눅스 부트로더(Boot Loader)가 존재하는 디렉토리. 즉, GRUB와 같은 부트로더에 관한 파일들(예를 들어 grub.conf)이 이 디렉토리에 존재한다.

- 리눅스 커널은 / 디렉토리나 /boot 디렉토리에 존재해야 한다. 별도의 파티션 할당을 권장한다.

 

/dev 디렉토리

 

- 시스템 장치(device) 파일을 저장하고 있는 디렉토리. 즉, 하드디스크 장치파일(/dev/sda), CD-ROM 장치파일(/dev/cdrom) 등과 같은 장치 파일들이 존재하는 디렉토리이다.

 

/etc 디렉토리

 

- 시스템의 거의 모든 설정 파일이 존재하는 디렉토리이며, 바이너리 파일은 존재하지 않도록 한다.

- /etc/passwd(패스워드 파일), /etc/group(그룹 파일), yum 설정파일, xinted 설정 파일, vsftpd 설정파일, /etc/sysconfig(시스템 제어판용 설정파일) 등과 같이 거의 모든 시스템 관련 설정 파일이 존재한다.

 

/lib 디렉토리

 

- 커널 모듈 파일과 라이브러리 파일들이 존재한다. 즉, 커널이 필요로 하는 커널 모듈 파일들과 프로그램(C, C++ 등)에 필요한 각종 라이브러리 파일들이 존재하는 디렉토리이다.

* CentOS 7부터는 /usr/lib 으로 심볼릭 링크되어 있다. 64Bit의 경우 /lib64 디렉토리가 있고 이 또한 CentOS 7부터는 /usr/lib64로 심볼릭 링크되어 있다.

 

/media 디렉토리

 

- DVD, CD-ROM, USB 메모리 스틱과 같은 탈부착이 가능한 장치들의 마운트 포인트(mount point)로 사용되는 디렉토리이다. 이에 대해 리눅스 운영체제는 /mnt 디렉토리가 같은 비슷한 용도로 사용된다. 즉, /mnt 디렉토리도 탈부착이 가능한 마운트 포인트로 사용된다.

 

/opt 디렉토리

 

- 추가적인 소프트웨어를 설치하는 디렉토리이다. 그러나 실제로는 대부분의 추가적인 소프트웨어들이 /usr 디렉토리 아래에 설치된다.

 

/sbin 디렉토리

 

- 시스템 관리를 위해 사용되는 유틸리티들과 기타 root만을 위한 명령어들은 /sbin, /usr/sbin 및 /usr/local/sbin에 저장된다. 이 중에서 /sbin 디렉토리는 /bin 디렉토리의 바이너리들에 더하여 시스템을 부팅, 복원 복구 및 수리하기 위해 중요한 바이너리들을 포함한다. CentOS 7부터는 /usr/sbin 으로 심볼릭 링크되어 있다.

 

/srv 디렉토리

 

- 시스템에 의해 제공되는 서비스들에 대한 자료

 

/tmp 디렉토리

 

- 임시 파일들이 저장되는 공간이다. 공용 디렉토리로서 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리이다. mysql에서 사용하는 mysql.sock과 같은 소켓 파일 등 시스템의 일반적인 사용자 또는 각종 프로세스에서 사용하는 파일들이 생성되는 위치이기도 하다.

 

/usr 디렉토리

 

- 2차적 디렉토리 체계로서, 시스템이 아닌 일반 사용자들이 주로 사용하는 디렉토리.

 

* /usr 디렉토리에 존재하는 디렉토리들

/usr/bin 대부분의 사용자 명령어가 포함되어 있다. perl, python, tclsh, wish, expect, chsh, cpp, crontab, du, find 등과 같이 일반 사용자들이 사용할 수 있는 명령어들이 위치한다.
/usr/include C, C++ 프로그램에 의해 포함되는 헤더파일들, 즉 시스템이 일반적으로 사용하는 include 파일들이 존재
/usr/lib 프로그래밍과 패키지들을 위한 라이브러리들이 존재하는 디렉토리이다.
/usr/local 로컬 디렉토리 체계이며, 해당 컴퓨터에서 사용할 소프트웨어를 시스템 관리자가 설치하는 디렉토리이다. /usr의 소프트웨어를 대체하거나 업그레이드하기 위해 설치하는 것이 아니라면 시스템에 설치되는 소프트웨어는 이 디렉토리에 설치되도록 한다.
/usr/sbin 시스템 관리자에 의해서 사용되는 비중요 시스템 바이너리들이 존재한다. 시스템 수리, 복구, /usr 마운팅을 위해 필요한 시스템 관리 프로그램들 또는 다른 주요한 기능들이 /sbin을 대신하여 존재한다.
/usr/share 모든 읽기만 가능한 아키텍처 비의존 자료들이 존재. man과 misc 디렉토리를 포함하고 있고, 관련 소프트웨어의 설치 여부에 따라 dict, doc, games, info, locale, nls, sgml, terminfo, xml 및 zoneinfo 디렉토리가 포함된다.
/usr/src 리눅스 커널 등의 소스코드가 포함된 디렉토리이다.

 

 

/var 디렉토리

 

 - 시스템 운용 중에 생성되었다가 삭제되는 자료, 즉 가변 자료들을 저장하기 위한 디렉토리이다.

 - 스풀 디렉토리와 파일, 관리 및 로깅 자료 및 일시적이고 순간적인 파일들.

 - 예를 들어 대부분의 시스템 로그 파일을 /var/log 에 저장된다.

 

/home 디렉토리

 

 - 사용자의 홈 디렉토리들이 위치한다(옵션). useradd 명령어로 새로운 사용자를 생성하면 대부분 사용자의 아이디(ID)와 동일한 이름 디렉토리가 /home 디렉토리 아래에 생성된다.

 

/root 디렉토리

 

 - root 사용자를 위한 홈 디렉토리이다.

 

/proc 디렉토리

 

 - 커널과 프로세스 정보를 위한 가상 파일 시스템이다. 이 디렉토리 아래에는 현재 메모리에 존재하는 모든 작업들이 파일 형태로 존재한다. 디스크 상에 실제 존재하는 것이 아니라 메모리상에 존재하므로 가상 파일 시스템이라고 한다.

 

 

 

 

 

 

 

'리눅스 ( Linux ) > 리눅스' 카테고리의 다른 글

원격 접속 SSH  (0) 2020.03.23
원격 접속 VNC  (0) 2020.03.22
root의 개념  (0) 2020.03.18
Buffer Memory와 Cache Memory의 차이점  (0) 2020.03.16
Raid 구성  (0) 2017.04.12
복사했습니다!