

| 모드 | 실행 레벨 | 내용 |
|---|---|---|
| 시스템 종료 | 0 | 시스템 종료를 의미 |
| 단일 사용자 모드 | 1 | 네트워크 X, 터미널, 다른 사용자 로그인 불가 |
| 멀티 유저 모드 | 2 | 네트워크 X, 터미널, 다른 사용자 로그인 가능 |
| 멀티 유저 모드 | 3 | 네트워크 O, 터미널, 다른 사용자 로그인 가능 |
| 멀티 유저 모드 | 5 | X 디스플레이로 로그인 가능, 일반적으로 사용하는 기능 |
| 재부팅 | 6 | 시스템을 재부팅 |
부팅이 완료된 후에는 init 또는 systemd로 자동적으로 프로그램이 실행되는데
init -> 예전에 사용되던 방식 부팅 시 미리 설정이 되어있는 대로 프로그램 실행
systemd -> init 과 같이 부팅이 되면 프로그램을 실행하는 루틴을 동작하는데 init 과는 다르게 병렬로 프로그램을 루틴을 실행할 수 있어서 속도가 더 빠름
| 분류 | 명령어 | 설명 |
|---|---|---|
| 서비스 관리 | systemctl start [name].service | 서비스 시작 |
systemctl stop [name].service | 서비스 중지 | |
systemctl restart [name].service | 서비스 재시작 | |
systemctl status [name].service | 서비스 상태 확인 | |
systemctl enable [name].service | 부팅 시 서비스 자동 실행 설정 | |
systemctl disable [name].service | 부팅 시 서비스 자동 실행 해제 | |
| 유닛 관리 | systemctl get-default | 기본 실행 타겟(런레벨) 확인 |
systemctl list-units --type=target | 사용 가능한 모든 타겟 목록 조회 | |
systemctl set-default [name].target | 기본 실행 타겟 변경 | |
systemctl isolate [name].target | 현재 시스템 상태를 특정 타겟으로 변경 | |
| 전원 관리 | systemctl halt | 시스템 중지 (CPU 정지) |
systemctl poweroff | 시스템 종료 및 전원 끄기 | |
systemctl reboot | 시스템 재부팅 |
리눅스는 파일 시스템을 이용해서 파일의 데이터를 관리하고 저장
하드디스크 어디에 어떻게 저장했는지 기록
실제 파일에 관한 내용은 Data Blocks에 저장이 되고
어느 데이터 블록에 저장을 했는지는 Inode Table에 저장
파일시스템의 Inode를 보는 방법은
ls -il
이렇게 하면 Inode 번호를 확인 가능
전통적으로 리눅스에서 주로 사용했던 ext 시리즈도 있고
윈도우에서 주로 사용하는 FAT와 NTFS도 지원
| 파일 시스템 | 저널링 | 최대 파일 크기 | 최대 볼륨 크기 | 특징 |
|---|---|---|---|---|
| ext2 | X | 2~4TB | 32TB | 저널링 없음. 빠르지만 복구 어려움 |
| ext3 | O | 2TB | 32TB | ext2 + 저널링. 하위 호환 유지 |
| ext4 | O | 16TB | 1EB | 안정적, 성능 우수. 가장 널리 사용됨 |
| XFS | O | 8EB | 8EB | 대용량 고성능. RHEL 기본 파일 시스템 |
| ZFS | O | 16EB | 256ZB | 무결성 보장, 스냅샷/압축 지원 |
| F2FS | O | 수 TB | 수 TB | SSD/플래시 최적화 |
| tmpfs | - | 메모리 크기 | 메모리 크기 | 휘발성 메모리 기반. 임시 디렉토리용 |
| vfat/exFAT | X | 4GB / 16EB | 최대 128PB | USB/Windows 호환 |
| NTFS | O | 16EB | 16EB | Windows 기본. 리눅스에서도 사용 가능 |
리눅스에서 GUI를 제공하시 위한 시스템
X 서버 (X Server)
- 하드웨어(모니터, 마우스, 키보드)를 직접 제어
- 사용자의 입력을 받아 클라이언트에 전달하고, 클라이언트가 보내온 그래픽 데이터를 화면에 출력
X 클라이언트 (X Client)
- 실제 실행되는 응용 프로그램(웹 브라우저, 터미널 등)
- "이 위치에 창을 띄워줘"라고 X 서버에 요청
우리가 보는 화려한 화면은 KDE나 GNOME 같은 프로그램이 X 윈도우 위에서 돌아가는 'X 클라이언트' 로서 디자인을 입혀줌


사용자가 터미널에 명령어를 입력하면 ( CLI ), 셸 이 이를 읽어서 컴퓨터의 핵심부인 커널 이 이해할 수 있는 언어로 번역해 하드웨어 제어
| 셀 종류 | 설명 |
|---|---|
| sh | 가장 기본 쉘, 대부분의 편의 기능 X |
| ksh | 배열 지원, 함수, 자동완성, 히스토리 같은 편의 기능 제공 |
| bash | 가장 널리 사용, 대부분의 편의 기능 제공 |
| csh | 문법이 C언어와 유사, 편의 기능 X |
| tcsh | csh에 편의 기능 추가 |
| 종류 | 설명 | 핵심 포인트 |
|---|---|---|
| 부모 프로세스 | 다른 프로세스를 실행시킨 프로세스 | 모든 프로세스는 부모를 가짐 (Init 제외) |
| 자식 프로세스 | 부모 프로세스로부터 실행된 프로세스 | 실행 종료 시 부모에게 종료 코드를 전달함 |
| 데몬 프로세스 | 시스템 부팅 시 자동 시작되어 백그라운드에서 상주하는 프로세스 | 특정 서비스(웹, DB 등)를 위해 대기함 |
| 고아 프로세스 | 부모 프로세스가 자식보다 먼저 종료되어 혼자 남겨진 프로세스 | Init(PID 1) 프로세스가 새로운 부모가 되어 관리함 |
| 좀비 프로세스 | 실행은 끝났지만 부모가 종료 코드를 회수하지 않아 시스템에 정보가 남은 상태 | 프로세스 테이블을 차지하여 시스템 자원을 낭비함 |
ps -ef
| 번호 | 명칭 | 역할 |
|---|---|---|
| 1 | SIGHUP | 재시작 ( 설정 파일 다시 로드 ) |
| 2 | SIGINT | 키보드 중단 ( Ctrl+C ) |
| 9 | SIGKILL | 강제 종료 |
| 15 | SIGTERM | 정상 종료 |
| 19 | SIGSTOP | 일시 정지 |
| -l | Option | 시그널 리스트 확인 ( kill -l ) |