일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- chmod
- pvcreate
- 같은폴더
- firewalld
- nmcli
- 프로세스
- lvcreate
- Kubernetes
- swapon
- 날짜변경
- newbingai
- permission
- docker
- tar
- HTTPD
- yum
- M365필터
- MSBing
- mount
- 랜카드인식불량
- ssh
- 엑셀파일명변경
- vagrant kubernetes
- docker network
- 리다이렉션
- vgcreate
- chatGPT
- journalctl
- ansible
- docker image
- Today
- Total
becool
20210407 (수) 본문
9:43 review
stdin, stdout, stderr
표준 출력에 대한 리다이렉션 :
[COMMAND] > [FILE] overwrite
[COMMAND] >> [FILE] append
[user@localhost 20210407]$ ls -a /tmp > ./tmp1
[user@localhost 20210407]$ echo test1234 >> test.txt
표준 에러에 대한 리다이렉션 :
[COMMAND] 2> [FILE] overwrite
[COMMAND] 2>> [FILE] append
[user@localhost 20210407]$ cd tmp1 2> test1
[user@localhost 20210407]$ cat test1
bash: cd: tmp1: Not a directory
표준 입력에 대한 리다이렉션 :
[COMMAND] < [FILE]
[user@localhost 20210407]$ cat 0< /etc/resolv.conf
# Generated by NetworkManager
nameserver 203.248.252.2
nameserver 164.124.101.2
파이프(Pipe)
[COMMAND1] | [COMMAND2]
먼저 실행된 명령어의 결과를 다음 실행 명령어의 입력을 전달
[root@localhost ~]# cat /etc/ssh/ssh_config | grep -v '^#'
주석제외 출력 (라인 첫부분에 # 제외하고 출력)
=============================================
프로세스
- 부모 프로세스 : 자식 프로세스를 실행한 프로세스
- 자식 프로세스 : 부모 프로세스에 의해서 실행된 프로세스
- 데몬 프로세스 : 운영체제 커널에 의해서 구동되는 백그라운드 프로세스
- 고아 프로세스 : 부모 프로세스가 먼저 종료된 프로세스
- 좀비 프로세스 : 자식 프로세스가 종료되기 위해 프로세스 리스트에서 대기 중인 프로세스
모든 프로세스가 종료를 위해 잠시 거치는 상태
프로세스가 정상적으로 종료되지 못하고 메모리에 잔류 중인 프로세스
ps -ef
ps aux
ps -ef | grep PROCESS_PATTERN
pgrep (ps+grep)ps -ef
ps aux
ps -ef | grep PROCESS_PATTERN
pgrep (ps + grep)
pgrep -x PROCESS_PATTERN
PROCESS_PATTERN 에 정확히 해당되는 내용만 출력
pgrep -n PROCESS_PATTERN
가장 최근에 실행된 프로세스 출력
pgrep -l PROCESS_PATTERN
PID, 프로세스 이름을 함께 출력
<프로세스 제어 시그널>
$ sleep 100
$ ps -ef | grep sleep
$ kill PID → 시그널 넘버 미지정 시, 기본값 15번 TERM 실행
kill
$ kill -s SIGNAL PID
killall
$ killall -SIG PROCESS_PATTERN
pkill
$ pkill -SIG [option] PROCESS_PATTERN
-P PPID : PPID 프로세스에 의해 실행된 프로세스를 제어
-t TTY : 지정한 제어 터미널 내에서 실행된 프로세스를 제어
pkill [OPTIONS] [PATTERN]
[user@localhost 20210407]$ pkill -15 sleep → 한꺼번에 종료됨.
pkill: killing pid 7086 failed: Operation not permitted
[1] Terminated sleep 1000
[2]- Terminated sleep 2000
[3]+ Terminated sleep 3000
[user@localhost 20210407]$ ps -ef |grep sleep
user 7126 3212 0 11:58 pts/0 00:00:00 sleep 1000
user 7133 3212 0 11:58 pts/0 00:00:00 sleep 2000
root 7154 783 0 11:59 ? 00:00:00 sleep 60
user 7155 6348 0 11:59 pts/1 00:00:00 sleep 3000
user 7164 3212 0 11:59 pts/0 00:00:00 grep --color=auto sleep
[user@localhost 20210407]$ ps -ef | grep bash
root 783 1 0 09:24 ? 00:00:00 /bin/bash /usr/sbin/ksmtuned
user 2483 2320 0 09:29 ? 00:00:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic"
user 3212 3202 0 09:30 pts/0 00:00:00 bash → Parent
user 6348 3202 0 11:29 pts/1 00:00:00 bash
user 7218 3212 0 12:00 pts/0 00:00:00 grep --color=auto bash
[user@localhost 20210407]$ pkill -15 -P 3212 sleep → Parent PID 3212의 sleep 종료
[1] Terminated sleep 1000
[2]- Terminated sleep 2000
[user@localhost 20210407]$ ps -ef | grep sleep
user 7155 6348 0 11:59 pts/1 00:00:00 sleep 3000
root 7267 783 0 12:01 ? 00:00:00 sleep 60
user 7300 3212 0 12:01 pts/0 00:00:00 grep --color=auto sleep
[user@localhost 20210407]$ ps -ef | grep sleep
user 7155 6348 0 11:59 pts/1 00:00:00 sleep 3000
root 7315 783 0 12:02 ? 00:00:00 sleep 60
user 7317 3212 0 12:02 pts/0 00:00:00 grep --color=auto sleep
[user@localhost 20210407]$ pkill -15 -t pts/1 sleep → 터미널 pts/1의 sleep 종료
[user@localhost 20210407]$ ps -ef | grep sleep
root 7331 783 0 12:03 ? 00:00:00 sleep 60
user 7340 3212 0 12:03 pts/0 00:00:00 grep --color=auto sleep
$ top 실시간 프로세스 모니터링
ps : 정적출력, top : 동적출력
키 | 목적 |
? 또는 h | 대화형 키 입력 도움말. |
l, t, , | 부하, 스레드 및 메모리 헤더 라인을 전환한다. |
1 | 개별 CPU 또는 헤더의 모든 CPU에 대한 요약을 표시하며 전환된다. |
s (1) | 새로 고침 (화면) 속도를 소수(초) 단위로 변경한다 (예 : 0.5, 1.5) |
b | 실행 중 프로세스에 대한 반전 강조 표시를 전환한다. 기본값은 굵은 글꼴이다. |
Shift+b | 디스플레이, 헤더 및 실행 중인 프로세스에 굵은 글꼴을 사용할 수 있도록 한다. |
Shift+h | 스레드를 전환한다. 프로세스 요약 또는 개별 스레드를 표시한다. |
u, Shift+u | 사용자 이름으로 필터링한다 (유효, 실제) |
Shift+m | 메모리 사용량에 따라 프로세스 목록을 내림차순으로 정렬한다. |
Shift+p | 프로세서(cpu) 사용량에 따라 프로세스 목록을 내림차순으로 정렬한다. |
k(1) | 프로세스를 종료한다. 프롬프트가 나타나면 PID를 입력한 후 신호를 입력한다. |
r(1) | 프로세스 우선 순위를 변경한다. 프롬프트가 나타나면 PID를 입력한 후 nice_value를 입력한다. |
Shift+w | 다음에 top을 다시 시작할 때 사용할 현재 디스플레이 구성을 작성(저장)한다. |
q | 종료 |
f | 필드를 활성화 또는 비활성화하여 열을 관리한다. 또한 top에 대한 정렬 필드를 설정할 수 있다 |
참고 | (1) top이 보안모드에서 시작된 경우 사용할 수 없음. |
==========================================
아카이브
1개 이상의 파일을 하나로의 파일로 묶는 파일
$ tar [COMMNAD] [FILE] [TARGETFILE]
백업 장치에 데이터를 백업하는 용도로 사용
디렉터리를 파일로 묶을 경우 사용한다.
아카이브 생성 $ tar cf
아카이브 확인 $ tar tf
아카이브 추출하기 $ tar xf
명령 | 의미 |
c(create) | 새로운 묶음을 생성 |
x(extract) | 묶은 파일을 풀어줌 |
t(list) | 묶음을 풀기전에 목록을 보여줌 |
f(file) | 묶음 파일명을 지정해줌 |
v(visual) | 파일이 묶이거나 풀리는 과정을 보여줌 |
z | tar + gzip |
j | tar + bzip2 |
J | tar + xz |
[user@localhost 20210407]$ tar cf test.tar file1 file2 file3
[user@localhost 20210407]$ tar tf test.tar
file1
file2
file3
[user@localhost 20210407]$ tar vtf test.tar
-rw-r--r-- user/user 994 2021-04-07 12:49 file1
-rw-r--r-- user/user 994 2021-04-07 12:49 file2
-rw-r--r-- user/user 994 2021-04-07 12:49 file3
zx==========================================
압축 및 압축 해제
compress
- 압축
$ compress FILE
- 압축 해제
$ uncompress FILE
gzip
- 압축
$ gzip FILE
- 압축 해제
$ gunzip FILE
$ gzip -d FILE
bzip2
- 압축
$ bzip2 FILE
- 압축 해제
$ bunzip2 FILE
xz
- 압축
$ xz FILE
- 압축 해제
$ unxz FILE
zip
- 압축
$ zip ZIP_FILE FILE1 FILE2 ... FILEn
- 압축 해제
$ unzip ZIP_FILE
'linux' 카테고리의 다른 글
20210408 (목) (0) | 2021.04.08 |
---|---|
20210407 (수) -NEW (0) | 2021.04.07 |
20210406 (화) (0) | 2021.04.06 |
20210405 (월) (0) | 2021.04.05 |
20210402 (0) | 2021.04.02 |