Linux 주요 디렉토리 정리

신동수·2024년 3월 6일
0

Server

목록 보기
7/9

개요

  • 실무에서 리눅스(주로 Amazon Linux1,2)를 자주 사용했지만, 리눅스의 각 각의 디렉토리가 나눠진 이유와 역할을 다시 한 번 리마인드 하기위해 본 포스팅을 작성 하였다.

디렉토리 기능

위치설명
/최상위(루트) 디렉토리
디렉토리들의 절대 경로를 표기할 때 이 디렉토리로 부터 시작한다.
/bin
이진파일(실행파일)
기본적인 명령어가 저장된 디렉토리

리눅스에서 자주 사용하는 mv, cp, rm등과 같은 명령어들이 이 디렉토리에 존재함
/boot리눅스의 부팅에 필요한 정보를 가진 파일들이 있는 디렉토리
/dev시스템 디바이스(장치)파일을 저장하고 있는 디렉토리
/dev/sda (하드디스크 장치파일), /dev/cdrom(CD-ROM)장치파일 등과 같은 장치 파일들이 여기에 위치해있다. 예를들어 마우스, 키보드등의 디바이스와 관련된 파일들.

즉, 물리적 장치가 파일화되어 저장
/etc설정 파일을 두는 디렉토리
시스템의 대부분 설정파일이 존재하는 디렉토리
/home사용자들의 홈디렉토리가 있는 곳
사용자를 추가하면 사용자의 id와 동일한 디렉토리가 이곳에 자동으로 생성
/lib커널이 필요로 하는 각종 라이브러리 파일, 커널 모듈파일 등이 존재하는 디렉토리
/opt추가 응용프로그램 패키지 설치 장소
패키지 매니저가 자체적으로 설치/삭제를 수행함
/proc'가상파일시스템' 이라고 하는 곳으로 현재 메모리에 존재하는 작업들이 파일 형태로 존재하는 곳
프로세스 정보 등 커널 관련 정보가 저장
/root관리자계정 root 사용자의 홈디렉토리 (/ 디렉토리와 다르다. 이건 사용자의 디렉토리)
/sbin시스템 이진파일(실행파일)
ifconfig, ethtool, halt, e2fsck와 같은 시스템 명령어들을 저장하고 있는 디렉토리
/usr일반 사용자들이 사용하는 디렉토리
디렉토리 하위에는 /bin, /sbin, /local 등이 있다.
/var기타 모든 다용도로 사용될 수 있는 파일들이 저장되며 로그파일, 데이터베이스 캐싱파일, 웹서버 이미지 파일 등이 위치하는 디렉토리
/sys디바이스를 관리하기 위한 가상 파일 시스템 디렉토리
/runRun-time variable data를 관리한다. 부팅한 후의 시스템 정보를 관리하는 디렉토리
/tmp임시 파일을 저장하기 위한 디렉토리이다.
재부팅 시에 삭제되며, 정기적으로 10일 정도 간격으로 삭제
/lost+found휴지통 같은 개념

디렉토리 추가 설명

/bin & /sbin

bin은 user command binaries, sbin은 system command binaries를 뜻한다.
둘 다 바이너리 파일로 컴파일된 실행 파일들을 포함하고 있다.

  • 대체적으로 sbin은 system이 사용하거나 system을 컨트롤하기 위한 파일들을 포함한다.
    - cd, cp echo 등 의 커맨드
  • bin은 커맨드 라인 인터페이스에서 우리가 자주 사용하는 명령어 실행 파일들을 포함한다.
    - sysctl, reboot 등 과 같은 시스템을 다루는 커맨드

/bin & /sbin 연관 디렉토리

리눅스 이전 유닉스 운영체제를 만들 때 용량 문제로 bin과 sbin 디렉토리를 여러 곳에 분산시켜 만들었다.
현대 유닉스 기반 OS에서도 이런 사상이 남아서 bin과 sbin에 관련된 연관 디렉토리들이 파일 시스템에 남아있다.

연관된 디렉토리의 종류는 /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 이 있다.

  • /bin : cd, ls 등의 사용자 커맨드 파일이 위치한 디렉토리 (필수적인 파일만 관리)
  • /sbin : systemctl 등의 시스템 커맨드 파일이 위치한 디렉토리 (필수적인 파일만 관리)
  • /usr/bin : 필요에 의해 설치된 사용자 커맨드 파일이 위치한 디렉토리 (yum 등 패키지 관리자가 관리)
  • /usr/sbin : 필요에 의해 설치된 시스템 커맨드 파일이 위치한 디렉토리 (yum 등 패키지 관리자가 관리)
  • /usr/local/bin : 기타 사용자 커맨드 파일이 위치한 디렉토리 (사용자 또는 설치 파일이 해당 디렉토리에 파일 설치)
  • /usr/local/sbin : 기타 시스템 커맨드 파일이 위치한 디렉토리 (사용자 또는 설치 파일이 해당 디렉토리에 파일 설치)
profile
조금씩 성장하는 DevOps 엔지니어가 되겠습니다. 😄

0개의 댓글