PID
: proces id의 축약어, 프로세스 식별 고유번호1. 전체 프로세스 정보
root@il7:~# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:08 ? 00:00:00 /sbin/init
root 2 0 0 04:08 ? 00:00:00 [kthreadd]
root 3 2 0 04:08 ? 00:00:00 [rcu_gp]
root 4 2 0 04:08 ? 00:00:00 [rcu_par_gp]
root 5 2 0 04:08 ? 00:00:00 [slub_flushwq]
root 6 2 0 04:08 ? 00:00:00 [netns]
root 8 2 0 04:08 ? 00:00:00 [kworker/0:0H-events_
2. bash가 실행중인지 검색
root@il7:~# ps -ef | grep bash
j 964 766 0 04:12 tty1 00:00:00 -bash
root 971 970 0 04:12 pts/0 00:00:00 -bash
j 999 998 0 04:12 pts/1 00:00:00 -bash
root 1006 1005 0 04:12 pts/2 00:00:00 -bash
root 1052 1006 0 05:57 pts/2 00:00:00 grep --color=auto bash
3. top = Table of Process
root@il7:~# top
top - 05:55:22 up 1:46, 4 users, load average: 0.34, 0.31, 0.29
Tasks: 119 total, 1 running, 118 sleeping, 0 stopped, 0 zombie ★ (부모 process와 자식 process간 trouble이 발생했음을 뜻)
%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.0 id, 0.2 wa, 0.0 hi, 0.3 si, 0.0 st
MiB Mem : 1975.8 total, 1003.9 free, 600.8 used, 371.1 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1220.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
835 mysql 20 0 1791560 393144 35380 S 1.0 19.4 0:35.12 mysqld
17 root 20 0 0 0 0 I 0.3 0.0 0:02.26 kworker+
,,,
4. pstree = Process Tree = 모든 process 부모 process 시스템의 정보 출력
root@il7:~# pstree -pn -pn : 정렬 옵션
systemd(1)─┬─systemd-journal(358)
├─multipathd(402)─┬─{multipathd}(406)
│ ├─{multipathd}(407)
│ ├─{multipathd}(408)
│ ├─{multipathd}(409)
│ ├─{multipathd}(410)
│ └─{multipathd}(411)
├─systemd-udevd(405)
├─systemd-timesyn(523)───{systemd-timesyn}(530)
├─systemd-network(591)
├─systemd-resolve(593)
├─dbus-daemon(606)
├─networkd-dispat(612)
├─systemd-logind(631)
├─java(652)─┬─{java}(789)
│ ├─{java}(799)
│ ├─{java}(800)
│
│ ├─{java}(919)
│ └─{java}(920)
├─sshd(657)───sshd(978)───sshd(998)───bash(999)───sudo(1004)───sudo(+
├─apache2(679)─┬─apache2(680)─┬─{apache2}(703)
│ │ ├─{apache2}(708)
│ │ ├─{apache2}(710)
│ │ ,,,
│ │ ├─{apache2}(749)
│ │ └─{apache2}(750)
│ └─apache2(681)─┬─{apache2}(698)
│ ├─{apache2}(700)
│ ├─{apache2}(701)
│ ,,,
│ ├─{apache2}(739)
│ ├─{apache2}(741)
│ └─{apache2}(743)
├─login(766)───bash(964)───sudo(969)───sudo(970)───bash(971)
├─unattended-upgr(778)───{unattended-upgr}(839)
├─mysqld(835)─┬─{mysqld}(854)
│ ├─{mysqld}(855)
│ ,,,
│ ├─{mysqld}(900)
│ └─{mysqld}(902)
├─sendmail-mta(924)
└─systemd(957)───(sd-pam)(958)
root@il7:~# jobs - 백그라운드 작업
[1]+ Stopped top
root@il7:~# jobs -l -l : 작업 list detail 출력
[1]+ 1045 Stopped (signal) top
root@nc7:~# nl /etc/shells - 변경 가능한 shell 목록 출력
1 # /etc/shells: valid login shells
2 /bin/sh
3 /bin/bash
4 /usr/bin/bash
5 /bin/rbash
6 /usr/bin/rbash
7 /usr/bin/sh
8 /bin/dash
9 /usr/bin/dash
10 /bin/ksh93
11 /usr/bin/ksh93
12 /bin/rksh93
13 /usr/bin/rksh93
쉘 종류 (출처 : https://www.leafcats.com/222)
- BASH (Bourne-Again Shell) [/bin/bash] : 일반적으로 가장 흔하게 사용되는 쉘이다. sh 본쉘과 호환되기 때문에 대부분 sh와 bash에서 모두 작동된다.
- CSH (C Shell) [/bin/sh] : C 언어와 유사한 문법을 가지고 있다. 유닉스의 기본 쉘이다.
- TCSH [/bin/tcsh] : 일반적인 C 쉘이며 사용자 중심이고 속도가 빠르다.
ksh 특징
- 명령 줄 편집 기능의 확장
- 다양한 조건 테스트 및 수학 연산 기능
- 배열 및 연관 배열 지원
- 환경 변수 및 로케일 관리 기능
- 셸 함수 및 별칭 지원
- 작업 관리 및 프로세스 제어 기능
root@nc7:~# ai ksh - ksh 쉘 설치
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
ksh93u+m
Suggested packages:
binfmt-support
,,,
Linux 부팅 순서
power on > ROM-BIOS > 부트 메니저(GRUB) > 커널로드 > 파일시스템 > 파일 시스템 마운트 > 시스템 초기화 (init, systemd) > 로그인
부팅 메니저
root@il7:/boot# nl /etc/default/grub
=>
# For full documentation of the options in this file, see:
root@il7:/boot# nl /boot/grub/grub.cfg
=>
# DO NOT EDIT THIS FILE
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
- 부팅시 파일 실행순서
0 . poweroff.target
1 . rescue.target -single user mode
2 . multi-user.target - Network service x
3 . multi-user.target - 정상적 사용
4 . Not used = 사용 x = 따로 정의해야함
5 . graphical.target - GUI
6 . reboot.target - 시스템 재부팅
apt
명령 명령 | 설명 | get 명령 |
---|---|---|
apt list | 패키지 목록 | dpkg -l |
apt list --installed | 패키지를 설치 | |
apt show | 패키지 상세 정보 | apt-cache show |
apt remove | 패키지 삭제 | apt-get remove |
apt purge | 패키지와 관련 설정 파일 일괄 제거 | apt-get purge |
apt update | 사용 가능한 패키지의 목록 업데이트 | apt-get update |
apt upgrade | 패키지 설치/업그레이드를 통해 시스템 업그레이드 | apt-get upgrade |
apt autoremove | 불필요한 패키지 자동 제거 | apt-get autoremove |
apt full-upgrade | 가능한 모든 패키지 업그레이드 | apt-get dist-upgrade |
apt search | 프로그램 검색 | apt-get search |
apt edit-sources | 소스 정보 파일 편집 | |
다운 실행 | apt-get download+ 패키지 명 |
이름 | 설명 |
---|---|
FAT32 | 디지털 카메라 등에 장착되는 대부분의 메모리 카드와 수많은 컴퓨터 시스템에 널리 쓰이는 컴퓨터 파일 시스템 구조 |
NTFS | 윈도우 NT 계열 운영체제의 파일 시스템 |
ISO 9660 | CD rom 형식과 CD rom에서 파일을 표현하는 방법에 대해 ISO(국제 표준화 기구) DPTJ가 정한 표준 규격 |
nfs(★) | Linux network file-system, 네트워크 파일 체계. 규약을 사용하면 통신망을 통해 저장된 컴퓨터에서 다른 컴퓨터의 디스크를 간단한 방법으로 접근 |
ext4(★) | Linux가 현재 기본으로 사용하는 file-system, ext2,ext3에서 발전 |
SWAP | 부족한 Memory 보충을 위한 file-system, 보통 실제 메모리의 2배 설정 |
저널링 | log 기록하여 정확성 체크 |
mount
: 물리적으로 존재하는 장치를 논리적인 dirtory에 연결을 의미. 특정장치를 사용하기 위해 메모리 할당은 특징root@il7:/# fdisk -l - 마운트 정보 확인
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: VBOX HARDDISK ★ ( RockyLinux에선 VBoxLinuxAdditions.run 실행파일을 켠 이유)
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 75875877-E953-4D00-9FCF-5CC253151856
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 6295551 4194304 2G Linux swap
/dev/sda4 6295552 31461375 25165824 12G Linux filesystem
/dev/sda5 31461376 41947135 10485760 5G Linux filesystem
/dev/sda6 41947136 62912511 20965376 10G Linux filesystem
root@il7:~# df -h - 디스크에 마운트 확인
Filesystem Size Used Avail Use% Mounted on
tmpfs 198M 760K 197M 1% /run
/dev/sda4 12G 4.5G 6.7G 41% /
tmpfs 988M 0 988M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 974M 130M 777M 15% /boot
/dev/sda6 9.8G 24K 9.3G 1% /data
/dev/sda5 4.9G 136K 4.6G 1% /home
tmpfs 198M 4.0K 198M 1% /run/user/1000
root@il7:~# mount -t vboxsf - VirtualBox의 공유 폴더(file sharing) 기능을 위한 가상 파일 시스템과 mount 하는 작업
root@il7:~# mount -t vboxsf win /yes
=
mount [options] <source> | [--target] <directory>
mount -t vboxsf win /yes
(마운트 드라이브형식) (window파일) (Linux 파일)
root@il7:/# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 198M 760K 197M 1% /run
/dev/sda4 12G 4.5G 6.7G 41% /
tmpfs 988M 0 988M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 974M 130M 777M 15% /boot
/dev/sda6 9.8G 24K 9.3G 1% /data
/dev/sda5 4.9G 136K 4.6G 1% /home
tmpfs 198M 4.0K 198M 1% /run/user/1000
win 932G 132M 932G 1% /yes - 마운트 성공
root@il7:~# cd /yes/ - 경로 변경
root@il7:/yes# ls - 정상적인 마운팅이 완료
' 드디어 되어따' test.txt winwin.txt
vi /etc/fstab
12 /dev/disk/by-uuid/bb54bda0-2f6e-4bda-9d6a-cf6a2cf52c96 /home ext4 defaults,usrquota 0 1
<file system> <mount point> <type> <options> <dump> <pass>
Option | 의미 |
---|---|
defaults | rw + auto(자동 마운팅) + nouser(일반계정 마운트x) = 계정의 용량 제한할때 사용 |
dump (백업을 수행) | 1 : dump on! / 0 : dump off! |
fsck | 1,2 : 파일 시스템 검사와 복구를 수행! (1,2는 우선순위) / 0: 검사 복구 수행 x |
> fsck는 파일 시스템을 검사하는 동안 시스템의 부하를 줄이기 위해 파일 시스템을 읽기 전용 모드로 마운트하고 검사를 수행. 따라서 파일 시스템을 검사하려면 해당 파일 시스템을 마운트 해제한 후 fsck를 실행요함. | |
tmpfs | 하나 이상의 프로세스 영역에 접근할 수 있도록 공유 메모리 지원 |
UUID | Universioal Unique IDentifier : 범용 고유 식별자 장치나 구성 설정에 할당되는 고유 값 |