728x90
반응형

클라우드 쪽 업무를 계속하면 필수적으로 리눅스 위에서 작업을 하는 경우가 많다.
리눅스의 운영체제 이해도가 부족하면 어려운 경우가 종종 있다.
특히나 디텍토리를 모르면 더더욱 어렵다. /var, /bin........

그래서 가장 많이 들어보고 사용해봤던 디렉토리 위주로 정리해서 개념을 이해해보고자 한다.
리눅스의 기본구조
리눅스 파일 시스템은 루트 디렉터리를 시작으로 트리 구조(directory tree)로 구성
항상 시스템 전체에 단 하나의 트리만 가진다.
리눅스에서는 디스크가 여러개 있다면 루트디렉토리 어딘가에 연결되어(마운트) 루트는 1개를 가진다.
1. /bin (필수 실행 파일이 있는 곳)
- 비유: 주방에 있는 필수 조리 도구
- 설명: bin은 "binary"의 줄임말이고, 여기에는 리눅스가 동작하는 데 꼭 필요한 프로그램(명령어)존재.
- ls (파일 목록 보기)
- cp (파일 복사)
- mv (파일 이동)
- rm (파일 삭제)
- cat (파일 내용 보기)
즉, 리눅스가 부팅될 때부터 기본적으로 필요한 명령어들이 들어 있는 곳이야.

- 초록색이 모두 실행파일이다.
- 사진에 있는 명령어 ls도 /bin 안에 들어있다.

2. /dev (장치 파일이 있는 곳)
- 비유: 집안의 전기 콘센트나 수도 배관
- 설명: dev는 "device"의 줄임말이고, 컴퓨터 안에 있는 하드웨어(장치)들을 파일처럼 관리하는 곳이야.
- 예를 들어, dev/sda1은 하드디스크를 나타내고, dev/tty는 키보드와 모니터 같은 입출력 장치
- 마치 콘센트에 전기 플러그를 꽂으면 전기가 들어오듯, 프로그램들이 이 파일을 통해 하드웨어와 연결

3. /opt (추가 소프트웨어가 설치되는 곳)
- 비유: 집에 새로 들여온 가구나 전자제품
- 설명: opt는 "optional"의 줄임말이고, 기본적으로 리눅스가 제공하는 소프트웨어가 아니라 추가로 설치한 프로그램이 저장
- 예를 들어, 직접 다운로드한 프로그램이 여기 설치
- 예전에는 많이 쓰였지만, 요즘은 usr/local을 더 많이 사용
4. /var (변하는 데이터를 저장하는 곳)
- 비유: 냉장고나 우편함 (자주 바뀌는 데이터가 저장됨)
- 설명: var는 "variable"*의 줄임말이고, 리눅스를 실행하면서 자주 바뀌는 데이터가 저장
- 로그 파일 (var/log) → 컴퓨터가 작동하면서 기록하는 로그
- 이메일 저장소 (var/mail) → 받은 이메일이 저장됨
- 웹 서버 데이터 (var/www) → 웹사이트 파일이 저장됨

5. /etc (설정 파일이 있는 곳)
- 비유: 집안의 스위치나 리모컨 (설정 변경하는 곳)
- 설명: etc는 시스템의 설정 파일(configuration files)이 모여 있는 곳
- 예를 들어, 네트워크 설정, 사용자 계정 정보, 서버 설정 파일 등 존재
- etc/passwd → 사용자 계정 정보가 저장됨
- etc/hostname → 컴퓨터의 이름을 저장하는 파일
이곳에서 설정을 바꾸면 리눅스의 동작 방식을 변경됨.

/etc에서 작업을 하다보면 흔하게 보는게 .conf 와 .d이다. 사실 뭐 들어가서 수정하고 했지만 무엇을 담당하는지 잘 몰랐다....
.conf 파일과 .d 디렉토리의 의미
리눅스에서 /etc 디렉토리는 설정 파일들이 모여 있는 곳인데, 여기에서 .conf 파일과 .d 디렉토리는 리눅스에서 설정을 관리하는 중요한 방식
1. .conf 파일이란?
- 비유: "메뉴판" 또는 "설정표"
- 설명: .conf는 "configuration (설정)"의 줄임말로, 프로그램이 어떻게 동작해야 하는지를 정의
- 예제:
- /etc/ssh/sshd_config → SSH 서버 설정
- /etc/nginx/nginx.conf → 웹서버 Nginx 설정
- /etc/fstab → 부팅 시 자동으로 마운트할 디스크 설정 (보통 .conf는 안 붙지만 설정 파일)
특징
- 대부분 텍스트 파일로 되어 있어서 cat, nano, vim 같은 명령어로 열어서 내용을 확인하고 수정
- 특정 프로그램의 동작을 바꾸고 싶다면 .conf 파일을 수정
2. .d 디렉토리는?
- 비유: "폴더 정리함"
- 설명: .d로 끝나는 디렉토리는 여러 개의 작은 설정 파일들을 모아두는 용도
- 왜 필요할까?
- 한 개의 .conf 파일이 너무 길고 복잡해지면, 설정을 여러 개의 작은 파일로 나누어 관리하기 용이
- 예를 들어, 어떤 프로그램이 /etc/program.conf 파일 하나만 읽는다면, 설정을 변경할 때마다 이 파일을 수정.
하지만 /etc/program.d/ 폴더 안에 여러 개의 작은 파일을 두면 개별적으로 설정을 추가하거나 변경
예제
- /etc/sudoers.d/ → 사용자별로 sudo 권한을 관리하는 파일 모음
- /etc/nginx/conf.d/ → 여러 개의 Nginx 서버 설정 파일을 따로 관리
- /etc/apt/sources.list.d/ → 패키지 저장소 목록을 여러 개의 파일로 나눠서 관리
어떻게 동작할까?
- 보통 .d 폴더가 있으면, 프로그램은 그 안에 있는 모든 파일을 읽어서 설정을 적용해.
- 예를 들어, /etc/nginx/nginx.conf 안에 이런 코드가 있다고 가정
include /etc/nginx/conf.d/*.conf;
- 이러면 /etc/nginx/conf.d/ 폴더 안의 모든 .conf 파일이 자동으로 적용
3. .conf vs .d 정리
이름 | 역할 | 예제 |
.conf 파일 | 하나의 설정 파일 | /etc/nginx/nginx.conf |
.d 디렉토리 | 여러 개의 설정을 모아둠 | /etc/nginx/conf.d/ |
쉽게 말하면,
- .conf 파일은 하나의 설정서
- .d 디렉토리는 여러 개의 설정 파일 모음집
6. /sys (시스템 정보를 저장하는 곳)
- 비유: 자동차의 계기판 (현재 상태를 확인하는 곳)
- 설명: sys는 리눅스 커널(운영체제의 핵심)이 시스템 정보를 저장하는 곳
- sys/class/net/ → 네트워크 장치 정보
- sys/devices/ → 하드웨어 장치 정보
- 프로그램들이 여기 있는 정보를 읽어서 시스템의 상태를 확인

집으로 비유한 디텍토리 정리
디렉토리 | 역할 | 비유 |
/bin | 필수 프로그램 | 주방 조리 도구 |
/dev | 장치 파일 (하드웨어) | 전기 콘센트, 수도 배관 |
/opt | 추가 소프트웨어 | 새로 들여온 가구, 전자제품 |
/var | 변하는 데이터 저장소 | 냉장고, 우편함 |
/etc | 설정 파일 저장소 | 스위치, 리모컨 |
/sys | 시스템 정보 | 자동차 계기판 |
728x90
반응형
'Linux' 카테고리의 다른 글
리눅스(Linux) PATH(경로) 개념 이해하기! 상대경로와 절대경로 차이 (0) | 2025.03.21 |
---|