파워셸

위키百科, 우리 모두의 百科事典.
( 윈도우 파워셸 에서 넘어옴)

파워셸
PowerShell
原著者 제프리 스노버 , 브루스 派例트, 제임스 트루虛(그 外 開發者)
開發者 마이크로소프트
發表日 2006年 11月 14日 (17年 前) ( 2006-11-14 )
安定化 버전
7.3.4 / 2023年 4月 12日 (13個月 前) ( 2023-04-12 ) [1]
미리보기 버전
v7.4.0-preview.2 / 2023年 3月 14日 (14個月 前) ( 2023-03-14 ) [2]
貯藏所
運營 體制 마이크로소프트 윈도우
( 윈도우 7 以上)
윈도우 서버
( 윈도우 서버 2008 R2 以上)
macOS
( 10.12 以上)
우분투
(14.04, 16.04, 17.04)
데비안
(8.7+, 9)
CentOS
(7)
RHEL
(7)
오픈수세
(42.2)
페도라
(25, 26)
플랫폼 닷넷 프레임워크 , 닷넷 코어
種類 命令形 , 파이프 , 客體 志向 , 函數兄 , 反映
라이선스 MIT 라이선스 [3]
(但, 윈도우 構成要素는 除外)
웹사이트 microsoft.com/powershell

파워셸 ( 英語 : PowerShell ) 또는 윈도우 파워셸은 마이크로소프트 가 開發한, 擴張 可能한 命令 줄 인터페이스 (CLI) 스크립트 言語 를 特徵으로 하는 命令語 인터프리터 이다. 元來는 '윈도우 파워셸(Windows PowerShell)'로 윈도우 構成要素를 中心으로 開發하였으나 파워셸 코어(PowerShell Core)를 導入하고 2016年 8月 18日에 오픈 소스 를 公開하여 各種 運營 體制에서 쓰일 수 있게 하였다. 윈도우 버전은 닷넷 프레임워크 基盤으로 그 外 運營體制 버전은 닷넷 코어 基盤으로 出市되었다.

파워셸에서 管理 作業은 一般的으로 特定 作業을 具現하는 特殊化된 닷넷 클래스 人 cmdlet(command-lets로 發音)을 통해 實行된다. 이러한 機能은 供給者를 통해 파워셸에 提供되는 파일 시스템 이나 레지스트리 와 같은 다른 데이터 貯藏所의 데이터에 액세스하여 作動된다. 타 開發者는 cmdlet 및 供給者를 파워셸에 追加할 수 있다. cmdlet은 스크립트에서 使用할 수 있으며 스크립트는 모듈로 패키지化 할 수 있게 된다.

파워셸은 COM WMI 에 對한 完全한 액세스를 提供하므로 管理者는 遠隔 리눅스 시스템 및 네트워크 裝置를 管理할 수 있도록 WS-Management CIM 뿐만 아니라 로컬 및 遠隔 Windows 시스템에서 모두 管理 作業을 實行시킬 수 있다. 파워셸은 파워셸 런타임을 다른 應用 프로그램에 包含 할 수 있는 호스팅 API 도 提供하고 그런 다음 이러한 應用 프로그램은 파워셸 機能을 使用하여 그래픽 인터페이스 를 통해 露出된 作業을 包含하여 特定 作業을 具現할 수 있다. 이러한 機能은 마이크로소프트 SQL 서버 2007 버전에서 파워셸 cmdlet 및 供給者로 管理 機能을 露出하고 必要한 cmdlet을 呼出하는 파워셸 호스트로 그래픽 管理 道具를 具現하는 데 使用해왔던 것이다. 現在는 마이크로소프트 SQL 서버 2008을 始作으로 各種 MS 應用 프로그램도 파워셸 cmdlet을 통해 管理 인터페이스를 提供한다.

파워셸에는 Get-Help cmdlet 命令語로 통해 액세스 할 수 있는 廣範圍한 콘솔 基盤 도움말( 유닉스 셸 man page 와 類似)을 볼 수 있다.(혹은 Get-Help 로 온라인 轉換을 통해 事例 別로 웹 도움말을 볼 수 있음)

예제 [ 編輯 ]

다음 예제는 'string' 文字列 中間에 'ABC'를 揷入한다.

PS > 
'string'
.
Insert
(
1
,
 '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 畵面을 지운다 [4]
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, [5] tasklist [6] ps 現在 實行 中인 모든 프로세스를 羅列한다
Stop-Process spps, kill kill , [5] taskkill [6] kill 實行 中인 프로세스를 끝낸다
Tee-Object tee 없음 tee 入力을 파일이나 變數로 파이프(pipe) 處理한 뒤 파이프라인에 따라 入力을 넘긴다

리눅스 [ 編輯 ]

$ 
# Update the list of packages

$ 
sudo
 apt-get
 update
$ 
# Install pre-requisite packages.

$ 
sudo
 apt-get
 install
 -y
 wget
 apt-transport-https
 software-properties-common
$ 
# Download the Microsoft repository GPG keys

$ 
wget
 -q
 https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
$ 
# Register the Microsoft repository GPG keys

$ 
sudo
 dpkg
 -i
 packages-microsoft-prod.deb
$ 
# Update the list of products

$ 
sudo
 apt-get
 update
$ 
# Enable the "universe" repositories

$ 
sudo
 add-apt-repository
 universe
$ 
# Install PowerShell

$ 
sudo
 apt-get
 install
 -y
 powershell
$ 
# Start PowerShell

$ 
pwsh
> exit

(例示) 우분투 20.04 [7] 에서 設置後 터미널에서 파워셸을 始作하고 빠져나오는 예

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. “v7.3.4 Release of PowerShell” . 《PowerShell/PowerShell repo》. Microsoft . 2023年 4月 13日에 確認함 GitHub.com 經由.  
  2. “v7.4.0-preview.2 Release of PowerShell” . 《PowerShell/PowerShell repo》. Microsoft . 2023年 4月 13日에 確認함 GitHub.com 經由.  
  3. “PowerShell for every system!” . 2017年 6月 12日 – GitHub 經由.  
  4. Clear-Host는 미리 定義된 파워셸 機能으로 追加되어 있다.
  5. 윈도우 NT4, 윈도우 98 리소스 킷, 윈도우 2000 支援 道具에서 使用할 수 있음
  6. 윈도우 XP 프로페셔널 에디션 以後에서 使用할 수 있음
  7. (Microsoft Ignite - Linux에 PowerShell 設置) https://docs.microsoft.com/ko-kr/powershell/scripting/install/installing-powershell-on-linux?view=powershell-7.1

外部 링크 [ 編輯 ]