JI

Linux - 9. 디렉토리 구조 본문

Linux

Linux - 9. 디렉토리 구조

JI12 2020. 6. 25. 18:10

디렉토리 구조

- 시스템 디렉토리
운영체제 전반에 관여를 하고 안정적인 운영을 하기 위해 존재하는 디렉토리다

 

- 데이터 디렉토리
사용자 데이터를 저장하기 위한 공간


리눅스는 트리 구조로 디렉토리를 구성하며, 명령어, 내용, 사용 권한에 따라서 디렉토리가 구분되어 있다

리눅스 파일 시스템 구조는 기본적인 구조를 제외하고는 사용자의 설정에 따라 달라질 수 있다. 하지만 리눅스의 디렉토리 구조는 파일 시스템 표준안(FSSTND, Linux File System Standard)을 기반으로 하는 것이 바람직하다. 표준안을 무조건 따르라는 강제력은 없지만 리눅스 파일 시스템 표준안을 따라 파일 시스템을 구성할 경우 파일들의 위치가 일관되게 유지되어 프로그램 작성, 포팅은 물론 시스템 관리도 쉬워지는 이점이 있기 때문에 대부분의 배포판들이 이 표준안을 지키고 있다

대부분의 리눅스는 FHS(Filesystem Hierarchy Standard) 표준 파일 시스템 계층을 사용하고 같은 목적의 파일들을 같은 장소에 일관되게 모아 관리하므로 시스템 자원이나 프로그램들을 쉽게 찾을 수 있다. 다시 말하자면 명령어, 파일 그리고 문서들이 제각기 독립된 장소에서 관리된다

 

디렉토리 종류

1.
/ 디렉토리
리눅스 파일 시스템 체계의 최상위 디렉토리 /(루트)이다. 리눅스의 모든 디렉토리들의 시작점이며 , 모든 디렉토리는 절대 경로를 표시 할 때에 이 디렉토리부터 시작한다.
가장 최상위 디렉토리 ,모든 파일시스템의 마운트 포인터가 존재, 모든 파일시스템의 이름(Name Space)이 존재한다 , cd / 입력하면 바로 root 디렉토리로 이동한다


2.

/root 디렉토리
root 계정(시스템 관리자) 의 홈 디렉토리 ,root 사용자 환경 파일(.bash_profile, .bashrc)
운영제체 설치 기록 파일(install.log,anaconda-ks.cfg) 들이 있다
이전 UNIX계열에서는 root의 홈 디렉토리를 /로 사용하였지만 리눅스는 /root를 관리자의 홈 디렉토리로 사용한다


3.

/bin 디렉토리
일반 사용자가 사용하는 기본 명령어들이 있는 디렉토리 => 사용자가 사용하는 명령어
centos 7 부터는 /usr/bin으로 링크되어 있다

 

4.

/sbin 디렉토리
관리자가 사용하는 시스템 관리 명령어들이 있는 디렉토리 => 관리자가 사용하는 명령어

 

5.

/etc 디렉토리

환경 설정 파일 및 디렉토리를 갖고 있는 디렉토리

/etc/rc.d                                                    시스템 부팅 및 시스템 실행

/etc/passwd                                               사용자 계정 정보 관리

/etc/shadow                                              사용자 패스워드 암호화

/etc/group                                                 시스템 그룹 관련 내용

/etc/inittab                                                 init 데몬 관리

/etc/issue                                                   로그인 메시지 관리

/etc/securetty                                             터미널에 대한 정보 저장

/etc/shells                                                  쉘 정보 저장

/etc/fstab                                                   파일 시스템 관리

/etc/services                                               서비스 포트 번호 관리

/etc/sysconfig/i18n                                       언어 정보 관리

/etc/sysconfig/iptables                                   방화벽 설정 관리

/etc/sysconfig/network-scripts/ifcfg-eth0            eth0 인터페이스 정보 관리

 


6.

/usr 디렉토리
사용하면서 공유할 수 있는 디렉토리와 파일,거의 모든 프로그램과 그에 관련된 명령어 및 라이브러리들이 이 저장된 디렉토리

/usr/bin 디렉토리                                         시스템에 사용하는 실행파일

/usr/etc 디렉토리                                         환경 설정 파일 및 디렉토리를 갖고 있는 디렉토리

/usr/include 디렉토리                                    C언어 관련 헤더 파일

/usr/lib 디렉토리                                          실행 파일을 위한 라이브러리

/usr/local 디렉토리                                       시스템 관리자에 의해 설치되는 일반적 프로그램

/usr/sbin 디렉토리                                       시스템 관리를 위한 명령어 

/usr/share/man 디렉토리                               메뉴얼 페이지 내용

/usr/share/info 디렉토리                                GNU 정보 문서 저장

/usr/share/doc 디렉토리                                각종 문서들 저장

/usr/src 디렉토리                                         프로그램 컴파일이 되지 않는 소스 파일들 저장

 

7.

/boot 디렉토리
부트로더와 부팅을 위한 파일이 있는 디렉토리, 리눅스 커널이 저장(건들지 않는것을 권장)

 

8.

/dev 디렉토리
장치 파일들이 있는 디렉토리 ,하드디스크, 포트, 콘솔, 루프백과 같은 장치들을 파일로 생성하여 관리

/dev/console                                               시스템 콘솔 파일

/dev/hda                                                    IDE 방식 하드디스크         

/dev/sda                                                    SCSI 방식 하드디스크

/dev/lp 번호                                               시스템 병열 포트 장치

/dev/null or /dev/zero                                  이 장치로 전송된 데이터는 모두 폐기

/dev/pts 디렉토리                                        시스템 원격 접속(텔넷,SSH) 위한 터미널 장치

/dev/tty                                                     가상 콘솔 장치

/dev/cdrom                                                시디룸 드라이브 장치


9.

/var 디렉토리
시스템 운영중에 자주 변경되는 파일들이 있는디렉토리
(시스템 로그 파일,사용자 로그인 기록,메일 임시 저장)

/var/log 디렉토리                                          로그 파일 저장

/var/run 디렉토리                                          시스템 정보 저장

/var/spool                                                    메일, 뉴스 등 시스템 대기 상태인 작업을 위한 디렉토리 

 

10.

/tmp 디렉토리
임시 파일들이 저장되는 디렉토리 (재부팅 되면 삭제되고 부팅되면 다시 생성)

 

11.

/proc 디렉토리
프로세스 및 프로그램 정보, 메모리/하드웨어 정보 파일이 있는 디렉토리
(하드 디스크에 저장되지 않고 커널에 의해 메모리에 저장되고 사용됨)

 

12.

/lib 디렉토리
프로그램들의 각종 라이브러리들이 존재, 대부분 공유 라이브러리로 더 편리하게 사용할 수 있고
파일 크기를 줄여서 실행할 때 불러 사용하는 하고 커널 모듈이 있는 디렉토리
CentOS7부터는 /usr/lib으로 링크되어 있다. 64bit의 경우는 /lib64로 링크되어 있으며 /usr/lib64로 링크되어 있다

 

13.

/mnt 디렉토리
NFS 와 같은 파일 시스템이 임시로 마운트하는 디렉토리
자동으로 인식안함 (NFS : 클라이언트가 서버로부터 파일 시스템을 마운트하는 방식)


14.

/srv 디렉토리
시스템이 제공하는 서비스를 위한 파일들이 있는 디렉토리 (FTP ,HTTP 등이 있다)


15.

/media 디렉토리
USB, CD, DVD 와 같은 이동식 디스크가 마운트되는 디렉토리

 

16.

/home 디렉토리
시스템 계정을 위한 사용자 홈 디렉토리
각각의 사용자별로 디렉토리가 생성되고 여기에 있는 파일과 디렉토리는 시스템에서 사용하지 않는다
단지 원격으로 시스템으로 접속을 하는 사용자들을 위한 공간

 

17.

lost+found 디렉토리
부팅시 파일시스템에 문제가 발생할 경우 fsck 를 이용하여 복구할때 사용하는 디렉토리
파티션 마다 한개씩 있고 삭제하지 않는 것을 권장

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

Linux - 리눅스 설치  (0) 2020.06.26
Linux - 10. 파티션 작업&파일 시스템 생성(포맷)&마운트  (0) 2020.06.26
Linux - 8. 파일 타입  (0) 2020.06.25
Linux - 7. 작업 관리  (0) 2020.06.24
Linux - 6. 프로세스  (0) 2020.06.24
Comments