CS/Linux

[Linux] 마운트 개념 `df -h` 으로 이해하기

kyoulho 2024. 12. 11. 20:11

df -h 명령어란?

df 명령어는 현재 시스템에 마운트 되어 있는 파일 시스템의 용량과 사용 현황을 보여줍니다. -h 옵션을 사용하면 사람이 읽기 편한 단위(GB, MB 등)로 표시하게 됩니다.

예를 들어 다음과 같은 출력이 있을 수 있습니다.

Filesystem      Size   Used  Avail  Use%  Mounted on
/dev/sda1        50G    30G    20G   60%  /
/dev/sda2       100G    90G    10G   90%  /home

각 컬럼의 의미는 다음과 같습니다.

  • Filesystem: 디스크 파티션 혹은 특정 스토리지 장치 경로
  • Size: 해당 파일 시스템(파티션)의 총 용량
  • Used: 현재 사용 중인 용량
  • Avail: 남은 여유 용량
  • Use%: 총 용량 대비 사용 중인 비율(%)
  • Mounted on: 해당 파일 시스템이 루트 디렉터리 트리 어디에 연결(마운트)되어 있는지 나타내는 경로

이 정보를 통해 시스템 관리자는 각 파티션별 디스크 사용 상황을 파악하고, 용량 관리 및 유지보수 계획을 세울 수 있습니다.

디렉터리 구조와 마운트 포인트

리눅스에서는 모든 파일과 디렉터리가 루트 디렉터리(/)를 기점으로 하는 단일 트리 구조를 형성합니다. /home, /usr, /var와 같은 디렉터리는 모두 / 밑에 존재하는 하위 디렉터리입니다.

마운트(Mount)는 특정 파티션(파일 시스템)을 디렉터리 트리 상의 특정 디렉터리에 연결하는 과정입니다.

  • 예를 들어 /dev/sda1 파티션을 /에 마운트 하면, 루트 디렉터리 /를 통해 /dev/sda1 파티션의 파일 및 디렉터리에 접근할 수 있게 됩니다.
  • /home 디렉터리는 원래 / 하위에 위치하기 때문에, 아무런 추가 마운트를 하지 않은 상태라면 /home의 데이터는 /dev/sda1에 저장됩니다(위 예시에서 //dev/sda1에 마운트 된 경우).

하지만 만약 /dev/sda2 파티션을 /home에 마운트 하게 되면, 이제 /home 디렉터리를 통해 접근하는 데이터는 /dev/sda2 파티션의 것들이 됩니다. 즉, /home 디렉터리는 경로는 그대로지만, 내부에 담긴 파일 시스템은 /dev/sda2로 대체됩니다.

원마운트(umount) 시 일어나는 일

그렇다면 /home에 마운트 해둔 /dev/sda2를 언마운트(umount /home)한다면 어떻게 될까요?

원마운트 전에는 /home 디렉터리를 보면 /dev/sda2에 저장된 데이터가 보였습니다.
원마운트 후에는 /home은 다시 원래 /dev/sda1 파일 시스템 상의 디렉터리 상태로 돌아갑니다.
즉, 마운트 이전 상태의 /home 디렉터리(빈 디렉토리거나 원래 있던 파일들)가 다시 드러나게 됩니다.

정리하자면:

  • 마운트 전: /home 디렉토리 = /dev/sda1 파일 시스템 일부
  • /dev/sda2 마운트 후: /home 디렉터리를 통해 /dev/sda2 파티션 접근
  • 원마운트 후: 다시 /home 디렉터리는 /dev/sda1 상의 디렉토리 상태로 복구


결론

  • df -h 명령어는 현재 마운트 되어 있는 파일 시스템별 용량 및 사용량을 한눈에 보여줍니다.
  • 리눅스는 하나의 디렉터리 구조(트리)를 가지고 있으며, 마운트를 통해 특정 디렉터리에 외부 파티션(파일 시스템)을 연결할 수 있습니다.
  • 원마운트를 통해 마운트 상태를 해제하면 해당 디렉터리는 다시 원래 파일 시스템의 상태로 돌아갑니다.
728x90

'CS > Linux' 카테고리의 다른 글

[Linux] NAT를 설정하는 방법  (0) 2024.10.05
[Linux] Firewalld vs Iptables  (0) 2024.10.05
[Linux] IP 주소를 얻는 내부 흐름  (0) 2024.10.04
[Linux] Xrdp 서버  (1) 2024.10.03
[Linux] GUI 방화벽 설정  (1) 2024.10.03