본문 바로가기

컴퓨터 지식

유닉스 쉘 2편


운영 체제는 모든 컴퓨터의 핵심 구성 요소입니다. 그것이 없으면 프로그래머와 사용자는 하드웨어와 직접 통신해야하며 하드웨어는 바이너리 만 통신합니다. 이 어려움은 사용자의 지침을 변환하는 특수 소프트웨어를 작성하여 신속하게 해결되었습니다. 바이너리로. 이 특별한 소프트웨어를 운영 체제 쉘이라고합니다. 셸이 받아들입니다. 키보드 또는 마우스로 입력 된 명령; 그런 다음이를 함수로 매핑합니다. 컴퓨터는 이해할 것이다. 셸의 실행주기가 그림 2.3에 나와 있습니다.
 


셸은 세 가지 하위 시스템으로 구성됩니다. 통신 및 라인 프로세서, 환경
메모리, 인터프리터. 명령 줄 프로세서는 기본 사용자 인터페이스 (UI)입니다.
이 UI는 텍스트 기반 명령 줄 프롬프트이거나 indowed user interface 일 수 있습니다.
두 경우 모두 비슷한 방식으로 동작하지만 text_based 명령에 초점을 맞 춥니 다.
선.
명령 행은 프롬프트를 표시하고 사용자가 comrmnd를 입력 할 때까지 대기합니다. 명령
쉘의 파서로 보내지는데, 그 일은 무엇이 입력되었는지를 알아내는 것이다. 그 결정에 기초하여,
쉘은 사용자의 요청을 수행하려고합니다. 셸이 어떻게해야하는지 알고 있다면
요청한 작업을 처리 할 때마다 내부 셸 함수를 호출하여 작업을 구성하고 결과를 반환합니다
제 2 장 유닉스 이해 19
결과를 화면에 표시하거나 파일에 저장하거나 일부 데이터를 보내 사용자에게 표시
포트 (사용자 요청에 따라). 내부 요청의 예는
쉘의 환경 변수.
 
셸이 통신을 인식하지 못하면 외부 프로그램을 찾지 못합니다.
셸에서 comm의 이름과 일치합니다. 이 프로그램들은 오페라
시스템 유틸리티 또는 제 3 자 프로그램. 쉘은 defa ult 검색 전략을 사용하여
이러한 외부 프로그램. 쉘의 기본 검색 전략은 현재 작업중인 것으로 시작합니다.
예배 규칙서. 현재 작업 디렉토리는 그 때 작업하고있는 디렉토리입니다. 그것은
먼저 검색했습니다. 이것이 실패하면, 쉘의 환경 메모리는 PATH라는 변수를 유지합니다
쉘이 외부 프로그램을 찾을 때 사용할 수있는 다른 디렉토리를 정의합니다. 명령,
프로그램 또는 파일을 찾을 수 없으면 오류 메시지가 표시되고
검색을 중지합니다. 사용자는 PATH 변수를 수정하여 추가 디렉토리를 제거하거나 추가 할 수 있습니다.
우리는 곧 이것에 대해 이야기 할 것입니다.
 
쉘은 텍스트 파일에서 comrmnds를 승인 할 수도 있습니다. 즉, 수동으로 comrmnds를 입력 할 수 있음을 의미합니다.
명령 프롬프트에서 또는 comm을 텍스트 파일에 넣고 명령 줄을 "run"
텍스트 파일 이것은 쉘의 인터프리터에 의해 처리됩니다. 쉘의 통역관은
스크립팅 언어. 이 언어를 사용하면 일반 명령 줄 명령
조건부 및 반복문과 같은 프로그래밍 방식의 명령문이 추가되었습니다. 일부 경우에,
서브 루틴도 가능합니다. 이러한 텍스트 파일을 스크립트라고합니다.
스크립트 파일에는 두 가지 유형이 있습니다. 사용자 및 시스템. 시스템 스크립트는 파일 이름을 예약했습니다.
운영 체제와의 상호 작용 동안 특수한 시간에이 스크립트는
운영 체제에 의해 자동으로 호출됩니다. 사용자 스크립트를 운영체제에서 알 수 없음
체계. 사용자가 구체적으로 요청할 때만 비게됩니다. 시스템 예
스크립트는 시작 스크립트, 로그인 스크립트, 스케줄 스크립트 및 로그 아웃 scr ipts라고합니다.
시작 스크립트는 컴퓨터가 켜지면 자동으로 실행됩니다. 스크립트
사용자가 로그인 할 때 자동으로 실행됩니다. 로그 아웃 스크립트는 사용자가 로그 할 때 실행됩니다.
떨어져서. 스케줄링 스크립트는 시계의 몇 시간에 자동으로 실행됩니다. 충분한 사용자 스크립트
백업 스크립트, 스크립트 컴파일 및 프로그램 설정 스크립트 일 수 있습니다. 사용자가 호출해야합니다.
이 스크립트는 특별히.
 



'컴퓨터 지식' 카테고리의 다른 글

자세한 명령 줄 명령 설명  (0) 2017.08.09
유닉스 세션과 커맨드 라인 인터페이스  (0) 2017.08.09
유닉스 운영체제  (0) 2017.08.09
유닉스 쉘  (0) 2017.08.09
런타임 환경  (0) 2017.08.09