1. 리눅스 프로세스 관리하기
리눅스의 프로세스는 PID 로 식별 가능하다
$ps -ef | grep bash # 사용자들의 PID 사용 가능
$ps -ef | grep http # httpd가 실행중인지 검색
$ps aux # 프로세스 상태
$ps # 프로세스 상태 (부모와 자식프로세스 사이를 보기 용이)
$kill -9 PIDno # 사용자의 PID를 넣어 로그아웃 시킬 수 있다.
$kill -l # signal 정보보기
$kill -9 # 200 200번 프로세스 kill
$top # table 정보 보기
$pstree # process tree
systemd : 모든 프로세스의 부모프로세스
2. 시스템 관련 명령어
명령어 | 내용 |
# arch | cpu 정보 확인 |
# df -h | disk 사용 정보 확인 |
# du /etc -sh | /etc의 용량 요약 |
# du -sh ~blue | user blue의 사용량 |
# dnf list | more | (cent os) 설치된 관리자 용량 |
# apt list | more | (ubuntu os) 설치된 관리자 용량 |
# uname -ar | 현재 사용중인 커널 버전 확인 |
# top | 현재 system의 상태 |
# ps aux | 현재 프로세스의 상태 |
# who | 현재 로그인한 계정 |
# mount | 현재의 mount 정보 확인 |
# ifconfig | 랜카드 설정 상태 |
#free | memory check |
- 내장된 쉘 명령어를 5줄로 출력하기
3. 리눅스 파일 시스템
운영체제에 따라 파일시스템이 다르다
윈도우에서 쓰는 NTFS
리눅스에서 쓰는 ext4가 있다
하드디스크를 파티션 하기 위해 2개의 하드디스크와 각 하드디스크 별로 3개의 파티션이 있다고 생각해보자
sda1(첫번째 파티션)
sda2(두번째 파티션)
sda3(세번째 파티션)
sdb1(첫번째 파티션)
sdb2(두번째 파티션)
sdb3(세번째 파티션)
...
하드디스크가 늘어날수록 sda->sdb->sdc 순이 된다.
파티션이 늘어날 수록 sda1->sda2->sda3 순이 된다.
파티션의 종류로는 primary, extended, logical 파티션이있다.
primary(주 파티션)은 최대 4개까지 가능하며 그 이후로는 확장 파티션을 통해 추가할 수 있다. 운영체제는 이곳에 설치한다.
extended(확장 파티션)은 속 안에 논리 파티션이 들어올 수 있으며 데이터를 저장할 수 없다.
logical (논리 파티션)은 확장파티션 안에 들어있다. 데이터 저장이 가능하고 운영체제를 설치 할 수 없다. 확장파티션이 가능한 만큼 생성할 수 있다.
4. 마운트
마운트는 물리적으로 존재하는 장치를 논리적인 디렉터리에 연결하는 것을 의미한다. 특정장치를 사용하기 위해 메모리를 할당한다.
마운트 관련 명령어 | 내용 |
# mount -l | 현재 마운트 정보 확인 |
# fdisk -l | 현재 마운트 정보 확인 |
# df -h | 파티션 정보 확인 |
4.1 마운트 / 언마운트 해보기
/data 를 마운트 해제 해보자
먼저 df -h로 파티션을 확인해보자
$df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 982M 0 982M 0% /dev/shm
tmpfs 393M 5.5M 388M 2% /run
/dev/mapper/rl_lsh-root 12G 2.6G 9.5G 22% /
/dev/sda1 1014M 232M 783M 23% /boot
/dev/mapper/rl_lsh-data 10G 104M 9.9G 2% /data
/dev/mapper/rl_lsh-home 5.0G 69M 5.0G 2% /home
tmpfs 197M 4.0K 197M 1% /run/user/0
/dev/mapper/rl_lsh-root
/dev/mapper/rl_lsh-data -> 마운트 해제해보자
/dev/mapper/rl_lsh-home
$umount /data # /data 해제
$ls /data/ # /data 정보 확인, 없다고 뜬다.
$mount /dev/mapper/rl_lsh-data /k1 # k1 으로 mount 해보자
$df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 982M 0 982M 0% /dev/shm
tmpfs 393M 5.5M 388M 2% /run
/dev/mapper/rl_lsh-root 12G 2.6G 9.5G 22% /
/dev/sda1 1014M 232M 783M 23% /boot
/dev/mapper/rl_lsh-home 5.0G 69M 5.0G 2% /home
tmpfs 197M 4.0K 197M 1% /run/user/0
/dev/mapper/rl_lsh-data 10G 125M 9.9G 2% /k1
k1 에 정상적으로 연결이 된 것을 확인할 수 있다.
5. Linux 부팅과 커널
5.1 리눅스 부팅 순서
1) power ON
2) ROM-BIOS
3) 부트매니저 로드(GRUB)
4) 커널 로드
5) 파일 시스템
6) 파일 시스템 마운트
7) 시스템 초기화(init, systemd)
8) 로그인
부팅레벨을 확인할 수 있다.
5 : xWindow로 부팅된 상태
3 : 정상 부팅
0 : 재부팅
5.2 리눅스 커널과 드라이버
기본적으로 커널은 하드웨어를 조작할 수 있지만
추가적인 장치를 조작 하기위해서는 드라이버를 설치하여 커널이 하드웨어를 조작하게 할 수 있다.
커널의 주요 기능은 다음과 같다.
메모리 관리, 프로세스 관리, 파일시스템 관리, 디바이스 관리, 네트워크 관리
$lsmod # 커널들의 목록을 확인할 수 있다
$lsblk # 부팅 파트 블록 확인
추가적인 커널의 정보는 http://kernel.org 에서 확인가능하다
'TIL' 카테고리의 다른 글
[리눅스] 사용자 용량 파티션 5일차 -1 (0) | 2023.04.28 |
---|---|
[리눅스] Ubuntu Sever, 패키지 설치 4일차-2 (0) | 2023.04.27 |
[리눅스] Linux bash 쉘과 쉘 스크립트 작성 3일차-2 (0) | 2023.04.26 |
[리눅스] Linux C, C++, JAVA 컴파일하기 3일차-1 (0) | 2023.04.26 |
[리눅스] Linux vi 에디터 심화 기능 (검색, 환경설정, 창 분할) 2일차-2 (1) | 2023.04.25 |