[Linux] 리눅스 디렉터리 종류와 특징
🐧 디렉터리
-
파일 저장소를 의미
-
최상위 디렉터리(/)를 기준으로 하위 디렉터리들이 존재하는 계층적 트리 구조로 구성
-
상위 디렉터리 - 하위 디렉터리 : 부모 디렉터리 - 자식 디렉터리
🐧 디렉터리별 저장 내용
-
/
-
파일 시스템이 있는 최상위 디렉터리
-
모든 디렉터리의 출발점인 동시에 다른 시스템과의 연결점이 되는 디렉터리
-
-
/boot
- 부트 디렉터리로 부팅 시 커널 이미지와 부팅 정보 파일 저장
-
/proc
-
가상 파일 시스템
-
시스템에서 운영되고 있는 다양한 프로세스들에 관한 내용과 프로그램에 대한 정보, 실제로 사용되는 장치, 하드웨어정보를 포함
-
커널 기능을 제어하는 역할
-
디렉터리에서 볼 수 있는 것은 실제 드라이브가 아닌 메모리 상에 저장되어 있음
-
사용자가 /proc이나 하위 파일에 접근할 때마다 커널에서 파일 내용을 동적으로 만들어냄
-
각 프로세스는 고유의 식별자를 가지고 있으며, 이 식별자를 가진 디렉터리 밑에 정보를 저장
-
-
/lib
-
동적 공유 라이브러리 디렉터리
-
커널 모듈 파일들과 프로그램 실행을 지원해 주는 공유 라이브러리 저장
-
공유 라이브러리에는 많은 프로그램에서 공통으로 사용하는 함수들이 들어있어 디스크의 공간을 절약할 수 있음
-
정적 라이브러리 : 컴파일 과정에서 공유 라이브러리의 루틴을 사용하지 않고 프로그램 내에 라이브러리 루틴의 복사본을 갖도록 컴파일
-
동적 라이브러리 : 실행 파일 내부에 라이브러리를 넣어두지 않고 프로그램을 실행할 때 가져와 사용 → 메모리의 효율성이 높음
-
-
/bin
-
기본적인 명령어가 저장된 디렉터리
-
root 사용자와 일반 사용자가 함꼐 사용할 수 있는 명령어 디렉터리
-
-
/dev
-
시스템 디바이스 파일들을 저장하는 디렉터리
-
하드디스크, 프린터, 입출력장치 등과 같은 장치들을 파일화하여 관리 → 특정 장치를 실행하기 위해서는 해당 장치 파일을 실행해야 함
-
장치 파일(device file) or 특수파일(special file)은 장치 드라이버
-
블록 장치 파일 : 하드디스크, CD/DVD, 플로피 디스크 등의 저장 장치
-
문자 장치 파일 : 키보드, 마우스, 테이프, 모니터, 프린터 등의 입출력장치
-
리눅스의 표준 입력장치는 키보드, 표준 출력장치는 모니터
-
-
/etc
-
시스템 환경 설정 파일과 부팅 관련 스크립트 파일들이 저장되어 있는 디렉터리
-
사용자 정보 및 암호 정보 파일, 보안 파일 등을 저장
-
-
/etc/group
: 그룹 정보 -
/etc/passwd
: 자원을 사용할 수 있는 사용자 목록 -
/etc/shadow
: /etc/passwd의 패스워드 부분 암호화 관리, 패스워드 및 계정 만기일 등 설정
-
-
-
/root
- 시스템 관리자용 홈 디렉터리
-
/sbin
- 관리자용 시스템 표준 명령 및 시스템 관리와 관련된 실행 명령어 저장
-
/usr
-
시스템이 아닌 일반 사용자들이 사용하는 디렉터리로 사용자 데이터나 애플리케이션 저장
-
공유 가능한 프로그램들이 설치되며 네트워크를 이용해 여러 개의 시스템을 연결할 경우 이 디렉터리를 공유해 설치된프로그램들을 활용할 수 있음
-
읽기 전용으로 마운트 되어야 하며, 가변 자료들은
/var
디렉터리로 심볼릭 링크로 사용하게 됨
-
-
/home
-
사용자 계정 디렉터리로 계정들의 홈 디렉터리가 위치
-
일반 사용자들이 로그인 시 처음으로 위치하게 되는 디렉터리
-
-
/var
-
가변 자료 저장 디렉터리로 로그 파일이나 메일 데이터 저장
-
가변적인 파일에는 로그파일, 스풀링, 캐싱 등이 있음
-
-
/tmp
-
각종 프로그램이나 프로세스 작업을 할 때 임시로 생성되는 파일 저장
-
모든 사용자에 대해서 읽기와 쓰기가 허용
-
Sticky bit 설정으로 파일의 소유자만이 자신의 소유 파일 삭제 가능
-
-
/mnt
- 파일 시스템을 일시적으로 마운트 할 때 사용
-
/lost+found
-
결함이 있는 파일에 대한 정보가 저장되는 디렉터리
-
파일 시스템의 이상 유무를 진단하고 복구하는 fsck에 의해 사용됨
-
손상된 파일이나 디렉터리를 /lost+found 디렉터리로 연결 → 오류 수정
-
평상시에는 null 파일 링크에 의해 비어있는 상태로 존재
-