본문 바로가기

Linux/Linux공통

[Linux] 리눅스 파일 시스템 구조 / 루트 디렉토리, 홈 디렉토리

파일 시스템의 정의는 아래와 같다.

"운영체제가 파일,디렉토리를 효율적/구조적으로 관리하기 위한 트리구조 시스템을 총칭"_ 정보통신기술용어해설

 

즉, 컴퓨터에서 자료들을 쉽게 발견하고 관리할 수 있게 하는 구조적인 시스템을 말하는데 Linux의 파일시스템 구조에 대해서 살펴보자.

 

Linux의 파일 시스템과 구조

- 트리구조
- FSSTND(linux File System STaNDard: 리눅스 파일 시스템 표준안) 준수하는 것 권장
- 보통 FHS(Filesystem Hierarchy Standard) 표준 파일 시스템 계층 사용 (FHS가 리눅스의 주 디렉토리 정의)
- 리눅스에서 디렉토리 간 구분은 /(슬래시)로 윈도우에서 폴더간 구분은 \(역슬래시)로 함
- 리눅스에서 디렉토리(directory)는 윈도우에서 폴더(folder) 개념

 

리눅스 파일 시스템 구조

 /  

리눅스 파일 체제의 최상위 디렉토리

모든 디렉토리들의 시작점으로 일반적인 데이터를 저장하지 않는다. 

 

 bin 

binaryse의 약어로 리눅스의 기본 명령어(binary)들이 들어있는 디렉토리

시스템을 운영하기 위한 기본적인 명령어들이 모여있다. 

 

 boot 

부팅에 핵심적인 커널 이미지와 부팅 정보 파일을 담고 있는 디렉토리

/etc/lilo.conf 에서 지정한 커널 부팅 이미지 파일이 들어 있으면 부팅시 매우 중요한 역할을 한다.

 

 dev 

장치파일들이 저장되어 있는 디렉토리

연결되어 있는 장치의 정보를 확인할 수 있다. 

 

 etc 

시스템 환경 설정 파일이 있는 디렉토리

네트워크 관련 설정 파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안 파일 등등

 

 home 

리눅스 사용자의 홈 디렉토리(사용자 계정명과 동일)가 만들어지는 디렉토리

 

 media 

CD_ROM이나 USB같은 외부 장치를 연결하는 디렉토리

 

 mnt 

파일 시스템을 임시로 연결하는 디렉토리

 

 root 

시스템 관리자의 홈 디렉토리

일반 사용자가 접근하지 못한다. 

 

 sbin 

bin 디렉토리와 유사하지만 오직 루트유저만 실행할 수 있는 프로그램들이 있는 디렉토리

 

 sys 

리눅스 커널관련 정보가 있는 디렉토리

 

 tmp 

시스템 사용중에 발생한 임시데이터가 저장되는 디렉토리

부팅 시 초기화된다. 

 

 usr 

기본 실행파일과 라이브러리 파일, 헤더 파일등의 파일이 저장되어있는 디렉토리

대부분의 응용프로그램과 파일이 저장되어 있다. 

 

 var 

시스템 운영중에 발생한 데이터와 로그가 저장되는 디렉토리

 


루트 디렉토리 & 홈 디렉토리

 

사실 이 게시물은 위의 사진에서 볼 수 있듯이 프롬프트($)전에 있는  /  와 ~  표시의 차이에 대한 궁금증에서 시작되었다..ㅎㅎ 처음엔 둘의 차이를 모르고 같은 위치에서 ls 명령어를 실행했는데 다른 내용이 출력됐었다. 결론적으로 ~ 는 홈 디렉토리를 나타내고   는 루트 디렉토리를 나타내는 문자이다. 

'/ ' 루트 디렉토리
리눅스 파일 체제의 최상의 디렉토리로 모든 디렉토리들의 시작점을 나타낸다. 
절대경로로 경로를 표기할 때, 위의 사진과 같이 최상위 루트(/)부터 시작한다. 

'~' 홈 디렉토리
여기서 말하는 홈 디렉토리는 최상위 루트 디렉토리 하위에 있는 home 디렉토리가 아니라 그 아래에 있는 사용자의 홈디렉토리를 말한다.(루트 디렉토리 하위의 home 디렉토리는 여러 사용자의 홈 디렉토리가 모여있는 디렉토리) 계정명으로 설정된 폴더를 말하며 보통 리눅스에 처음 로그인하면 접속되는 위치를 말한다. 계정명(사용자 아이디)는 5글자까지만 나타난다.

루트 디렉토리와 홈 디렉토리 위치

루트 디렉토리에서 하위 디렉토리 출력

 

홈 디렉토리로 이동한 후 하위 디렉토리 출력

 

홈 디렉토리에서 상위로 두번 이동하면 루트 디렉토리

 

* 참고로 실험에 사용된 명령어는 아래와 같다. 

cd ~   # 홈 디렉토리로 이동
pwd    # 현재 디렉토리 경로 확인
ls -l  # 하위 디렉토리 자세한 내용까지 출력