Wprowadzenie do powłoki PowerShell
Windows PowerShell jest specjalistyczną powłoką tekstową systemu Windows, która zastępuje powoli (o ile jeszcze nie zastąpiła) standardową powłokę systemu Windows, zwaną wierszem poleceń. Jej pierwsza wersja została opublikowana w 2006 roku.
System Windows udostępnia kilka podobnych interfejsów dla powłoki PowerShell. Ich nazwy to: PowerShell (program wirtualnego terminala), PowerShell ISE (z ang. Integrated Scripting Environment) oraz PowerShell (x86) (wersja zachowująca wsteczną kompatybilność).
Aby uruchomić powłokę PowerShell na komputerze z systemem Windows, wciśnij kombinację klawiszy Win + R, a następnie wprowadź polecenie powershell
i wciśnij klawisz Enter. W otwartym oknie powłoki PowerShell wyświetli się informacja początkowa i znak zachęty, podobny do tego znanego z powłoki Bash, np.
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
C:\Users\bap>
Podstawowe polecenia
Każde polecenie (określane też nazwą cmdlet) powłoki PowerShell ma pełną nazwę i nazwy skrócone, wygodniejsze w użyciu. Na przykład, polecenie Get-ChildItem
jest odpowiednikiem uniksowego polecenia ls
. W powłoce PowerShell można się do niego odwołać na kilka różnych, ale równoważnych sposobów, to znaczy: Get-ChildItem
, gci
albo ls
.
Wszyscy wiemy, co robi program ls
znany z systemów uniksopodobnych. W przypadku powłoki PowerShell, polecenie ls
jest aliasem do polecenia Get-ChildItem
i zachowuje się zgoła inaczej.
PS C:\Users\bap> ls
Directory: C:\Users\bap
Mode LastWriteTime Length Name
---- ------------- ------ ----
d-r--- 05.01.2018 08:22 Contacts
d-r--- 07.10.2017 20:02 Desktop
d-r--- 18.01.2018 12:24 Documents
d-r--- 07.10.2017 20:02 Downloads
d-r--- 05.01.2018 08:22 Favorites
d-r--- 05.01.2018 08:22 Links
d-r--- 07.10.2017 20:02 Music
d-r--- 07.10.2017 20:02 Pictures
d-r--- 05.01.2018 08:22 Saved Games
d-r--- 05.01.2018 08:22 Searches
d-r--- 07.10.2017 20:02 Videos
PS C:\Users\bap>
Poniżej znajduje się tabela, która prezentuje podstawowe polecenia powłoki PowerShell, ich aliasy oraz odpowiedniki w systemach uniksopodobnych.
Cmdlet | Aliasy | Odpowiednik w systemach uniksopodobnych/powłoce Bash |
---|---|---|
Get-ChildItem | gci , ls | ls |
Set-Location | sl , cd | cd |
Set-Location | sl , cd | cd |
New-Item | ni , mkdir (wywołanie z parametrem -ItemType dir ) | touch , mkdir |
Remove-Item | rm | rm |
Move-Item | mv | mv |
Copy-Item | cp | cp |
Write-Output | write , echo | echo |
Get-Content | gc , cat | cat |
Get-Help | man |
Wykorzystaj polecenie Get-Help
, aby uzyskać informacje o wszystkich poleceniach wymienionych w powyższej tabeli. W tym celu wykonaj na przykład polecenie
> Get-Help -online Get-Content
Opcja -online
pozwala przeszukiwać repozytoria online w poszukiwaniu dokumentacji polecenia.
Wykonaj poniższe polecenia i zastanów się nad ich efektami. Jakie istotne różnice widać pomiędzy implementacją poleceń w powłoce PowerShell a programami powłoki Bash?
> sl ..
> sl ~
> mkdir a, b, c
> sl a
> write > plik-1.txt
> write a b c
> write a, b, c
> write a, b, c, d, e, f, g, h > plik-2.txt
> gc
> gc plik-1.txt
> gc plik-*.txt
> gc plik-2.txt -tail 5
> gc plik-2.txt -totalcount 5
> gc plik-2.txt | measure -l -w -c
> gc plik-2.txt | measure -line -word -character
> gc plik-*.txt | measure -line -word -character
Zapoznaj się z innymi opcjami poznanych poleceń i przetestuj je w praktyce.