CLI란?
Command-Line Interface(명령줄 인터페이스)의 약어로, 텍스트 기반으로 작동하는 사용자 인터페이스를 의미합니다. CLI를 사용하면 키보드를 사용하여 컴퓨터에 명령어를 직접 입력할 수 있으며, 이러한 명령어는 컴퓨터에서 실행됩니다.
CLI는 GUI(Graphical User Interface, 그래픽 사용자 인터페이스)와 대조되는 개념으로, 보통 개발자와 같은 전문가들이 사용하며, 대부분의 운영 체제에서 기본적으로 제공됩니다.
CLI는 작업을 자동화하고 시스템을 효율적으로 관리하는 데에 유용하며, 일부 사용자들은 GUI보다 더 빠르고 정확하게 작업할 수 있습니다
CMD(Command Prompt)란?
Microsoft에서 개발한 CLI로, MS-DOS 운영 체제와 함께 1981년에 처음 소개되었습니다.
초기 버전의 CMD는 명령어를 실행할 때, MS-DOS 명령어를 사용했습니다.
이후 Windows 95, 98, NT등을 거치면서 많은 부분들이 개선되어갔으며, PowerShell이나 Windows Terminal이 나온 현 시점에서도 여전히 많은 사용자들에게 사용되고 있습니다.
PowerShell이란?
Microsoft에서 개발한 CLI 및 스크립팅 언어로 2006년에 출시되었습니다. PowerShell은 CMD보다 더 강력한 기능과 유연성을 제공합니다.
Windows 운영 체제를 사용하는 관리자들은 많은 작업들(예를 들어, 사용자 계정 추가/삭제, 웹 서버 구성, 데이터베이스 관리와 같은)을 수행해야합니다. 이러한 작업들은 명령어를 통해서 수행할 수 있지만, 명령어가 많고 복잡해서 시간과 노력이 많이 듭니다. 또 이런 작업들은 GUI에서 작업하게 되면 직관적이지 않다는 단점도 있습니다.
PowerShell은 이런 문제점들을 개선하기 위해 개발됐습니다. Windows 위에서 작동하는 다른 어플리케이션들과 마찬가지로 .NET framework를 기반으로 해서 작동하고, 명령어를 실행하기 위해 스크립트를 사용합니다. 또한 CMD와 달리 다양한 데이터 형식을 지원하고, 변수, 함수, 제어 구조, 클래스 등 다양한 프로그래밍 요소들을 처리할 수 있는 기능을 제공합니다.
Windows Vista에서 처음 소개되었으며 이후 여러 버전에서 지원되고 있으며, Linux, macOS, AWS, Azure 등 다양한 플랫폼에서도 사용할 수 있습니다.
Windows terminal이란?
Microsoft에서 개발한 새로운 터미널 응용 프로그램입니다. 2019년에 처음 발표되어 Windows 10 버전 이상에서 사용할 수 있습니다. 여러 개의 탭과 패널을 지원하며, PowerShell, CMD, WSL,Azue Cloud Shell 등 다양한 Shell을 실행할 수 있습니다.
Windows는 다양한 shell을 제공합니다. 그러나 실행하는 방법이 각각 다르고, 여러 개의 shell을 실행하거나 탭을 통해 전환하는 것도 불편합니다. 또 이전의 콘솔 창은 기능적으로 제한되어 있어 여러 기능을 사용하지 못하는 경우가 많습니다.
Windows terminal은 여러 shell을 통합해서 사용할 수 있고, 탭을 통해 여러 개의 shell을 동시에 실행할 수 있게 해주어 이러한 문제점들을 해결해줍니다. 또 색상, 폰트 등을 자유롭게 설정하는 등 다양한 기능도 제공합니다
CMD vs PowerShell vs Windows Terminal 비교
CMD
- 기본적인 명령어와 제한된 기능을 제공
- 명령어는 공백으로 구분된 단어로 작성
- 구문 분석이 수행되지 않으며, 텍스트 출력으로만 결과 표시
PowerShell
- .NET framework와 같은 프로그래밍 언어를 기반으로하여, 스크립트 및 함수를 작성
- 동사-명사 구조를 사용하여 명령어 작성
- 구문 분석을 수행하며 .NET 객체를 사용하여 출력 결과를 처리
- 모듈 기능을 제공하여 필요한 기능 추가 가능
Windows Terminal
- PowerShell, CMD, Linux Bash 및 다른 shell들 실행 가능
- 다양한 탭, 분할 화면, 테마, 사용자 설정 등 다양한 기능 제공
- 다른 CLI와 함께 사용하기 좋음
'Computer Science' 카테고리의 다른 글
SPOF(Single Point Of Failure)란? (0) | 2023.03.09 |
---|