[리눅스 디렉토리 구조 정리]
ᄆ 리눅스 디렉토리 구조 한눈에 보기
ᄆ 디렉토리별 용도 정리
/
: 최상위 디렉토리
- 마운트 되는 리눅스 파일 시스템이 있는 최상위 디렉토리.
- 시스템의 근간을 이루는 가장 중요한 디렉토리.
- 파티션 설정 시 반드시 존재하여야 함.
- 절대경로의 기준이 되는 디렉토리.
/bin
: 기본 실행 명령어(실행파일)가 저장되어있는 디렉토리
- 리눅스의 기본 명령어(binary)들이 들어있는 디렉토리.
- 시스템을 운영하는데 기본적인 명령어들이 모여있는 디렉토리.
- 부팅에 필요한 명령어들이 위치하며 부팅 후 시스템의 사용자들이 사용할 수 있는
일반적인 명령어들도 위치하고 있음.
/boot
: 부팅 관련 파일 디렉토리
- 부팅에 핵심적인 커널 이미지와 부팅 정보 파일을 담고 있는 디렉토리.
/dev
: 장치를 쓸 때 필요한 특수 파일 디렉토리
- 시스템 디바이스(device) 파일을 저장하고 있는 디렉토리.
- 하드디스크 장치파일 /dev/sda, CD-ROM 장치파일 /dev/cdrom 등과 같은 장치
파일들이 존재하는 디렉토리.
- /dev위치에 백도어파일이 숨겨져 있는 장소로 유명했음. 관리자들의 관심이 소홀한
디렉토리이기 때문에 백도어 파일을 숨겨두기에 최적의 장소로 인식됨. 따라서 기본
장치파일 외에 다른 생소한 파일이 생성되어 있는가를 주기적으로 확인해야함.
/etc
: 시스템 설정 파일 디렉토리
- 시스템 환경설정 파일이 있는 디렉토리.
- 네트워크 관련 설정 파일, 사용자 정보 및 암호 정보, 파일 시스템 정보, 보안 파일,
시스템 초기화 파일 등 중요 설정 파일들이 위치한 디렉토리.
/home
: 일반 사용자의 홈 디렉토리
- 일반 사용자의 홈 디렉토리가 만들어지는 디렉토리.
- 대부분 사용자의 ID와 동일한 이름의 디렉토리가 자동으로 생성됨.
/lib
: 공유 라이브러리 디렉토리
- 커널 모듈 파일과 라이브러리 파일이 있는 디렉토리.
- /lib/modules: 커널 모듈 파일들 존재.
- 대부분의 라이브러리들은 링크로 연결되어 있음.
: 임시 마운트 디렉토리
- DVD, CD-ROM, USB 메모리스틱 등과 같은 탈부착이 가능한 장치들의
마운트포인트 (mount point)로 사용되는 디렉토리.
/mnt
: 입출력 장치 연결 마운트 디렉토리
- ount 명령을 사용하여, 마운트 시킨 cd-rom, floppy disket등이 들어가는 디렉토리
- 여러 가지 기타의 파일 시스템을 마운트 하는 곳으로. 가끔씩, cdrom와 플로피
장치를 마운트 하기 위해서 /cdrom과 /floppy 디렉토리가 사용되지만, 데비안이 아닌
다른 배포본에서도 이렇게 쓰이는지는 확신할 수 없다. /mnt는 /mount라고도 불린다.
- 다른 장치들을 마운트 할 때 일반적으로 사용하는 디렉토리
- 다른 디렉토리를 사용하여도 됨
/proc
: 커널과 프로세스를 위한 가상 파일 시스템들이 저장돼 있는 디렉토리
- 일명 “가상파일시스템”이라고 하는 곳에 현재 메모리에 존재하는 모든 작업들이
파일형태로 존재하는 곳
- 디스크상에 실재 존재하는 것이 아닌 메모리상에 존재하기 떄문에
“가상파일시스템”이라고 함
/root
: 관리자 홈 디렉토리
- 시스템 최고 관리자인 root 사용자의 개인 홈 디렉토리
/sbin
: 시스템 명령어가 저장되어 있는 디렉토리
- fconfig, e2fsck, ethtool, halt, shutdown 과 같은 주로 시스템관리자들이 사용하는
시스템 관리자용 명령어를 저장하고 있는 디렉토리
/tmp
: 공용 디렉토리 및 임시 저장소
- 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리
ex) mysql에서 사용하는 mysql.sock 등과 같은 소켓파일
아파치에서 사용하는 session file
등이 생성되기도 함
- ex)와 같이 시스템의 일반적인 사용자 또는 각종 프로세스에서 사용되는 파일들이
생성되는 위치이다
- 웹해킹에 사용되는 파일이 업로드 되는 위치이기도 하기 때문에 주의가 요구되는
디렉토리이다.
/usr
: 시스템이 아닌 일반사용자가 사용하는 프로그램이 설치되는 디렉토리
- c++, chsh, cpp, crontab, du, find 등과 같이 일반사용자들용 명령어들은 /usr/bin에
위치
- 시스템관리자 전용명령어를 제외한 거의 모든 일반적 리눅스 명령어들이 존재하는
위치가 /usr/bin 이다.
- 특히 /usr/local 디렉토리는 사용자들이 설치한 어플리케이션이 설치되는 위치이다.
- /usr/sbin에는 각종 어플리케이션 설치시에 생성되는 명령어들과 네트워크에 관련된
명령어들이 주로 존재
/var
: 시스템 운영중에 저장되는 자료가 저장되어 있는 디렉토리
- 시스템 운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한
디렉토리.
- 거의 모든 시스템로그파일은 /var/log에 저장
- DNS의 zone 설정파일은 /var/named에 저장
- 메일파일은 /var/spool/mail에 저장
- 크론설정파일은 /var/spool/cron에 저장
/lost+found
: 파일 시스템마다 존재할 수 있는 디렉토리
- 이 디렉토리는 fsck 또는 e2fsck 등과 같은 파일시스템 체크 및 복구유틸리티 실행
후에 주로 생성 되는 것으로서 복구되지 않은 채로 블록(block)에만 존재하는 파일
즉, 연결이 끊어진 inode 들이 숫자파일형태로 존재하는 곳이다.
- 숫자 형태로 존재하는 파일들은 mv명령어로 파일 이름만 바꾸면 바로 복구될 수
있다.
- 이 위치에 존재하는 텍스트파일의 경우에는 file 이라는 명령어와 cat 또는 vi 등의
명령어로 파일의 내용 등을 확인한 후에 복구 가능하므로 경우에 따라서는 매우
중요한 역할을 하는 디렉토리
- 이 디렉토리를 삭제해도 시스템에는 아무런 영향이 없으나
- 꼭 필요한 파일이 이 디렉토리에 복구되지 않은 채로 남아있을 수 있기 때문에
반드시 확인후에 삭제해야 한다.