많은 사람들이 명령 셸 , 명령줄 도구 , 터미널 을(를) 서로 교차하여 사용하므로 혼동될 수 있습니다. 이 문서에서는 이러한 개념의 차이점을 설명하고 각각에 대한 예제를 제공합니다.
명령 셸 컴퓨터를 관리하기 위한 대화형 명령줄 인터페이스로, 읽기Eval-Print 루프(REPL)라고도 합니다.
셸은 키보드에서 입력을 받아 해당 입력을 평가하고 입력을 셸 명령으로 실행하거나 실행할 운영 체제에 입력을 전달합니다. 대부분의 셸은 스크립트 파일에서 명령을 읽을 수도 있으며 변수, 흐름 제어 및 함수와 같은 프로그래밍 기능을 포함할 수 있습니다.
명령 셸 유형
명령 셸에는 두 가지 주요 유형이 있습니다.
범용 명령 셸
범용 명령 셸은 운영 체제에서 작동하도록 설계되었으며 운영 체제에서 지원하는 모든 명령을 실행할 수 있도록 합니다. 셸 관련 명령 및 프로그래밍 기능도 포함됩니다. 다음 목록에는 범용 명령 셸의 몇 가지 예가 포함되어 있습니다.
- PowerShell
- Windows 명령 셸
- bash - Linux에서 인기
- zsh - macOS에서 인기
유틸리티 명령 셸
유틸리티 명령 셸은 특정 애플리케이션 또는 서비스에서 작동하도록 설계되었습니다. 이러한 셸은 애플리케이션 또는 서비스와 관련된 명령만 실행할 수 있습니다. 일부 유틸리티 셸은 일괄 처리 스크립트에서 명령 실행을 지원하지만 프로그래밍 기능은 포함하지 않습니다. 일반적으로 이러한 셸은 대화형으로만 사용할 수 있습니다.
명령줄 도구
명령줄 도구 명령 셸에서 실행하는 독립 실행형 프로그램입니다. 명령줄 도구는 일반적으로 파일 관리, 설정 구성 또는 정보 쿼리와 같은 특정 작업을 수행하도록 설계되었습니다. 명령줄 도구는 외부 프로그램 실행을 지원하는 모든 셸에서 사용할 수 있습니다.
- Azure CLI - 지원되는 모든 셸에서 실행할 수 있는 Azure 리소스를 관리하기 위한 명령줄 도구 컬렉션입니다.
- Azure PowerShell - 지원되는 PowerShell 버전에서 실행할 수 있는 Azure 리소스를 관리하기 위한 PowerShell 모듈 컬렉션입니다.
- OpenSSH for Windows - 네트워크를 통해 보안 통신을 제공하는 명령줄 클라이언트 및 서버를 포함합니다.
- Windows 명령 - Windows에 기본 제공되는 명령줄 도구 컬렉션입니다.
일반적으로 명령줄 도구는 REPL(명령 셸) 인터페이스를 제공하지 않습니다. Windows의 netsh 명령은 명령줄 도구와 대화형 명령 셸 모두이므로 예외입니다.
터미널
터미널 명령 셸을 호스팅하기 위한 텍스트 기반 창을 제공하는 애플리케이션입니다. 일부 터미널은 특정 셸에서 작동하도록 설계되었으며 다른 터미널은 여러 셸을 호스트할 수 있습니다. 다음과 같은 고급 기능을 포함할 수도 있습니다.
- 단일 창 내에서 여러 창을 만드는 기능
- 여러 셸을 호스트하는 여러 탭을 만드는 기능
- 색 구성표 및 글꼴을 변경하는 기능
- 복사 및 붙여넣기 작업 지원
다음 목록에는 터미널 애플리케이션의 몇 가지 예가 포함되어 있습니다.
- Windows 터미널 - 여러 셸을 호스트할 수 있는 Windows용 최신 터미널 애플리케이션입니다.
- Windows 콘솔 호스트 - 텍스트 기반 애플리케이션에 대한 Windows의 기본 호스트 애플리케이션입니다. Windows 명령 셸 또는 PowerShell을 호스트할 수도 있습니다.
- macOS용 터미널 - bash 또는 zsh 셸을 호스트할 수 있는 macOS의 기본 터미널 애플리케이션입니다.
- macOS용 iTerm2 - macOS용 인기 있는 타사 터미널 애플리케이션입니다.
- Azure Cloud Shell - Microsoft Azure에서 호스트되는 브라우저 기반 터미널 애플리케이션입니다. Azure Cloud Shell은 bash 또는 PowerShell을 사용할 수 있는 옵션을 제공합니다. 각 셸은 Azure 리소스를 관리하기 위한 여러 명령줄 도구로 미리 구성됩니다.
PowerShell