Moduł 13

Materiały do zajęć z Systemów operacyjnych prowadzonych na Wydziale Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza w Poznaniu.

« Wróć do spisu materiałów

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.

CmdletAliasyOdpowiednik w systemach uniksopodobnych/powłoce Bash
Get-ChildItemgci, lsls
Set-Locationsl, cdcd
Set-Locationsl, cdcd
New-Itemni, mkdir (wywołanie z parametrem -ItemType dir)touch, mkdir
Remove-Itemrmrm
Move-Itemmvmv
Copy-Itemcpcp
Write-Outputwrite, echoecho
Get-Contentgc, catcat
Get-Helpman

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.