파일 시스템은 데이터를 하드디스크나 SSD와 같은 저장장치에 어디에, 어떻게 저장할지를 정의하는 규칙과 구조입니다.
만약 책장이 아무 기준 없이 책을 꽂는 공간이라면, 원하는 책을 찾기 어렵겠죠? 파일 시스템은 바로 그 ‘책꽂이 규칙’입니다.
sequenceDiagram
participant User
participant FileSystem
participant SSD
User->>FileSystem: love-letter.txt 저장 요청
FileSystem->>SSD: 빈 공간 검색
SSD-->>FileSystem: 사용 가능한 메모리 주소 제공
FileSystem->>SSD: love-letter.txt 조각 저장 (0x1100, 0x2100, 0x5100)
FileSystem->>FileSystem: 메타데이터 기록 (/home/guru/love-letter.txt)
SSD-->>User: 저장 완료
| 디렉토리 | 설명 |
|---|---|
/ |
최상위 루트 디렉토리 |
/home |
사용자별 홈 디렉토리 |
/etc |
시스템 설정 파일 |
/var |
로그, 캐시 등 가변 데이터 |
/bin |
기본 실행 명령어 |
/sbin |
관리자용 시스템 명령어 |
/usr |
사용자 애플리케이션, 라이브러리 |
/lib |
필수 시스템 라이브러리 |
/tmp |
임시 파일 저장소 (재부팅 시 삭제됨) |
/dev |
하드웨어 장치 파일 |
/opt |
선택 설치 소프트웨어 디렉토리 |
/root |
관리자(root) 홈 디렉토리 |
명령어는 사용자가 컴퓨터에게 일을 시키는 약속된 언어입니다.
flowchart TD
A[사용자] --> B[터미널]
B --> C[명령어 입력]
C --> D[bash 쉘이 해석]
D --> E{내장 명령어?}
E -- 예 --> F[즉시 실행]
E -- 아니오 --> G["/bin 등에서 실행 파일 찾기"]
G --> H[실행]
명령어 [옵션] [인자]
| 구성 요소 | 설명 | 예시 |
|---|---|---|
| 명령어 | 수행할 작업 | ls |
| 옵션 | 동작 방식을 제어 | -l, --help |
| 인자 | 명령어의 대상 | /home/guru |
| 명령어 | 설명 | 자주 쓰는 옵션 / 예시 |
|---|---|---|
ls |
현재 디렉토리 파일 목록 확인 | ls -l, ls -a |
mkdir |
새 디렉토리 생성 | mkdir myfolder |
cd |
디렉토리 이동 | cd /home/guru |
mv |
파일 이동 또는 이름 변경 | mv a.txt b.txt, mv a.txt /tmp |
cp |
파일 복사 | cp a.txt b.txt |
rm |
파일 삭제 | rm file.txt, rm -r folder |
cat |
파일 전체 내용 출력 | cat readme.txt |
more |
페이지 단위 출력 (위→아래) | more bigfile.txt |
less |
페이지 단위 출력 (위⇄아래 가능) | less bigfile.txt |
nano |
단순 텍스트 편집기 | nano memo.txt |
vim |
고급 텍스트 편집기 | vim code.java |
uname |
시스템 정보 표시 | uname -a |
df |
디스크 사용량 확인 | df -h |
du |
디렉토리 용량 확인 | du -sh folder |
top |
실시간 프로세스 확인 | top |