Skip to content

Windows PowerShell

윈도우 파워셸(Windows PowerShell)은 마이크로소프트가 개발한 확장 가능한 명령줄 인터페이스(CLI) 셸 및 스크립트 언어이다. 객체 지향에 근거해 설계되고 있어 닷넷 프레임워크 2.0을 기반으로 하고 있다. 이전에는 마이크로소프트 셸(MSH, 코드네임 Monad)로 불리고 있었다.

현재 윈도우 XP, 윈도우 서버 2003, 윈도우 비스타, 윈도우 서버 2008, 윈도우 7, 윈도우 8, 윈도우 8.1, 윈도우 10,윈도우 서버 2012, 윈도우 서버 2008 R2를 모두 지원한다.

Categories

Commands

PowerShell 명령 특징

cmdlet은 동사-명사 형태로 이루어져 있습니다.

  • 동사에는 Get, New, Restart, Resume, Set, Start, Stop, Suspend 등이,
  • 명사에는 Computer, Service, Host, Alias, ChildItem 등등이 있습니다.

주석

# 한 줄 주석 처리

<#
 여러 줄 주석 처리
#>

Get-Command (gcm)

# 기본적으로 명령어의 대소문자는 구분하지 않습니다.
Get-Command # 모든 명령어(Cmdlet, function)들을 출력
gcm         # 똑같은 결과
gcm Get-*   # get- 로 시작하는 모든 명령을 출력
gcm -Module UEV # UEV 모듈 안에 있는 모든 명령 출력
gcm -Verb Get # '동사' 가 Get인 모든 명령 출력
gcm -Noun Computer # '명사' 가 컴퓨터인 모든 명령 출력
gcm Get-Help -Syntax # 'Get-Help' 의 모든 구문 출력 (여기서는 별칭 사용 하면 안됨)

Get-Help

Get-Help Get-ChildItem # 'Get-ChildItem' 명령에 대한 정보 출력
Get-ChildItem -?        # 같음
Get-Help Get-ChildItem -Detailed # 'Get-ChildItem' 명령에 대한 자세한 정보 출력
Get-Help Get-ChildItem -Full # 'Get-ChildItem' 명령에 대한 모든 정보 출력
Get-Help Get-ChildItem -Examples # 'Get-ChildItem' 명령에 대한 예시 출력
Get-Help Get-ChildItem -Online # 'Get-ChildItem' 명령에 대한 자세한 정보를 웹에서 확인

man, help 도 같은 결과를 보여주지만 한 페이지 씩 출력하는 것이 차이점

Get-Location (pwd)

현재 파워쉘이 위치한 경로를 출력

Get-Location # 현재 Path를 출력
pwd 

Set-Location (cd)

작업 디렉토리 변경

Set-Location -Path 'C:\' # -Path 는 생략 가능
cd 'C:\' # 'C:\' 로 위치 변경

Get-ChildItem (gci, ls, dir)

Get-ChildItem -Path C:\Test # -Path 는 생략 가능 
ls c:\Test -Name # 이름만 출력
ls C:\Test\*.txt -Recurse -Force # 'C:\Test' 의 서브 디렉토리에 있는 모든 .txt 파일 출력
ls C:\Test\Logs\* -Exclude A* # A로 시작하는 파일을 제외한 목록 출력

Count Files, Words, and Lines

Get-ChildItem -Path D:\Temp -Force | Measure-Object

웹에서 받은 스크립트 바로 실행

iwr (Invoke-WebRequest) 사용. curl 예제와 비슷:

powershell -Command "iwr https://fly.io/install.ps1 -useb | iex"

Invoke-WebRequest

Invoke-WebRequest 항목 참조.

Tools

See also

Favorite site