[TIL 8-1. 리눅스 입문(4) Shell, Archive, 압축]
- Shell (A command-line interpreter program: user ↔ utilities ↔ shell ↔ os/kernel ↔ h/w)
- 장비(Hardware) ↔ 장비를 제어하는 개체(Kernel) ↔ 사용자의 명령어를 kernel에 입력할 수 있는 형태로 바꿔서 전달하는 개체 (shell) ↔ 사용자가 이용하는 응용 프로그램
- OS kernel: 운영체제의 핵심이 되는 부분, 컴퓨터의 자원들을 관리하는 역할을 수행
- 메모리관리, 프로세스관리, 장치관리, 프로세스 호출
- Job(작업)
- 정의: 쉘이 관리하는 프로세스, 쉘을 통하여 작업을 동작시키거나 조작할 수있다.
- 종류
- Foreground: 터미널에서 명령어를 실행하여 종료할 때까지 터미널 화면을 사용하여 동작하는 것. **
- Background: 터미널에서 명령어를 실행하여 종료할 때 까지 터미널 화면을 사용하지 않고 동작하는 것. (명령어의 끝에 &기호를 붙인다.) ⇒ 해당 프로세스가 끝나면 작업id, pid와 명령어와 함께 done이라는 결과가 나온다.
- Stopped: 명령어를 통하여 작업이 정지된 상태.
- Background ↔ Foreground
- Back to Fore ⇒ fg %(Job ID)
- Fore to Back ⇒ ctrl + z → bg %(Job ID)
- Archive
- 정의: 어떠한 문서나 기록을 모아놓은 기록 보관소.
- archive in linux: 여러개의 파일이나 디렉토리를 묶어서 하나의 파일로 만드는 것.
- 사용 이유: 파일의 이동, 공유, 저장을 쉽게 하기 위해서
- archiving tool: tar(Tape Archive)
- 아카이브 생성: 명령어 tar cvf (c: create, v: verbose, f: file) : tar cvf (filename.tar) (fileA fileB fileC ….)
- 아카이브 추출: 명령어 tar xvf(x: extract, v: verbose, f: file) tar cvf (filename.tar)
- tar 파일이 생성될 때 메타데이터 정보가 포함되기 때문에 개별 파일 용량의 합보다 tar 파일의 용량이 더 크다.
- 압축
- 압축은 큰 파일의 크기를 줄여서 네트워크를 통한 전송 시 트래픽을 줄일 수 있는 기능입니다.
- 압축은 파일의 크기를 줄이는 기능도 있지만 아카이빙 기능 또한 적용됩니다.
- gzip: 아카이브 기능을 적용하지 않고 파일 압축 기능만 제공합니다.