리눅스 입문 04

AeZan·2023년 9월 11일
0

📄 Program VS Process

Program: 디스크에 저장되어 있는 정적인 개체
Process: 실행 중인 program. program 실행 시 메모리에 올라가는 동적인 개체

📄 Process

PID
프로세스에 OS 가 관리를 위해 할당함

PPID
부모 자식 간의 관계를 확인할 수 있는 번호

init
부팅 시 가장 먼저 시작하는 프로세스 (system.d)

데몬 프로세스
백그라운드에서 돌아가는 프로세스

고아 프로세스
프로세스의 작업이 종료되면 부모 프로세스로도아가는데, 부모 프로세스가 먼저 종료되면 자원을 반환하고 돌아갈 곳이 없어짐

좀비 프로세스 (defunct process)
이미 종료한 상태지만, 자원을 반환하지 못한 상태의 프로세스 (자원 반환이 되지 않으면 다른 프로세스는 작업을 하지 못함)
kill 로 죽이거나 시스템 리부트..

명령어

ps- ef

-e: select all process
-f: full format listening

pstree: 부모-자식 프로세스 관계 확인

* top 자원 사용 확인 명령어


📄 실습

process kill 명령어로 강제로 종료시키기

PID 찾기
ps -ef | grep [프로그램명]
pgrep [프로그램명]

프로세스 죽이기
kill -9 [PID]
pkill [프로그램명]

swp 파일 ...?

vim 을 강제 종료 시켰을 때 아래와 같은 파일이 생성되었음

이미 swp 파일이 존재하면 swo 파일로 새로 생성 됨
swp -> swo -> swn -> swm ...

강제 종료했던 파일을 열면 편집하던 내용을 복구할 것인지에 대한 위와 같은 옵션이 뜸

여기서 R(복구) 선택시

swp 파일이 여러 개이면 모두 찾아와 번호로 선택하라고 함
여기서 복구하게 되면 이전에 작업하던 내용이 나타남!

D(삭제) 선택시 swp 파일만 삭제됨

swp 삭제 후엔 swp 파일 인식이 안되기 때문에
아래 명령어로 다른 파일들을 이용하여 복구 가능
vim -r .testecho.swo


여기서 궁금증

  • 왜 모든 파일을 다 지우지 않고 swp 만 지우는가
  • vim 로 다시 켰더니 swp 만 지워지고 나머지 파일은 존재하는데, 스왑 파일로 인식하지 않는가
    (swo 파일을 swp 이름으로 바꿔도 vim 은 인식하지 않음)

이유 못찾았음..
뇌피셜) swp 파일에 대한 ID? 를 vim 이 인식을 하고 R(복구) 했을 때 다른 파일도 리스팅 되는건 swp 에 swp-swo-swn 이런식으로 연결되어 있어서 찾는 거라고 생각함
swp 삭제 시에 이젠 vim 은 인식하지 않고 뒤에 연결고리들도 볼 수 없으니 못찾는 거라고 생각함

내 생각엔 vim 은 swp 파일만 인식하고, 그래서 삭제도 해당 파일만 됨

해당 파일 생성 목적

강제 종료와 같이 불가피하게 작업을 완전하게 종료하지 못했을 때, 작업 변경사항 임시 저장 후 복구를 위해 생성

리눅스는 멀티 유저, 멀티 작업이 가능하므로 여러 유저가 한 파일을 수정한다고 했을 때 다른 사람이 먼저 해당 파일을 저장하고 종료하면 다른 사람의 파일에 대한 변경사항을 저장하기 위해 사용함 ->?

vi 동작 원리
vi 켜서 내용 작성 시 swp 파일에 저장 -> :wq -> 원본에 저장 -> swp 삭제


command-line interpreter program

리눅스의 커널과 사용자를 연결해주는 인터페이스.
사용자의 명령어를 커널이 이해할 수 있도록 해석하고 전달하여 프로그램을 실행시킴

터미널 - 유저 인터페이스 (도구)
쉘은 터미널 위에 올라가 있는 것


아카이브

tar 명령어를 보면 아카이브 = 압축 이라 오해하는데, 파일들을 묶는 것 뿐임
파일 이동과 같은 과정을 편리하게 하기 위해 사용

-z 옵션을 사용하여 gzip 으로 압축함

  • 아카이브 및 압축
    tar -cvf [filename]
    tar -cvfz [filename]

  • 파일 추출
    tar -xvf [filename]
    tar -xvfz [filename]
    첫번째 명령어만 사용해도 압축된 파일도 추출이 됨

*파일 이름은 아래와 같이 작성해주는 것이 나중에 파일 목록에서 확인할 때 알기 쉽다.

파일.tar
파일.tar.gz

0개의 댓글