윈도우 파워셸

위키백과, 우리 모두의 백과사전.
(윈도 파워셸에서 넘어옴)
이동: 둘러보기, 검색
마이크로소프트 윈도우 파워셸
Microsoft Windows Powershell
PowerShell 5.0 icon.png
파워셸 세션의 스크린샷
파워셸 세션의 스크린샷
원저자 마이크로소프트
개발자 마이크로소프트
최근 버전 5.1.14393 / 2016년 8월 2일, 325일 경과
플랫폼 닷넷 프레임워크
언어 다국어
종류
웹사이트 http://technet.microsoft.com/ko-kr/scriptcenter/powershell.aspx

윈도우 파워셸(Windows PowerShell)은 마이크로소프트가 개발한 확장 가능한 명령 줄 인터페이스(CLI) 스크립트 언어를 특징으로 하는 명령어 인터프리터이다. 스크립트 언어는 닷넷 프레임워크 2.0을 기반으로 객체 지향에 근거해 설계되었다. 이전에는 마이크로소프트 셸(MSH, 코드네임 Monad)로 불리고 있었다. 현재 윈도우 XP, 윈도우 서버 2003, 윈도우 비스타, 윈도우 서버 2008, 윈도우 7, 윈도우 8, 윈도우 8.1, 윈도우 10,윈도우 서버 2012, 윈도우 서버 2008 R2를 모두 지원한다.

파워셸은 COMWMI에 대한 완전한 접근이 가능하며, 이로부터 관리자가 현지와 원격지의 윈도우 시스템 모두의 관리 업무를 수행할 수 있고, 웹 서비스 관리(WS-Management)와 CIM으로 원격지의 리눅스 체계와 네트워크 장비를 관리할 수도 있다.

파워셸에서 관리 업무는 일반적으로 'cmdlets'(커맨드릿)에 의해 실행되는데, 이는 특정 작업을 구현하는 특화된 닷넷 클래스이다. 한 무리의 커맨드릿은 '스크립트', 독립된 응용 프로그램인 '실행 파일', 정규 닷넷 클래스 (또는 WMI/COM 객체)의 인스턴스로 결합될 수 있다. [1][2] 이들은 파일 시스템이나 레지스트리와 같은 서로 다른 데이터 저장소의 데이터에 접근하여 작동하는데, 윈도우 파워셸 제공자를 통하여 파워셸 런타임에 제공된다.

윈도우 파워셸은 또한 윈도우 파워셸 런타임이 다른 응용 프로그램에 내장될 수 있는 호스팅 API를 제공한다. 그리고 나서 이러한 응용 프로그램들은 윈도우 파워셸의 기능을 사용하여 그래픽 사용자 인터페이스를 통하여 노출된 것들을 포함한 특정 작업을 구현한다.

예제[편집]

다음 예제는 'string' 문자열 중간에 'ABC'를 삽입한다.

PS > 'string'.Insert(2, 'ABC')
sABCtring

다음은 닷넷 객체의 정적 메소드를 호출하는 예이다.

PS > [System.Math]::Sqrt(16)
4

다음 예제는 특정 RSS 피드에서 최근 8개의 항목의 제목을 출력한다.

PS > $x = new-object xml
PS > $x.load('http://blogs.msdn.com/powershell/rss.aspx')
PS > $x.rss.channel.item | select title -f 8

비슷한 명령어들과 cmdlet 비교[편집]

파워셸에 들어간 cmdlet과 잘 알려진 명령 줄 인터프리터의 비슷한 명령어를 아래의 표로 나열해 놓았다.

윈도우 파워셸
(Cmdlet)
윈도우 파워셸
(다른 이름)
cmd.exe / COMMAND.COM
(MS-DOS, 윈도우, OS/2, 등)
Bash
(유닉스, BSD, 리눅스, 맥 오에스 텐 등)
설명
Get-Location gl, pwd cd pwd 현재 디렉터리/작업 디렉터리를 보여 준다.
Set-Location sl, cd, chdir cd, chdir cd 현재 디렉터리를 바꾼다
Clear-Host cls, clear cls clear 화면을 지운다[3]
Copy-Item cpi, copy, cp copy cp 하나 이상의 파일 / 완전한 디렉터리 트리를 복사한다
Get-Help help, man help man 명령에 대한 도움말을 보여 준다
Remove-Item ri, del, erase, rmdir, rd, rm del, erase, rmdir, rd rm, rmdir 파일 / 디렉터리를 지운다
Rename-Item rni, ren ren, rename mv 파일 / 디렉터리의 이름을 바꾼다
Move-Item mi, move, mv move mv 파일 / 디렉터리를 새로운 위치로 옮긴다
Get-ChildItem gci, dir, ls dir ls 현재 디렉터리의 모든 파일 / 디렉터리를 나열한다
Write-Output echo, write echo echo 문자열, 변수 등을 표준 출력(stdout)으로 출력한다
Pop-Location popd popd popd 현재 디렉터리를 맨 마지막에 스택으로 푸시(push)한 디렉터리로 바꾼다
Push-Location pushd pushd pushd 현재 디렉터리를 스택으로 푸시(push)한다
Set-Variable sv, set set set 변수 값을 설정하거나 새로 만든다
Get-Content gc, type, cat type cat 파일의 내용을 보여 준다
Select-String find, findstr grep 패턴에 맞추어 줄들을 출력한다
Get-Process gps, ps tlist,[4] tasklist[5] ps 현재 실행 중인 모든 프로세스를 나열한다
Stop-Process spps, kill kill,[4] taskkill[5] kill 실행 중인 프로세스를 끝낸다
Tee-Object tee 없음 tee 입력을 파일이나 변수로 파이프(pipe) 처리한 뒤 파이프라인에 따라 입력을 넘긴다

각주[편집]

  1. “How Windows PowerShell works”. 《Microsoft Developer Network》. 마이크로소프트. 2016년 6월 9일에 확인함. 
  2. Jim Truher (2007년 12월). “Extend Windows PowerShell With Custom Commands”. 마이크로소프트. 2008년 10월 6일에 원본 문서에서 보존된 문서. 
  3. Clear-Host는 미리 정의된 파워셸 기능으로 추가되어 있다.
  4. 윈도우 NT4, 윈도우 98 리소스 킷, 윈도우 2000 지원 도구에서 사용할 수 있음
  5. 윈도우 XP 프로페셔널 에디션 이후에서 사용할 수 있음

바깥 고리[편집]