Linux

리눅스 디렉토리 종류 설명

refer 2024. 7. 31. 13:44
반응형

[용어]

 

심볼릭 : 이 링크는 원본파일 경로와 같은 직접 사용하는 것과 같은, 효과를 나타내는 참조를 포함하고 있는 주소이다.

              예) 원본경로     : /bin 

                    심볼릭경로 : /usr/bin   둘다 같은 위치를 나타낸다.

 

GNU : 자유 소프트웨어 재단이 주력으로 밀고 있는 소프트웨어 라이선스.

 

부트로더 : 리눅스가 부팅되기까지 부팅의 전 과정을 진행하는 부팅 프로그램을 의미한다.

 

GRUB : GRUB는 윈도우&리눅스 모두 사용할 수 있는 멀티 부트로더 라고 할 수 있다. (Grand Unified Bootloader)

              GNU에서 개발되었다.

              GRUB는 하드디스크 첫 번째 부트섹터인 MBR(Master Boot Record) 저장된다.

              

커널 : 하드웨어와 프로세스를 잇고 제어하는 핵심 인터페이스 이다. 

 

           [특징]

            - 메모리 관리 : 메모리가 어디에서 무엇을 저장하는 데 얼마나 사용되는지 추적한다.

            - 프로세스 관리 : 어느 프로세스가 중앙 처리 장치(CPU)를 언제 얼마나 오랫동안 사용할지를 결정한다.

            - 장치 드라이버 : 하드웨어와 프로세스 사이에서 중재자/인터프리터 역할을 수행한다.

            - 시스템 호출 및 보안 : 프로세스의 서비스 요청을 수신한다.

 

           [OS내에 커널위치]

            - 하드웨어 : 시스템 토대가 되는 물리적 머신으로,메모리(RAM)와 프로세서 또는 중앙 처리 장치(CPU) 그리고 

                                입출력(I/O) 장치로 구성된다. CPU는 계산을 수행하고 메모리를 읽고 쓴다.

            - Linux커널 : 메모리에 상주하며 CPU에 명령을 내리는 소프트웨어

            - 사용자 프로세스 : 실행 중인 프로그램은 커널이 관리합니다.

                                            시스템에서 실행되는 코드는 커널 모드 또는 사용자 모드라는 두 가지 모드 중 하나로 CPU

                                            에서 실행된다. 커널 모드에서 실행 중인 코드는 하드웨어에 무제한 액세스가 가능한 반면,

                                            사용자 모드에서는 CPU 및 메모리가 SCI를 통해 액세스하는 것을 제한한다.

 

바이너리 파일 : 컴퓨터 파일로 컴퓨터 저장과 처리 목적을 위해 이진 형식으로 인코딩된 데이터를 포함한다.

 

/  (루트)

리눅스 파일체제의 최상위 디렉토리 / (루트)이다.

루트는 리눅스의 모든 디렉토리들의 시작점이며, 모든 디렉토리는 절대 경로로 표기할 때 / (루트) 디렉토리부터 시작한다.

 

/bin

기본적인 명령어가 저장된 디렉토리 이다.

리눅스 시스템 사용에 있어 기본적인 mv , cp , rm , rmdir , df ,sync 등 거의 모든 명령어들이 이 디렉토리에 있다.

이 명령어들은 root 사용자 뿐만 아니라 일반 사용자들도 사용할 수 있다.

CentOS7 부터 /usr/bin 으로 심볼릭 링크되어 있다.

 

/boot

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

별도의 파티션 할당을 권장하고 있다.

 

/dev

시스템 장치(device) 파일을 저장하고 있는 디렉토리이다.

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

/etc

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

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

 

/lib

커널 모듈 파일과 라이브러리 파일들이 존재한다.

즉, 커널이 필요로 하는 커널 모듈 파일과 프로그램(C , C++ 등)에 필요한 각종 라이브러리 파일들이 존재하는 디렉토리이다. CenOS7 부터  /usr/lib 으로 심볼릭 링크되어 있고, 64bit의 경우 /lib64 디렉토리가 있으며, /usr/lib64 로 심볼릭 링크되어 있다.  

 

/media

DVD , CD-ROM , USB 메모리 스틱과 같은 탈부착이 가능한 장치들의 마운트 포인트로 사용되는 디렉토리이다.

/mnt 디렉토리로 장치 마운트 포인트로 사용된다.

 

/opt

추가적인 소프트웨어를 설치하는 디렉토리이다.

그러나 대부분의 추가되는 소프트웨어는 /usr 디렉토리 아래에 설치가 된다.

 

/sbin

시스템 관리를 위해 사용되는 유틸리티와 root를 위한 명령어들은 /sbin ,

/usr/sbin 또는 /usr/local/sbin에 저장된다.

/sbin 디렉토리는 /bin 디렉토리의 바이너리들에 더하여 시스템을 부팅 , 복원 , 복구 및 수리하기 위해 중요한 바이너리들이 포함한다. CenOS7 부터는 /usr/sbin 으로 심볼릭 링크되어 있다.

 

/srv

Service의 줄임말 이다. 즉, 시스템의 서비스 데이터 인데, 서버별로 디렉토리가 생성되고 각 서비스 관련 데이터가 들어있다.

 

/tmp

임시 파일들이 저장되는 공간이다. 시스템을 사용하는 모든 사용자들이 공용으로 사용하는 디렉토리이다.

mysql에서 사용하는 mysql.sock과 같은 소켓 파일 등 시스템의 일반적인 사용자 또는 각종 프로세스에서 사용하는 파일들이 생성되는 위치이기도 하다.

 

/usr

시스템이 아닌 , 일반 사용자들이 주로 사용하는 디렉토리이다.

/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 , tmac , xml  및 zoneinfo 

                   디렉토리가 포함된다.

 /usr/src : 리눅스 커널 등 소스코드가 포함된 디렉토리이다.

 

/var

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

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

예) 거의 모든 시스템 로그 파일은 /var/log에 저장된다.

 

 

/home

사용자의 홈 디렉토리들이 위치한다(옵션)

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

 

/root

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

 

/proc

커널과 프로세스 정보를 위한 가상 파일 시스템이다.

이 디렉토리 아래에는 현재 메모리에 존재하는 모든 작업들이 파일 형태로 존재한다.

디스크상에 실제 존재하는 것이 아니라 메모리상에 존재하므로 가상 파일 시스템이라고 한다.

 

/(루트) 이하 디렉토리를 확인하려면 아래 명령어로 확인 한다.

ls -Al / 

 

 

 

 

 

 

반응형