기본 개념
명령의 종류
Shell의 정의
운영체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램
쉘은 사용자와 운영체제의 내부(커널)사이의 인터페이스를 감싸는 층.
커널을 통해 하드웨어 제어하는데 커널에 접속하려면 쉘을 통해 ,,, 함. 쉘(컴퓨터가 사람에게 제공하는 인터페이스)
Shell의 특성 - 인터페이스
REPL (Read - Eval - Print - Loop) 레플
입력 - 평가 -출력 - 입력 loop
터미널을 통해 ls -al읠 입력하면
read 후
명령어 라인 분석 (Parsing) -명령, 옵션, 인자
입력어가 내부 명령어인지, 외부인지 Eval(평가) : 명령어 분석 ~ 판단 후
print (shell 내부 함수 호출 or 파일 실행)
종료 (프롬프트 복귀)
Shell의 특성 - 인터프리터
인터페이스(REPL)의 본질 : 인터프리터(Interpreter 통역, 번역) - 사용자가 작성한 코드를 즉시 실행하고 결과를 반환(JS,Python)
인터프린터 응용 -> 쉘 스크립트 실행 : 실행할 명령을 소스코드의 형태로 모아서 한꺼번에 실행, 고유의 문법有(변수 선언, 조건, 반복 등)
REPL과 인터프리터
REPL : 크롬 브라우저 콘솔 (또는 node.js) , 사용자가 입력한 라인마다 실행
Shell과 JavaScript엔진의 차이점
JavaScript엔진: JS 소스코드를 실행하기 위한 수단
Shell: 사용자 명령 또는 스크립트를 통한 시스템 관리
인터페이스 (REPL) 사용자 입력에 대한 응답 사람이 실행 |
인터프리터 (Interpreter) 스크립트의 실행 (사람 또는 시스템이 실행) ex) 환경설정 |
(우분투)리눅스 기본 shell: Bash shell
Shell의 명령 종류
내부 명령 (빌트인 명령) |
외부 명령 |
Shell 내부에 함수 형태로 구현된 명령 => help명령으로 확인 가능 (pwd, echo..) |
별도의 실행 가능한 바이너리 파일로 구현(프로그램) => 파일이므로 ls 명령으로 확인 가능 |
외부 명령 - 실행 파일 경로 /파일 계층 표준(FHS)에 정의
사용자 명령 | 시스템 관리 |
필수: /bin | 필수: /sbin |
비필수: /usr/bin | 비필수: /usr/sbin |
소스코드를 통한 설치: /usr/local/bin | 소스코드를 통한 설치: /usr/local/sbin |
/bin 또는 /usr/bin : mv, nano,echo,mkdir | /sbin : mkfs, chgpasswd, fdisk |
내부 명령과 외부 명령의 차이
type(기능: 명령의 타입 정보 출력) 통해 확인
'강의 > DevOps Linux' 카테고리의 다른 글
[DevOps-Linux] 7. Shell -3 //표준 입출력과 리다이렉션 (0) | 2023.07.18 |
---|---|
[DevOps-Linux] 7. Shell -2 (0) | 2023.07.16 |
[DevOps-Linux] 5. 파일 시스템 (0) | 2023.07.12 |
[DevOps-Linux] 2. 소프트웨어 관리 및 유틸리티 (0) | 2023.07.11 |
[DevOps-Linux] 1. 서버 생성 및 기본 사용 (0) | 2023.07.10 |