파워셸과 Cmd

파워셸과 Cmd

최근 Ubuntu에서 Windows 10으로 전환했습니다. Windows에는 PowerShell과 명령 프롬프트라는 두 가지 터미널이 있습니다. 그들 사이의 주요 차이점은 무엇입니까?

답변1

CMD는 Dos 시절부터 시작되었습니다. 간단한 명령 구조를 가지고 있으며 라인별 명령 언어입니다.

명령을 내리고 피드백을 받으며 프로그램을 시작하는 데 가장 유용합니다. 더 복잡한 작업을 수행하려면 일반적으로 이 기능을 구체적으로 수행하는 프로그램을 사용해야 합니다.

cmd에는 복사, 이동과 같은 많은 명령이 포함되어 있지만 여전히 몇 가지 기본 작업을 수행하기 위한 것입니다.

PowerShell은 명령 프롬프트의 확장 버전인 고급 언어입니다. .net 프레임워크를 사용하여 Linux용 bash의 Windows 변형을 갖도록 만들어졌습니다. 모든 명령은 Powershell에 기본으로 제공되며 모든 프로그램의 출력과 상호 작용하여 더 많은 작업을 수행할 수 있습니다.

그들 사이의 주요 차이점은 무엇입니까?

cmd는 배우기 매우 쉬운 언어이지만 수행할 수 있는 작업은 매우 제한적입니다.

Powershell은 bash와 같은 다른 언어에 대한 지식이 없으면 마스터하기가 쉽지 않은 매우 복잡한 언어입니다. 하지만 일단 마스터하고 나면 가능성의 세계가 열립니다. 그 강점은 명령을 함께 연결하고(출력을 한 명령에서 다음 명령으로 리디렉션하고 다음 명령으로 리디렉션하는 등) 출력을 사용하고 더 유용한 것으로 편집한 다음 이를 표시하거나 저장할 수 있다는 것입니다.

답변2

배치와 Powershell 사이에는 공통점이 많지 않습니다.

Batch는 30년 동안 존재해 왔으며 유일한 주요 확장은 MSDOS에서 Windows로의 변경으로 이루어졌습니다.

Batch는 간단한 명령과 매우 기본적인 문자열/수학 연산만 지원합니다.
가장 필요한 기능을 스스로 구축하는 것이 가능하며,그건 나한테는 재미있어.
그러나 나는 그것을 생산적인 스크립트를 작성하는 데 사용하지 않을 것입니다. 왜냐하면 안정적이고 유지 관리가 가능하며 방탄 스크립트를 작성하는 것이 정말 어렵기 때문입니다(그리고 제가 무슨 말을 하는지 알고 있습니다).

Powershell은 다른 셸과 호환되지 않는 완전한 자체 구문 스타일을 가지고 있습니다.
.NET 개체를 기반으로 하며 명령은 텍스트 대신 개체에 대해 작동합니다.
배치보다 훨씬 강력하지만 PowerShell은 완전히 새로운 Microsoft와 같습니다.미래도구, 죽은 말.
Microsoft가 다음으로 교체할 때까지 몇 년 동안 존재할 것입니다.미래도구.

IMHO, 구문을 배울 가치가 없습니다.

개인적으로 저는 Windows용으로 git-bash나 cygwin을 사용합니다. 하지만 대부분의 경우 생산성을 높이기 위해 Linux 시스템을 사용하고 있습니다.

관련 정보