shell(쉘)
- 리눅스에서 쉘(shell)은 사용자와 운영 체제(커널) 사이의 인터페이스를 제공하는 소프트웨어
- 사용자는 쉘을 통해 명령을 입력하고 이 명령은 커널에 전달되어 실행
- 쉘은 텍스트 기반의 명령줄 인터페이스(CLI) 뿐만 아니라 스크립트 언어로서의 역할도 수행
- 명령어를 분석하고 OS에게 보내는 역할을 담당
예를 들어서
- 위의 코드를 helloworld.sh라는 이름으로 저장 후 ./hello_world.sh 명령으로 실행하면 셸은 해당 파일을 읽어서 명령을 해석하고 커널에 전달함_
- 커널은 이 명령을 실행하고 "Hello, World!"라는 문자열을 출력
- tar 명령어로 원하는 파일들을 fruits.tar안에 넣는다.
이렇게 파일들 여러 개를 하나로 묶어서 한 번에 다른 곳으로 보낸다- tar만 하면 묶기만 하는 것이고, 거기에 압축가지 하고 싶으면 -z(gzip)옵션도 추가해서 한다.
-z옵션 유무에 따른 용량 차이
- 그냥 묶으면 메타데이터 추가돼서 12k 되고, 그걸 압축한 것이 밑의 4k자리임