Linux

Linux Root Directory (리눅스 루트 디렉터리)

Beengineer's Tech Notes 2025. 5. 27. 13:15

개인 학습 내용을 바탕으로 지식 공유를 위해 작성한 글입니다. 잘못 또는 미흡한 부분이 있다면 댓글 부탁드리겠습니다.

 

리눅스에서 모든 것은 파일로 표현된다.

     
위치 이름 설명
/ root - 최상위(루트) 디렉터리
- 디렉터리들의 절대 경로를 표기할 때, 이 디렉터리로부터 시작
/bin binary - 이진파일 (실행파일)
- 기본적인 명령어가 저장된 디렉터리
- 리눅스에서 자주 사용하는 mv, cp, rm 등과 같은 명령어들이 존재
/boot boot - 리눅스의 부팅에 필요한 정보들을 가진 파일들이 있는 디렉터리
/dev device - 시스템 디바이스(장치) 파일을 저장하고 있는 디렉터리
-
/dev/sda, /dev/cdrom 등과 같은 장치 파일들이 위치
- 물리적 장치가 파일화되어 저장
/etc   - 설정 파일이 위치하는 디렉터리
/home home - 사용자들의 홈 디렉터리가 위치
/lib library - 커널이 필요로 하는 각종 라이브러리 파일, 커널 모듈파일 등이 존재하는 디렉터리
/media media - DVD, CD-ROM, USB 등의 외부장치들의 mount point 로 사용하는 디렉터리
- OS 에서 자동으로 마운트 해주는 포인트로 주로 사용
/mnt mount - DVD, CD-ROM, USB 등의 외부장치들의 mount point로 사용하는 디렉터리
- 사용자가 직접 마운트하는 경로로 주로 사용
/opt option - 추가 응용프로그램 패키지 설치 장소
- pkg manager 가 자체적으로 설치/삭제 수행
/proc process - 현재 메모리에 존재하는 작업들이 파일 형태로 존재
- 프로세스와 일반적인 시스템(커널) 정보 저장
/root   - 관리자(root)의 홈 디렉터리
/sbin system binary - 시스템 이진파일(실행파일)
-
ifconfig, ethtool, halt 등과 같은 시스템 명령어들이 저장된 디렉터리
/usr user - 일반 사용자들이 사용하는 디렉터리
/var variables - 변경 가능한 다용도로 사용될 수 있는 파일들이 저장
- log, database cache 등이 위치
/sys system - 리눅스 커널의 가상 파일 시스템으로, 시스템 하드웨어 정보와 커널 정보를 제공
- 하드웨어 장치, 드라이버, 시스템 구성, 커널 모듈 등에 관한 정보가 저장
- 실시간으로 시스템 정보를 반영하며, 일부 파일을 통해 하드웨어 설정을 변경 가능
/run run-time variable data - Run-time variable data 를 관리
- 부팅한 후의 시스템 정보를 관리하는 디렉터리이다.
/tmp temporary - 임시 파일을 저장하기 위한 디렉터리이다.
- 재부팅 시 삭제되며, 정기적으로 10일 정도 간격으로 삭제
/lost+found   - 휴지통 같은 개념의 디렉터리

 

 

 


/bin, /sbin 비교

bin : command binary
sbin : system command binary

  • 두 디렉터리 모두 바이너리 파일로 컴파일 돼있는 실행 파일들을 포함하고 있습니다.

/sbin

  • system 이 사용하거나, system 을 컨트롤하기 취한 파일들을 포함합니다.

/bin

  • 사용자가 사용하는 명령어 실행파일들을 포함합니다.

연관 디렉토리

  • 리눅스 이전, Unix OS 개발 시, 용량 문제로 bin 과 sbin 디렉터리를 여러 곳에 분산시켜 구성했었습니다.
  • 현대에도 남아서 /bin, /sbin 과 관련된 디렉터리들이 파일 시스템에 남아있습니다.
연관 디렉토리 설명
/usr/bin 필요에 의해 설치된 사용자 cmd 파일들이 위치한 디렉토리 (yum 등 패키지 관리자가 관리)
/usr/sbin 필요에 의해 설치된 System cmd 파일들이 위치한 디렉토리 (yum 등 패키지 관리자가 관리)
/usr/local/bin 기타 사용자 cmd 파일들이 위치한 디렉토리 (사용자 또는 설치 파일이 해당 디렉토리에 파일 설치)
/usr/local/sbin 기타 System cmd 파일들이 위치한 디렉토리 (사용자 또는 설치 파일이 해당 디렉토리에 파일 설치)

PATH 환경변수

  • /bin, /sbin 은 명령과 같은 실행 파일들의 집합입니다.
  • PATH 는 운영체제 내 어느 위치에서든 PATH 가 가르키는 위치에 접근할 수 있게 하는 환경변수입니다.
  • 따라서, 사용자가 어디에서든 /bin, /sbin 및 연관 디렉토리 에 접근 가능하게 하기 위해서는 PATH 에 경로가 동록돼 있어야 합니다.

/lib, /lib64 비교

  • 시스템 부팅이나 /bin, /sbin 디렉토리에 있는 바이너리 파일들 실행에 필요한 공유 라이브러리 디렉터리입니다.
  • /lib/modules
    • 커널 모듈 파일들이 존재합니다.
  • 대부분의 라이브러리들은 링크로 연결돼 있습니다.

/etc

  • 대부분 설정 파일들이 저장됩니다.
  • 네트워크 관련 설정 파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일 등 중요 설정 파일들이 위치합니다.
디렉토리 설명
/etc/COBRA Common Object Request Broker Architecture 에 관한 파일들 존재
/etc/X11 엑스 윈도우 설정에 관련된 파일들 존재
/etc/cron.d crontab 명령의 설정파일들 존재
/etc/cron.daily 매일 작동하게 하는 crontab 스크립트 파일들 존재
/etc/gnome GTK+ 정의 파일 존재
/etc/httpd 아파치 웹 서버의 설정 및 log 파일들 존재
/etc/logrotate.d logrotate 설정 파일들 존재
/etc/mail sendmail 과 관련된 파일들 존재
/etc/ppp ppp 설정과 관련된 파일들 존재
/etc/profile.d 쉘 로그인하여 프로파일의 실행되는 스크립트에 대한 정의 존재
/etc/rc.d 시스템 초기화와 관련된 스크립트 존재
/etc/samba 삼바와 관련되 파일들 존재
/etc/security 터미널 보안과 관련된 설정 존재
/etc/skel 새로운 사용자를 추가할 대 자동으로 생성되는 디렉토리와 파일들 존재
/etc/squid squid 프록시 서버에 관련된 파일들 존재
/etc/ssh secure shell 설정 파일들 존재
/etc/sysconfig 시스템과 네트워크 설정 파일들 존재
/etc/xinetd.d 슈퍼데몬 xinetd.d 의 서비스 영역을 설정 파일 존재

/var

  • 시스템에서 사용되는 동적인 파일들이 위치합니다. (가변 자료 저장 디렉토리)
  • 주로 시스템 작동기록 (log) 들이 저장됩니다.
  • 이외에 사용자 로그인에 대한 보안기록, 그리고 메일서버 운영 시 전송되는 메일들을 임시 저장합니다.
디렉토리 설명
/var/log 시스템에 발생된 일들에 대한 기록 파일들 존재
/var/named 네임서버 설정 파일들 존재
/var/spool/mail 수신 메일을 사용자 명으로 기록하는 디렉토리

/usr

  • 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치합니다.
디렉토리 설명
/usr/bin 응용 프로그램의 실행 파일들이 위치
/usr/sbin 주로 네트워크 관련 실행 명령어와 실행 데몬들을 많이 포함
/usr/X11R6 X-Window 시스템에 관련된 파일들 존재
/usr/include 기본 C 라이브러리 헤더파일과 각종 라이브러리 헤더파일들 존재
/usr/lib /usr/bin, /usr/sbin에 있는 실행 바이너리를 실행하기 위한 라이브러리 존재
/usr/src 프로그램 소스 및 커널 소스들을 보관
/usr/man 매뉴얼 페이지가 담겨있는 위치
/usr/local 새로운 프로그램들이 설치되는 위치(window 의 program files 와 유사)

  • 참고자료