리눅스 디렉터리 구조 이해

각 디렉터리의 역할

트리 구조와 각 디렉터리의 역할

FHS(Filesysgem Hierachy Standard)는 디렉터리 구조의 표준을 정한 사양입니다. 많은 리눅스 배포판에서 FHS를 기반으로 한 디렉터리, 파일 구조를 채용하고 있습니다. FHS는 디렉터리명 외에도 각 디렉터리 역할, 저장하는 파일 종류, 명령의 배치 등에도 나타납니다. FHS를 이해하면, 리눅스를 사용할 때 필요한 파일 등이 어디에 있는지, 어디에 배치해야 하는 것인지 파악할 수 있습니다. 또한, FHS는 파일이 공유 가능(Shareable), 공유 불가(Unshareable), 정적(Static), 가변(Variable) 여부에 따라 배치하는 디렉터리가 달라집니다.

파일 분류

분류설명
공유 가능(Shareable)네트워크를 통해 공유 가능한 파일(유틸리티, 라이브러리 등)
공유 불가(Unshareable)네트워크를 통해 공유 불가능한 파일(잠긴 파일 등)
정적(Static)시스템 관리자의 조작 외에 변경되지 않는 파일(바이너리 커맨드, 라이브러리, 문서 등)
가변(Variable)시스템 가동중에 변경되는 파일(로그 파일, 사용자 정보 파일, 잠김 파일 등)

디렉터리 예

※출처:  https://refspecs.linuxfoundation.org/

 공유 가능공유불가
동적/usr, /opt/etc, /boot
가변/var/mail, /var/spool/newsvar/run, /var/lock

예를 들면, 시스템 가동중에 파일이 갱신/변경/삭제되는 디렉터리로 /var이 있습니다. /var/mail 이하에는 사용자별로 파일이 저장됩니다. 또한 /var/lock는 파일의 읽고 쓰기 제어를 하는 디렉터리입니다. FHS는 루트(/)를 기점으로 한 트리 구조를 하고 있으며, / 이하에 목적에 맞는 디렉터리 계층이 배치됩니다.

디렉터리 구조

디렉터리역할
/루트 디렉터리
/binBinary의 약자. 시스템을 작동시키거나 복구하는 데 필요한 프로그램이 포함됨(관리자와 일반 사용자가 모두 사용 가능한 기본적인 명령어가 배치되어 있음: chmod, cp, date 등)
/boot리눅스 부트로더 및 부팅 과정에서 필요한 파일이 존재
/devDevice의 약자. 시스템 디바이스 파일을 저장하고 있음. 하드디스크, 마우스, 프린터, CD-ROM 등
/etc시스템 관리용 설정 파일이나, 각종 소프트웨어의 설정 파일이 배치됨
/home사용자의 홈 디렉터리
/lib커널 모듈, 시스템을 부팅하고 명령을 실행하는 데 필요한 공유 라이브러리 등이 위치함
/lost+found파일 시스템에서 손실된 항목을 보존. 일반적으로 디스크 결함 또는 시스템 충돌의 결과로 손상된 파일이 저장된다
/mediaCD 및 DVD 디스크 또는 USB 스틱과 같은 이동식 미디어에 대한 마운트 포인트를 제공(운영체제가 자동으로 지정해줌)
/mntmedia와 흡사. 탈부착 가능한 장치에 대한 임시 마운트 지점을 제공(사용자가 직접 지정)
/opt써드 파티 앱에 대한 설치 디렉터리로 사용됨
/proc현재 메모리에 적재된 작업들이 파일 형태로 존재. 실제 디스크 공간에는 존재하지 않는 가상 디렉토리. 현재 cpu의 사용값, IO포트 등 프로세스에 관한 다양한 정보가 포함됨.
/root루트 사용자의 홈 디렉터리
/sbinbin 디렉터리와 유사하지만, 루트 유저만 실행할 수 있는 앱이 저장되어 있음.
/srv서버를 위한 폴더. FTP, SFTP, RSync와 같은 프로토콜로 외부와 공유하는 경우 사용된다.
/sysRAM을 기반으로 한 파일 시스템입니다. 현재 시스템 전반에 대한 내용을 제공합니다. 재시작 시 새로 생성됨.
/tmp사용자들이 공동으로 사용하는 디렉토리. 세션 정보나 현재 작업 내용 등이 저장됨.
/usr각 사용자 디렉터리가 생성되며, 각 폴더마다 bin, sbin, shared, lib와 같이 각 유저들이 사용할 수 있는 디렉터리가 위치함.
/var생성되었다가 삭제되는 데이터를 일시적으로 저장하는 디렉터리. 로그파일, 데이터베이스 캐시, 웹서버 파일 등이 위치할 수 있고, 파일의 크기가 계속 늘어나는 경우 적합함.

온라인 메뉴얼에서 디렉터리 정보를 확인하려면?

man hier

경로(패스)란?

예를 들어 var 디렉터리 속의 log 디렉터리에 있는 msg 파일에 대해, /var/log/msg 라고 표기합니다. 이렇게 디렉터리의 위치를 표현하는 정보를 경로(패스; path)라고 합니다.

경로(經路) 또는 패스(path)는 파일이나 디렉터리의 일반적인 형태로서 파일 시스템에서 고유한 위치를 지정한다. 경로는 문자열로 표현되는 디렉터리 트리 계층을 따라 시스템 위치를 가리키며 여기에서 구분자로 분리되는 경로 구성 요소를 통해 각각의 디렉터리를 대표하게 된다. 구분 문자는 대체적으로 슬래시(“/”), 역슬래시 문자(“\”), 콜론(“:”)이지만 일부 운영 체제는 다른 구분 문자를 사용할 수 있다. 경로는 현대 운영 체제에서 일반화된 디렉터리/파일 관계를 표현하기 위해 컴퓨터 과학 분야에 널리 쓰이며 URL의 구성에 필수적이다. 리소스는 절대 경로와 상대 경로로 표현할 수 있다

(출처: 위키백과 https://ko.wikipedia.org/wiki/%EA%B2%BD%EB%A1%9C )

이것도 살펴보세요!

무비스트(Movist): 파인더에서 더블클릭해도 재생되지 않을 때

문제 없이 사용중이던 무비스트(Movist)가 갑자기 재생되지 않는 문제가 생겼다. 현재 사용중인 무비스트 버전은 2.9.5(138) 지금껏 …

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다