터미널
컴퓨터 시스템과 사용자 간에 상호작용을 가능하게 해주는 인터페이스입니다. 일반적으로 컴퓨터에서 명령어를 입력하고 시스템의 작업을 실행하거나 모니터링할 수 있도록 하는 텍스트 기반의 사용자 인터페이스를 의미합니다.
터미널은 다양한 운영체제에서 사용되며, 주로 명령줄 인터페이스(CLI)를 제공합니다. 이는 텍스트로 된 명령어를 입력하여 컴퓨터 시스템에 명령을 전달하고, 그 결과를 텍스트로 반환받는 방식으로 작동합니다. 주로 개발자, 시스템 관리자, 네트워크 관리자 등이 터미널을 사용하여 시스템 설정, 파일 및 디렉터리 관리, 프로그램 실행, 네트워크 관리자 등이 터미널을 사용하여 시스템 설정, 파일 및 디렉터리 관리, 프로그램 실행, 네트워크 연결 등을 수행합니다.
터미널은 GUI와 대조되는 개념입니다. GUI는 그래픽으로 표현된 아이콘, 버튼, 창 등을 사용하여 사용자와 상호작용하는 방식을 의미합니다. 반면에 터미널은 키보드를 통해 텍스트 명령어를 입력하고 화면에 텍스트로 결과를 표시하는 인터페이스입니다.
Shell
운영체제와 사용자 간의 인터페이스를 제공하는 프로그램입니다. 사용자가 터미널을 통해 명령어를 입력하고, 이를 해석하고 실행하는 역할을 담당합니다. 즉, 쉘은 사용자가 명령어를 입력하면 그것을 운영 체제의 커널에 전달하여 해당 작업을 실행하도록 도와줍니다. 또한 CLI를 사용하여 텍스트 기반으로 작동합니다. 사용자가 터미널 또는 명령 프롬프트를 열면, 쉘이 실행되고 사용자가 입력한 명령어를 받아들이고 처리합니다.
다양한 운영 체제에서 다양한 종류의 쉘이 있으며, 각각 특정 목적에 따라 설계되었습니다. Unix와 Unix 계통의 운영 체제들은 보편적으로 bash라는 쉘을 사용하며, Windows 운영 체제는 cmd 또는 PowerShell을 사용합니다.
Unix Shell
- sh : 초기의 유닉스 쉘
- ksh : 콘 쉘이라고도 불리며 데이비드 콘이 개발했으며 sh를 확장하여 만듦.
- csh : C언어를 기반으로 만든 쉘.
- bash : 브라이언 폭스에 의해 만들어진 쉘로 sh와 대부분 호환
Windows
- cmd : 절차 지향적 성격을 가지고 있으며 윈도우 NT 계열에서 만듦
- Power shell : NET Frame Work 객체를 사용하여 모든 결과들이 객체로 표현
'BackEnd > OS에 대한 전반적인 지식' 카테고리의 다른 글
프로세스 관리 (0) | 2023.08.16 |
---|---|
POSIX 기초 (0) | 2023.08.16 |
네트워크 기본 개념 (0) | 2023.08.16 |