PowerShell์ด๋?
๋ช ๋ น์ค shell, ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ๊ตฌ์ฑ๋จ. ์๋์ฐ์ ๊ด๋ฆฌ์์ ์๋ํ ํ๋ ์์ํฌ๋ก ์์๋จ.
๋ช ๋ น์ค shell์ GUI๊ฐ ์๋ CLI๋ฅผ ์ฌ์ฉ. ์ฝ์ ์ฌ์ฉ์ ์ฅ์ ์..
- GUI๋ณด๋ค ๋น ๋ฆ
- ๋ช ๋ น์ ์ผ๊ด ์ฒ๋ฆฌ โ ์๋ํ์ ์ ํฉ
- ํด๋ผ์ฐ๋ ๋ฆฌ์์ค, ๊ธฐํ ๋ฆฌ์์ค์ ์ํธ์์ฉ
- ๋ช
๋ น, ์คํฌ๋ฆฝํธ๋ฅผ ํ
์คํธ ํ์ผ์ ์ ์ฅ, ์์ค ์ ์ด ์์คํ
์ฌ์ฉ ๊ฐ๋ฅ.
- ๋ฐ๋ณตํ๊ณ ๊ฐ์ํ ์ ์์.
๊ธฐ๋ฅ
๊ธฐ์กด shell๊ณผ ์ผ๋ถ ๊ธฐ๋ฅ๋ค์ ๊ณต์ ํจ.
- ๊ธฐ๋ณธ ์ ๊ณต ๋์๋ง
- ํ์ดํ๋ผ์ธ: ํ ์คํธ๋ฅผ ํตํด ๊ฐ์ฒด์์ ์๋ํ๋ฏ๋ก ๊ธฐ์กด shell๊ณผ ๋ค๋ฆ.
- ๋ณ์นญ:
cls(clear the screen),ls(lsit the files) ๋ฑ์ ์ผ๋ฐ์ ์ธ ๋ณ์นญ ์ฌ์ฉ.
๊ธฐ์กด๊ณผ ๋ค๋ฅธ ์ ๋ค:
- ํ
์คํธ๋ฅผ ํตํด ๊ฐ์ฒด์์ ์๋ํจ.
- ์ ์ถ๋ ฅ์ด ๋ค๋ฅผ ์ ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด์ผ ํจ โ ์ถ๋ ฅ ์์ ์ง์ , ๋ฐ์ดํฐ ์ถ์ถ์ ์๊ฐ ์์๋จ.
- ํ์ง๋ง PowerShell์ ๊ฐ์ฒด๋ฅผ ์ ์ถ๋ ฅ์ผ๋ก ์ฐ๊ธฐ ๋๋ฌธ์ ์๊ฐ ์ ์ฝ ๊ฐ๋ฅ.
- cmdlet
- PowerShell์ ๋ช ๋ น์ cmdlet์ด๋ผ ๋ถ๋ฆ.
- ์คํ ํ์ผ์ด ์๋ ๋ฐํ์์ ๋น๋๋จ โ ๊ตฌ๋ฌธ ๋ถ์, ํ์ดํ๋ผ์ด๋์์ ์ผ๊ด์ ํ๊ฒฝ ์ ๊ณต
- .NET Core๋ก ๋น๋๋๋ ์คํ์์ค.
- ๋ค์ํ ๋ช
๋ น
- PowerShell ๋ช ๋ น์ ๋ค์ดํฐ๋ธ ์คํ ํ์ผ, cmdlet, ํจ์, ์คํฌ๋ฆฝํธ, ๋ณ์นญ์ผ ์ ์์.
- ๋ชจ๋ ๋ช ๋ น์ ์ด ์ค ํ๋๋ค.
- cmdlet์ ๋ช ๋ น์ ์ ํ์ ์ง์นญํ๋ฏ๋ก โ๋ช ๋ นโ๊ณผ โcmdletโ์ด๋ผ๋ ๋จ์ด๋ฅผ ๊ตํํ์ฌ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์.
์ค์น
Windows 8 ์ด์์ ๊ฒฝ์ฐ ์ด๋ฏธ ์ค์น๋์ด ์์. ์ด ์ธ์๋ ๋ฐ๋ก ์ค์นํด์ผ ํจ. VSCode์์๋ PowerShell ํ์ฅ์ด ์์ผ๋ ์ฐ๋๊ฒ ์ข์.
์ฐ์ต - ์ฒซ PowerShell ๋ช ๋ น ์คํ
Azure Cloud Shell์์ PowerShell๋ก ์ ํ ๋ฒํผ์ ๋๋ฆ.
PSVersionTable ๋ช
๋ น์ด๋ก PowerShell ์ฌ์ฉ์ด ์ค์ ๋์๋์ง ํ์ธํ์.
PowerShell ๋ฒ์ , ํ๋ซํผ ๋ฑ์ ๋ํ ์ ๋ณด๊ฐ ์ ๊ณต๋จ.
๋ช ๋ น ์ฐพ๊ธฐ
cmdlet์ ์ปดํ์ผ ๋ ๋ช
๋ น์ด์.
๋์ฌ - ๋ช
์ฌ ํ์์ผ๋ก ์ฌ์ฉํจ.
Get-Verb ๋ช
๋ น์ด๋ก ์น์ธ๋ ๋์ฌ ๋ชฉ๋ก์ ๋ณผ ์ ์์.
์๋๋ ์ถ๋ ฅ์ ์ผ๋ถ์.
Verb AliasPrefix Group Description
---- ----------- ----- -----------
Add a Common Adds a resource to a container, or attaโฆ
Clear cl Common Removes all the resources from a contaiโฆ๋์ฌ์ ์ค๋ช ์ด ์ถ๋ ฅ๋๋๊ฑธ ๋ณผ ์ ์์. ์น์ธ๋ ๋์ฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฉฐ, ๋์ฌ์ ๋ํ ์ค๋ช ์ด cmdlet์ ํจ์์ ์ ํฉํ์ง ํ์ธํด์ผ ํจ.
Get-Command: ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ cmdlet์ ๋์ด.Get-Help: ๊ธฐ๋ณธ ์ ๊ณต ๋์๋ง. ๋ณ์นญ์ธhelp๋ก๋ ๊ฐ๋ฅํ์ง๋งGet-Help๊ฐ ํ์ด์ง๋ก ์ถ๋ ฅํด์ ๋ ํธํจ.Get-Member: ๋ช ๋ น์ ๋ํ ์๋ต์ ๋ง์ ์์ฑ์ ๊ฐ๊ณ ์๋ ๊ฐ์ฒด์.Get-Member๋ก ์์ฑ์ ๋ณผ ์ ์์.
Get-Command๋ก ๋ช
๋ น ์ฐพ๊ธฐ
cmdlet์ธ Get-Command๋ก PowerShell์ ๋ชจ๋ ๋ช
๋ น ๋ชฉ๋ก์ ๋ณผ ์ ์์.
๊ทผ๋ฐ ๋ช
๋ น์ด๊ฐ ํ๋์ด ์๋ ์์ฒ๊ฐ๋๊น ์ด๊ฑธ ํํฐ๋ง ํ ์ค ์์์ผ ํจ.
์์์ ์ธ๊ธํ ๋์ฌ-๋ช
์ฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ตํด์ผํจ.
Get-Command๋ ๊ทธ๋ ๊ณ , Get-Random์ ๊ฒฝ์ฐ์๋ ๋์ฌ-๋ช
์ฌ ๊ตฌ์กฐ์.
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด์ ์ํ๋ ๋ช
๋ น์ ๋์ฌ/๋ช
์ฌ๋ฅผ ์ฐพ์ ์ ์์.
์ฐพ์ ๋๋ ๋ฌธ์์ด ๊ฐ์ด ํ์ํ๋ฐ.. ํจํด์ ํตํด ์ฐพ์ ์ ์๋ค.
ํจํด? 3. Bash ์๊ฐ์์ ๋ฐฐ์ ๋ ๊ทธ ํจํด(์์ผ๋์นด๋) ๋ง์.
์๋ฅผ ๋ค์ดโฆ
-Noun: ๋ช ์ฌ์ธ ๊ฒ์์ด์ ๊ด๋ จ๋ ๋ช ๋ น ์ฐพ๊ธฐ. ์๋๋ ๋ช ์ฌ ๋ถ๋ถ์ดalias๋ก ์์ํ๋ ๋ชจ๋ cmdlet ๊ฒ์ํจ.
Get-Command -Noun alias*-Verb: ๋์ฌ์ธ ๊ฒ์์ด์ ๊ด๋ จ๋ ๋ช ๋ น ์ฐพ๊ธฐ. ์๋๋ ๋์ฌ ๋ถ๋ถ์ดGet์ด๊ณ ๋ช ์ฌ ๋ถ๋ถ์ดalias๋ก ์์ํ๋ ๊ฒ์.
Get-Command -Verb Get -Noun alias*์ฐ์ต - ๋ช ๋ น ์ฐพ๊ธฐ
ํ์ผ๊ณผ ๊ด๋ จ๋ ๋ช ๋ น์ด๋ฅผ ์ฐพ๊ณ ์ถ์. ๊ทธ๋ฌ๋ฉด โ๋ช ์ฌ ๋ถ๋ถ์ด File๋ก ์์ํ๋ ๋ช ๋ น์ดโ๋ฅผ ๊ฒ์ํ๋ฉด ๋์ง ์์๊น?
Get-Command -Noun File*์ด๋ ๊ฒ ํ๋๊น ์๋กท๊ฒ ๋จ๋ค.
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-FileHash 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Out-File 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Unblock-File 7.0.0.0 Microsoft.PowerShell.Utility์ด์ ๋์ฌ ๋ถ๋ถ๋ ํํฐ๋งํด๋ณด์.
Get-Command -Verb Get -Noun File*Get ์ผ๋ก ์์ํ๋ ๋ช
๋ น์ด๋ Get-FileHash๊ฐ ์๋ค๊ณ ๋ธ.
์๋ก์ฝ๋กฌ ํ๋๊ฑฐ๋ค.