PowerShell 입문 강좌의 PowerShell과 Cmd 명령행의 관계는?
PowerShell의 CMD 명령
PowerShell을 시작하고 자주 사용하는 Cmd 명령 몇 개를 입력합니다.
PS D:\Projects\Practise\PowerShell> dir
Directory: D:\Projects\Practise\PowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 1/23/2013 12:35 PM d1
d---- 1/23/2013 12:35 PM d2
-a--- 1/21/2013 8:38 PM 36314 alias.txt
-a--- 1/21/2013 8:32 PM 241530 cmdlets.txt
혹은
PS D:\Projects\Practise\PowerShell> cd ..
PS D:\Projects\Practise>
결과는 우리의 기대와 많이 다르지 않다.그러나 PowerShell이 바로 PowerShell이라고 명령행의 강화판이라고 말할 수 있을까요?다음 명령을 다시 시도해 보세요.
PS D:\Projects\Practise\PowerShell> dir /ad
dir : Cannot find path 'D:\ad' because it does not exist.
이것은 우리의 기대와는 거리가 멀다.Cmd에서는 현재 위치의 하위 폴더에 대한 정보를 출력해야 하지만, 여기서는 인자를 이해하지 못할 것 같습니다.다음 명령도 마찬가지입니다.
PS D:\Projects\Practise\PowerShell> fc .\alias.txt .\cmdlets.txt
Format-Custom : A positional parameter cannot be found that accepts argument '.\cmdlets.txt'.
나는 본래 두 파일을 비교하는fc명령을 호출하려고 하였으나, 결과적으로는Format-custom으로 이해되었다.이것은 어떻게 된 일입니까?여기에서 우리는 앞의 두 가지 문제에 대답할 수 있다. PowerShell은 Cmd 명령줄의 모든 명령을 집행할 수 없다. 정확히 말하면 PowerShell은 어떠한 Cmd 명령도 집행할 수 없고 적어도 직접 집행할 수 없다.PowerShell은 Cmd의 새로운 버전이나 강화 버전이 아니라, 얼굴부터 기능까지 Cmd 명령과 비슷하기 때문이다.
PowerShell과 Cmd 명령행의 관계
SQLCmd나 Nslookup을 실행하는 프로그램으로 Cmd에서 실행할 수 있습니다. 실행 방식은 Cmd에서 SQLCmd를 실행하거나 Nslookup을 실행하는 것과 같습니다. 명확하지 않은 exit가 종료되기 전까지는 프로그램의 실행 환경이었습니다. 모든 입력은 명령과 데이터를 포함하여 프로그램에서 받아들여지고 처리됩니다.
D:\Projects\Practise\PowerShell>powershell
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
PS D:\Projects\Practise\PowerShell> get-help
TOPIC
Windows PowerShell Help System
또한 PowerShell에서 응용 프로그램으로 실행할 수 있으며 Cmd에서 PowerShell을 실행하는 것과 비슷하게 작동합니다.
PS D:\Projects\Practise\PowerShell> cmd
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
D:\Projects\Practise\PowerShell>dir /ad
Volume in drive D is Doc
Volume Serial Number is A6C5-E7CE
Directory of D:\Projects\Practise\PowerShell
01/30/2013 04:54 PM
.
01/30/2013 04:54 PM ..
01/23/2013 12:35 PM d1
01/23/2013 12:35 PM d2
PowerShell은 Alias 기능을 통해 사용자가 Cmd 스타일로 PowerShell 명령을 사용할 수 있도록 합니다.이렇게 하면 사용자가 PowerShell을 처음 접했을 때 Cmd를 사용하는 것처럼 친근하고 익숙하게 할 수 있다는 장점이 있다.나쁜 점은 PowerShell과 Cmd를 헷갈리기 쉽다는 것이다.그러나 Alias의 개념과 Get-Alias 명령을 이해하면 이 문제는 쉽게 풀릴 것이다.
PS D:\Projects\Practise\PowerShell> get-alias dir, echo, type
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Alias cd -> Set-Location
Alias echo -> Write-Output
즉, dir는 사실상 PowerShell의 Get-ChildItem 명령의 별명이고, cd는 Set-Location의 별명이다...여기까지 PowerShell과 Cmd의 관계 문제는 해결된 셈이다.
Cmd 명령줄이 PowerShell로 대체됩니까?
나는 사실 지금까지'누가 누구보다 못하냐','누가 누구를 대신하겠느냐'는 질문을 싫어해 왔다. 여기에 놓아도 마찬가지다. 새로운 것은 반드시 그 우월성이 있고, 낡은 것도 한 표의 팬이 있다.현재 PowerShell이 받아들여지고 있는 정도를 보면 당분간 Cmd는 PowerShell로 대체되지 않을 것이다.장기적으로 보면 누가 알겠는가.나는 단지 선택이 많으면 자유가 많고 가능성이 많다는 것을 알 뿐이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.