리눅스 디렉토리의 종류와 특징
1. 디렉토리란 파일 저장소를 의미하며, 리눅스 디렉토리는 최상위 디렉토리( / )를 기준으로
하위 디렉토리들이 존재하는 게층적 트리구조로 구성되어 있다.
2. 상위와 하위 디렉토리는 부모와 자식 디렉토리로 구분된다.
/ | - 파일 시스템이 있는 최상위 디렉토리로 루트 디렉토리라고도 함 - 모든 디렉토리의 출발점인 동시에 다른 시스템과의 연결점이 되는 디렉토리 |
/boot 부트 |
- 부트 디렉토리로 부팅 시 커널 이미지와 부팅 정보 파일 저장 |
/proc 프로세스 |
- 시스템 정보 디렉토리이며 커널 기능을 제어하는 역할 - 현재 실행되는 프로세스와 실제로 사용되는 장치, 하드웨어 정보 저장 |
/bin 바이너리 |
- 기본적인 명령어가 저장된 디렉토리 - root 사용자와 일반 사용자가 함께 사용할 수 있는 명령어 디렉토리 |
/dev 디바이스 |
- 시스템 디바이스 파일들을 저장하는 디렉토리 - 하드디스크 장치 파일, CD-ROM 장치 파일 같은 파일 저장 |
/etc | - 시스템 환경 설정 파일 저장 디렉토리 |
/root | - 시스템 관리자용 홈 디렉토리 |
/sbin 시스템 바이너리 |
- 관리자용 시스템 표준 명령 및 시스템 관리와 관련된 실행 명령어 저장 |
/usr 유저 |
- 사용자 디렉토리로 사용자 데이터나 어플리케이션 저장 |
/home | - 사용자 계정 디렉토리로 계정들의 홈 디렉토리가 위치 - 일반 사용자들이 로그인 시 처음으로 위치하게 되는 디렉토리 |
/var 배리어블 |
- 가변자료 저장 디렉토리로 로그 파일이나 메일 데이터 저장 |
/tmp 템포러리 |
- 각종 프로그램이나 프로세스 작업을 할 때 임시로 저장되는 파일 저장 - 모든 사용자에 대해서 읽기와 쓰기가 허용 - sticky bit 설정으로 파일의 소유자만이 자신의 소유파일 삭제 가능 |
/mnt 마운트 |
- 파일 시스템을 일시적으로 마운트할 때 사용 |
/lost+found | - 결함이 있는 파일에 대한 정보가 저장되는 디렉토리 |
/proc
-
가상 파일 시스템이다.
-
시스템에서 운영되고 있는 다양한 프로세스들에 관한 내용과 프로그램에 대한 정보를 포함한다.
-
디렉토리에서 볼 수 있는 것은 실제 드라이브가 아니라 메모리 상에 저장되어 있다.
-
사용자가 /proc이나 하위 파일에 접근할 때마다 커널에서 파일 내용을 동적으로 만들어낸다.
-
각 프로세스는 고유의 식별자를 가지고 있으며, 이 식별자를 가진 디렉토리 밑에 정보를 저장한다.
/lib
-
동적 공유 라이브러리를 저장하고 있다.
-
공유 라이브러리에는 많은 프로그램에서 공통으로 사용하는 함수들이 들어있어 디스크의 공간을 절약할 수 있으며, 프로그램마다 동일한 코딩을 할 필요가 없다.
-
라이브러리 공유 방법에는 정적 라이브러리와 동적 라이브러리 두가지 방법이 있다.
-
정적 라이브러리는 컴파일 과정에서 공유 라이브러리의 루틴을 사용하지 않고 프로그램 내에 라이브러리 루틴의 복사본을 갖도록 컴파일한다.
-
동적 라이브러리는 실행 파일 내부에 라이브러리를 넣어두지 않고 프로그램을 실행할 때 가져와 사용하므로 메모리의 효율성이 높다.
/etc
-
시스템 환경설정 파일과 부팅 관련 스크립트 파일들이 저장되어 있는 디렉토리이다.
/etc/re.d |
부팅 레벨별 부팅 스크립트 파일들이 저장된 디렉토리 |
/etc/re.d/init.d |
시스템 초기화 파일들이 저장된 디렉토리 |
/etc/mail |
sendmail.cf나 access파일 등의 sendmail의 설정 파일들이 저장된 디렉토리 |
/etc/xinetd.d/ |
xinetd 슈퍼 데몬에 의해 서비스되는 서비스 설정 파일이 저장된 디렉토리 |
/etc/ssh/ |
sshd 데몬에서 사용하는 각종 설정 파일들이 저장된 디렉토리 |
/etc/samba/ |
삼바 관련 설정 파일들이 저장된 디렉토리 |
-
사용자 정보 및 암호 정보 파일, 보안 파일 등을 저장한다.
/etc/group |
그룹의 정보가 담겨 있는 파일 그룹명:그룹 패스워드:그룹 아이디:소속된 사용자 계정들 ex) root:x:0:root,bin root : 그룹명 x : 그룹 pw (x = 숨겨진 상태, 패스워드가 암호화되어 /etc/shadow에 저장되어있음) 0 : GID (GID는 그룹 아이디로 사용자를 목적에 의해 분류한 것이다. 루트의 그룹 아이디는 항상 0이다. )
|
/etc/passwd |
자원을 사용할 수 있는 사용자 목록 저장 사용자 계정(로그인 이름):사용자 패스워드:사용자 아이디:그룹 아이디:참고사항:로그인 후 사용자가 위치할 디렉토리:명령어를 처리하는 쉘 종류 ex) root:x:0:0:root:/root:/bin/bash root : 사용자 계정, 로그인 이름 x : 사용자 패스워드 0 : UID (UID는 유저 아이디) 0 : GID root : 사용자 관련 기타 정보(코멘트, 참고사항) /root : 로그인에 성공한 후에 사용자가 위치할 홈 디렉토리 명 /bin/bash : 명령어를 처리하는 쉘의 종류를 지정 |
/etc/shadow |
- /etc/passwd의 두 번째 필드인 패스워드 부분을 암호화 관리 - 패스워드 만기일, 계정 만기일 등을 설정 사용자 계정, /etc/passwd 파일과 사용자 정보를 서로 연계:암호화된 패스워드:마지막으로 패스워드를 변경한 날:최소 변경일수:변경하지 않고 사용 가능한 최대 일수:경고일수:최대 비활성 일수:사용자 계정이 만료되는 날 ex) root:$1$/30QpE5e$y9N/D0bh6rAACBEz.hqo00:14126:0:99999:7::: root : 사용자 계정, 사용자 계정을 인덱스로 하여 /etc/passwd 파일과 사용자 정보를 서로 연계 $1$/30QpE5e$y9N/D0bh6rAACBEz.hqo00 : 암호화된 패스워드, 복호화가 불가능, 사용자가 입력한 패스워드를 암호화하여 필드값과 비교 14126 : 마지막으로 패스워드 변경한 날 ( 1970년 1월 1일부터 며칠이 지났는지 그 일수로 표기) 0 : 최소 변경 일수 (패스워드를 변경할 수 없는 기간의 일수 지정) 99999 : 최대 변경 일수 (현재 사용중인 패스워드를 변경하지 않고 사용할 수 있는 기간의 일수 지정) 7 : 경고일수 (max필드에 지정한 일수가 며칠남지 않았음을 알리는 필드) (현재값 지정안함) : 최대 비활성 일수 (현재값 지정안함) : 사용자 계정이 만료되는 날 (현재값 지정안함) : 사용 안함 |
/usr
-
시스템이 아닌 일반 사용자들이 사용하는 디렉토리이다.
-
공유 가능한 프로그램들이 설치되며 네트워크를 이용해서 여러 개의 시스템을 연결 할 경우 이 디렉토리를 공유해서 설치된 프로그램들을 활용할 수 있다.
-
/usr 디렉토리는 읽기 전용으로 마운트 되어야 하며, 가변 자료들은 /var 디렉토리로 심볼릭 링크로 사용하게 된다.
/usr/bin/ |
일반 사용자들이 사용가능한 명령어 파일들이 존재하는 디렉토리 |
/usr/X11R6/ |
X윈도우 시스템의 루트 디렉토리 |
/usr/include/ |
C 프로그램에 필요한 헤더파일 디렉토리 |
/usr/lib/ |
/lib에 들어가지 않은 라이브러리 디렉토리 |
/usr/local/ |
MySQL, Apache, PHP 등과 같은 어플리케이션들을 소스로 컴파일하여 설치할 때 사용되는 장소 |
/usr/share/man/ |
- 명령어들의 도움말을 주는 manual page 디렉토리 - 시스템에서 사용하는 모든 man page 파일이 존재 |
/var
-
시스템에서 사용되는 가변적인 파일들을 저장하는 디렉토리이다.
-
가변적인 파일들로는 로그파일, 스풀링, 캐싱 등이 있다.
/var/tmp/ |
- 리눅스 시스템의 공용 디렉토리는 /tmp와 /var/tmp - /tmp 디렉토리와 /var/tmp 디렉토리의 퍼미션은 1777 - sticky bit가 설정되어 있는 공용 디렉토리 |
/var/log/ |
시스템 로그 파일이 저장되는 디렉토리 |
/var/named/ |
DNS에서 사용하는 zone파일들이 저장되는 디렉토리 |
/var/spool/lpd/ |
프린터 임시 디렉토리 ( 스풀링 디렉토리 ) |
/var/spool/mqueue/ |
발송을 위한 메일 일시저장 디렉토리 |
/var/spool/cron/ |
각 사용자들의 cron 설정 파일들이 저장된 디렉토리 |
/var/spool/at/ |
atd 즉, 예약 작업에 관한 파일들이 저장되는 디렉토리 |
/lost+found
-
파일 시스템의 이상 유무를 진단하고 복구하는 fsck에 의해서 사용되는 디렉토리이다.
-
손상된 파일이나 디렉토리를 /lost+found 디렉토리로 연결한 뒤에 오류를 수정하게 되며 평상시에는 null 파일 링크에 의해서 비어있는 상태로 존재한다.
-
리눅스 파일 시스템 ext2에 의한 fsck.ext2 프로그램도 이 디렉토리를 사용한다.
'OS > Linux' 카테고리의 다른 글
[리눅스] 설치 및 유형 (0) | 2020.11.02 |
---|---|
[리눅스] 라이선스 (0) | 2020.11.02 |
[리눅스] 리눅스의 역사 (0) | 2020.10.31 |
[리눅스] 배포판 (0) | 2020.10.29 |
[리눅스] 리눅스의 개념 (0) | 2020.10.29 |