💻 리눅스는 개발자와 시스템 관리자에게 없어서는 안 될 운영체제입니다. 그 중심에는 체계적으로 구성된 디렉터리 구조가 있습니다.
처음 접하는 사람들에게는 복잡하게 느껴질 수 있지만, 디렉터리 구조를 이해하면 시스템 관리가 훨씬 쉬워집니다.
📁 / (루트) 디렉터리란 무엇인가?
리눅스는 모든 파일 시스템이 /
, 즉 루트 디렉터리에서 시작됩니다. 이 디렉터리는 모든 다른 디렉터리의 출발점이며, 전체 시스템의 뼈대 역할을 합니다.
윈도우처럼 드라이브별로 나뉘는 구조가 아니라, 단일 트리 구조로 구성되어 있어 파일 시스템 전체가 일관성 있게 유지됩니다.
아래는 주요 디렉터리와 그 기능을 요약한 표입니다.
📂 디렉터리 | 🧩 기능 | 📝 예시 |
---|---|---|
/bin | 기본 명령어 실행 파일 저장 | ls, cp, mv |
/sbin | 시스템 관리자 명령어 | shutdown, reboot |
/etc | 시스템 설정 파일 | passwd, fstab |
/home | 사용자 데이터 저장소 | /home/username |
/var | 로그, 캐시 등 가변 데이터 | syslog, spool |
/usr | 공용 애플리케이션 데이터 | /usr/bin, /usr/lib |
/tmp | 임시 파일 저장 | 설치 중 생성되는 파일 |
/dev | 디바이스 파일 관리 | /dev/sda, /dev/null |
/boot | 부팅 관련 파일 | vmlinuz, grub |
⚙️ /etc - 설정의 심장부
/etc
는 리눅스 시스템의 운영을 정의하는 설정 파일이 모여 있는 장소입니다.
예를 들어 /etc/ssh/sshd_config
는 SSH 접속 설정을 관리하며, /etc/fstab
은 파일 시스템 마운트를 정의합니다.
웹 서버, 데이터베이스, 방화벽 설정 등 거의 모든 시스템 동작이 /etc
내에서 조정됩니다.
설정 파일은 일반적으로 텍스트 형식이기 때문에 손쉽게 편집할 수 있지만, 잘못 수정하면 시스템이 정상 작동하지 않을 수 있어 주의가 필요합니다.
따라서 백업은 필수이며, 중요한 설정은 chmod
와 chown
으로 권한을 제한해야 합니다.
📊 /var - 시스템의 활동 기록 저장소
/var
는 'variable'의 줄임말로, 시스템 동작 중 변화하는 데이터를 저장하는 공간입니다.
가장 대표적인 용도는 로그 저장입니다. /var/log/syslog
는 시스템 전반의 이벤트 로그를 기록하며, 에러 발생 시 가장 먼저 확인해야 하는 파일입니다.
또한 /var/mail
에는 로컬 메일 시스템 데이터가, /var/spool
에는 인쇄 대기열, 작업 큐 등이 저장됩니다.
이 외에도 /var/cache
는 패키지 관리자가 임시로 저장한 데이터로, 디스크 공간 확보 시 주기적으로 삭제해도 무방합니다.
한편 /var
의 과도한 데이터 축적은 시스템 성능 저하를 초래할 수 있으므로, logrotate를 통한 자동 관리가 권장됩니다.
📦 /usr - 사용자 프로그램의 보관소
/usr
는 사용자 수준의 애플리케이션과 라이브러리가 저장되는 디렉터리입니다. 시스템 관리자보다 일반 사용자와 관련이 깊습니다.
/usr/bin
에는 실행 파일이, /usr/lib
에는 라이브러리 파일이 저장되며, /usr/share
에는 문서, 메뉴얼, 아이콘 등이 포함됩니다.
이 디렉터리는 실제 실행되는 대부분의 애플리케이션을 담고 있어, 설치된 소프트웨어의 대부분은 여기서 관리됩니다.
또한, /usr/local
은 직접 컴파일하거나 외부에서 설치한 프로그램을 저장하는 용도로 사용됩니다. 이로 인해 기본 시스템과의 충돌을 피할 수 있습니다.
🛠️ 디스크 관리와 보안을 위한 실전 팁
리눅스 시스템을 효율적으로 유지하기 위해선 디렉터리 구조에 따른 디스크 관리가 필수입니다.
/tmp
는 임시 파일이 모이는 곳으로, 자동 삭제 정책을 설정하지 않으면 디스크 공간을 빠르게 소모할 수 있습니다.
보안을 위해서는 /etc/shadow
와 같은 민감한 파일의 접근 권한을 chmod 600
으로 설정하고, 관리자 외 접근을 차단해야 합니다.
디스크 용량을 체크하려면 du -sh *
, df -h
명령어가 효과적이며, 필요 시 자동화 스크립트를 활용할 수 있습니다.
특히 서버 운영 시에는 logrotate, cron과 같은 도구로 주기적인 로그 관리와 백업을 실행하는 것이 중요합니다.
🔚 결론 - 디렉터리를 알면 리눅스가 쉬워진다
리눅스의 디렉터리 구조는 단순한 폴더의 집합이 아니라, 시스템을 구성하고 운영하는 설계도입니다.
각 디렉터리의 목적을 명확히 이해하면 시스템 설정, 트러블슈팅, 보안 관리가 훨씬 더 수월해집니다.
이제 ls -al
, du
, find
등의 명령어로 직접 구조를 탐색해보세요.
실전 경험이 쌓일수록 리눅스는 여러분의 가장 든든한 도구가 되어줄 것입니다.