LINUX Directory 구조를 알아 보자 (linux5,6)

1. Linux Directory Tree

* 그림 출처 = http://oreilly.com/openbook/debian/book/appa_01.html




2. Directory 설명


- Root
 Root Directory(최상의 디렉토리), 슈퍼유저인 root의 home 디렉터리


- bin
시스템에서 사용되는 기본적인 콘솔 명령어들이 존재(ex : cp, ls, mv, vi등)
권한에 제한이 없어 일반 사용자와 시스템(root) 관리자 모두 사용 가능


- boot
 부팅에 필요한 커널과 파일들이 존재, 커널에 대한 link와 기타 초기화 파일들이 들어 있음
부트로더에 사용되는 부팅 커널 이미지가 존재하여 부팅 시 부트로더가 커널의 위치를 찾아 사용


- dev
 시스템 디바이스(device)파일이 존재, 컴퓨터에 연결된 모든 장치가 파일로 표현(리눅스는 디바이스 입출력을 파일형태로 대신 사용)
① /dev/fd -> 플로피 디스크 ② /dev/cdrom -> CD-ROM ③ /dev/mouse -> 마우스
④ /dev/hda -> 마스터 IDE 하드 디스크 ⑤ /dev/hdb -> 슬레이브 IDE 하드 디스크
⑥ /dev/sda -> SCSI 혹은 SATA 하드 디스크 ⑦ /dev/hd -> 하드 디스크


- etc
 시스템 설정(Configuration)파일이 존재, 부팅에 필요한 설정파일도 존재(inittab)
/etc/passwd, X Window, Fonts등 설정 파일이 존재
① /etc/fstab -> 파일 시스템 설정 파일 ② /etc/group -> 유저 그룹 설정 파일
③ /etc/inittab -> init 프로세스 관리 설정 파일 ④ /etc/passwd -> 유저 패스워스 설정 파일
* etc 디렉터리는 따로 자세히 다룰 예정


- home
 일반 사용자 홈 디렉터리, 사용자 계정 생성 시 일반 사용자의 홈 디렉터리가 생성 됨
사용자별 디렉터리는 해당 사용자만 사용할 수 있는 독립적인 공간


- lib
 시스템 운영 및 프로그램 구동 시 필수적인 공유 라이브러리 존재, root파일 시스템을 위한 공유 라이브러리
/usr/lib 디렉터리에는 서버에 설치 된 application 라이브러리가 존재


- lost+found
 디스크 오류나 부적절한 시스템 종료에 의해 잃어버리는 파일을 위해 사용되는 디렉터리로 즉 특정 파일 의 위치를 결정할 수 없는 경우 이 디렉터리에 보관 됨
시스템이 부팅 되어 fsck 또는 e2fsck 등과 같은 파일 시스템 체크 및 복구 유틸리티 실행 후에 잃어 버린 파일을
찾아 복구되지 않은 채 블록(block)형태로 lost+found디렉터리 안에 존재(연결이 끊어진 inode 숫자 파일 형태)
숫자 파일 형태로 존재하는 파일들은 mv명령어로 파일 이름만 바꾸면 바로 가능
파일을 삭제해도 시스템에는 아무영향이 없으나 꼭 필요한 파일이 복구되지 않고 남아 있을 수 있으니 꼭 확인 후 삭제
① Solaris -> 홈 디렉토리에 존재 ② Linux -> 한 파일 시스템 마다 하나씩 존재(한 파티션에 하나씩)
* fsck : 리눅스 파일 시스템 복구 명령어, e2fsck : 리눅스 파일시스템 점검 및 복구 명령어 


- misc 
시스템 아키텍처와 무관한 독립적인 자료들을 저장하는 디렉터리
CD-ROM, Floppy 등의 외부장치가  Mount되면 자동 연결이 지정되는 곳


- mnt
 시스템 디스크 이외에 다른 디스트나 cd, usb등의 파일 시스템을 일시적으로 마운트 할 때 사용하는 파일 마운트
포인터(mount point)
ex) cd /mnt -> mkdir cdrom -> mount /dev/cdrom /mnt/cdrom ( ->은 명령어 순서)


- proc
 실행중인 프로세스와 시스템(cpu, 메모리 등등) 정보 및 커널에 대한 정보를 사용자에게 제공하기 위한 디렉터
리로 실행중인 프로세스나 현재 시스템의 정보, 커널의 정보를 파일 형태로 보여주는 가상 디렉터리( 이 곳에  존재하는 파일들 가운데는 현재 실행 중 인 커널의 옵션값을 즉시 변경(쓰기가 가능 한) 할 수 있는 파라미터 파일이 있으며, 커널의 기능 제어하거나 각 프로세스 참조 가능), 시스템 운용에 매우 중요함, 대부분은 읽기 전용
* 가상 파일 시스템 : 현재 메모리에 존재하는 모든 작업들이 파일 형태로 존재
디렉토리에 있는 디렉터리 및 파일은 실제 하드디스크에 존재하는 것이 아니라 메모리에 존재
시스템이 부팅되면 proc 디렉터리 안에 해당 프로세스의 PID 번호에 해당하는 디렉터리를 생성한 다음에 프로세스의 진행 상황를 추적 관리
① 문자로 이루어진 디렉터리와 파일 이름 : 시스템 및 커널 정보
② 숫자로 이루어진 디렉터리 : 현재 실행 중인 프로세서의 정보


- sbin
 시스템(root) 관리자를 위한 시스템 관리 명령어들이 존재(일반 사용자는 실행 불가), reboot, shutdown, fdisk, mkfs, init, halt 등 시스템 관련 파일이 위치


- tmp
 프로세스 생성과정에서 발생하는 임시파일이 저장 되는 디렉터리, 시스템을 reboot 하면 이곳은 비워 짐. 부팅 이 후에는 /var/tmp 디렉터리가 임시파일 저장소로 사용


- usr
 rpm 패키지 프로그램을 설치 할 때 프로그램 및 명령어, 라이브러리가 설치 되는 디렉터리
즉, 일반 사용자가 프로그램을 설치 할 때 패키지에 포함된 대부분의 파일이 이 곳에 설치 됨
일반 사용자가 주로 사용


- var
 시스템 로그 파일, 사용자 로그 파일, DB 데이터등 시스템에서 사용되는 동적인(가변적인) 파일들이 저장

댓글

가장 많이 본 글