Unix / Linux - 파일 시스템 기초
안녕하세요, Unix/Linux 열의자 여러분! 매력적인 파일 시스템의 세계를 함께 탐험해 나가는 여정에 환영합니다. 여러분의 가이드로서 여러 해 동안의 교육 경험을 바탕으로, 프로그래밍에 전혀 익숙하지 않으신 분들도 이 개념을 이해할 수 있도록 도와드리겠습니다. 시작해 보겠습니다!
디렉토리 구조
Unix/Linux 파일 시스템은 나무처럼 구조화되어 있으며, 루트 디렉토리 (/)가 상단에 있습니다. 이 구조는 파일을 효율적으로 정리하고 접근하는 데 필수적입니다.
이하는 일반적인 Unix/Linux 디렉토리 구조의 단순화된 시각입니다:
/
├── bin
├── etc
├── home
│ └── user
├── usr
└── var
이 디렉토리들은 각기 특정 목적을 가지고 있습니다:
-
/bin
: 필수 시스템 바이너리( 실행 가능한 프로그램)를 포함 -
/etc
: 시스템 설정 파일을 저장 -
/home
: 사용자 홈 디렉토리를 보관 -
/usr
: 사용자 프로그램과 데이터를 저장 -
/var
: 로그와 일시 파일과 같은 변동 데이터를 포함
주요 디렉토리와 그 기능
디렉토리 | 기능 |
---|---|
/bin | 필수 시스템 바이너리 |
/etc | 시스템 설정 파일 |
/home | 사용자 홈 디렉토리 |
/usr | 사용자 프로그램과 데이터 |
/var | 변동 데이터 (로그, 일시 파일) |
파일 시스템 탐색
이제 구조를 이해했으므로, 어떻게 이동하는지 배우겠습니다. 새로운 도시를 탐험하는 것처럼 생각해 보세요 - 지도를 읽고 길을 찾는 방법을 알아야 합니다!
기본 탐색 명령어
-
pwd
(Print Working Directory)$ pwd /home/user
이 명령어는 여러분이 파일 시스템에서 어디에 있는지 알려줍니다. 지도에서 현재 위치를 확인하는 것과 같습니다.
-
ls
(List)$ ls Documents Downloads Pictures Music
이 명령어는 현재 디렉토리에 무엇이 있는지 보여줍니다. 주변을 둘러보는 것과 같습니다.
-
cd
(Change Directory)$ cd Documents $ pwd /home/user/Documents
이 명령어는 다른 디렉토리로 이동할 수 있게 해줍니다. 도시의 새로운 위치로 걸어가는 것과 같은 비유입니다.
기억하시자, 연습이 완성입니다! 이 명령어를 시도해 보고 파일 시스템에서 자유롭게 이동하는 데 익숙해지세요.
df 명령어
df
명령어, "disk free"의 약자로, 디스크 공간 사용량을 확인하는 데 사용하는 도구입니다. 옷장에 얼마나 많은 공간이 남았는지 확인하는 것과 같습니다!
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 15G 4.0G 79% /
/dev/sdb1 100G 50G 50G 50% /home
-h
옵션은 출력을 사람이 이해할 수 있게 만듭니다. 각 열의 의미는 다음과 같습니다:
- Filesystem: 디스크 파티션
- Size: 파티션의 총 크기
- Used: 사용된 공간
- Avail: 사용 가능한 공간
- Use%: 사용된 공간 비율
- Mounted on: 파일 시스템에 마운트된 위치
du 명령어
df
는 개요를 제공하지만, du
(disk usage)는 더 깊이 탐구하는 데 도움이 됩니다. 옷장에서 어떤 옷이 가장 많은 공간을 차지하는지 조사하는 것과 같습니다.
$ du -sh *
4.0K Documents
2.0G Downloads
500M Pictures
1.5G Music
-s
옵션은 각 인수에 대한 요약을 제공하며, -h
는 사람이 이해할 수 있게 만듭니다.
파일 시스템 마운트
마운트는 USB 드라이브를 컴퓨터에 연결하는 것과 같습니다. 파일 시스템을 접근하고 사용할 수 있게 합니다.
파일 시스템을 마운트하려면:
$ sudo mount /dev/sdb1 /mnt/mydrive
이 명령어는 /dev/sdb1
장치를 /mnt/mydrive
디렉토리에 마운트합니다.
파일 시스템 언마운트
언마운트는 마운트의 반대입니다. USB 드라이브를 안전하게 분리하는 것과 같습니다.
파일 시스템을 언마운트하려면:
$ sudo umount /mnt/mydrive
드라이브를 물리적으로 제거하기 전에 항상 언마운트하면 데이터 손실을 방지할 수 있습니다!
사용자 및 그룹 퀵트
퀵트는 디스크 공간 사용량을 설정하는 것과 같습니다. 사용자가 너무 많은 공간을 사용하여 다른 사용자에게 영향을 미치는 것을 방지하는 데 도움이 됩니다.
퀵트를 설정하려면:
$ sudo edquota -u username
이 명령어는 사용자한테 퀵트 제한을 설정할 수 있는 편집기를 엽니다.
퀵트를 확인하려면:
$ quota -v
이 명령어는 현재 사용자의 퀵트 사용량을 보여줍니다.
퀵트 명령어
명령어 | 기능 |
---|---|
edquota | 사용자 퀵트 편집 |
quota | 디스크 사용량과 제한 보기 |
repquota | 파일 시스템에 대한 퀵트 보고 |
이제 Unix/Linux 파일 시스템의 기본을 다룬 것입니다. 실천이 최고의 학습법입니다! 터미널을 열고 탐험을 시작해 보세요. 실수는 두려워 말아세요 - 그게 우리가 배우는 방법입니다!
마무리하며, 한 학생이 파일 시스템을 배우는 것은 자전거 타는 것과 같다고 했습니다 -처음에는 어려워 보일 수 있지만, 한 번 익숙해지면 그 없이는 어떻게 살 수 없을 것 같아집니다.
계속 연습하고, 호기심을 가지고, 행복한 컴퓨팅을 기원합니다!
Credits: Image by storyset