Puppeteers Blog

Powershelliä UNIX-ylläpitäjille, osa 1

February 19, 2015 

Windows-työasemien ja -palvelinten ylläpidosta voi tehdä huomattavasti tehokkaampaa ja hauskempaa Windows Powershellillä. Aiempaan Windowsin komentoriviin (cmd.exe) verrattuna Powershell on varsin ylivoimainen. Tietyt toimet ovat Powershellissä jopa helpompia kuin Unixin komentorivissä kuten Bashissa.

Powershellissä käsitellään tekstirivien tai binääridatan sijaan objekteja. joita voidaan putkittaa komennolta toiselle. Objektien käsittely on usein huomattavasti yksinkertaisempaa kuin tekstin, koska komennoissa voidaan viitata objektien ominaisuuksiin, eikä syötettä tarvitse UNIX:in komentorivien tapaan ensin siistiä ja pilkkoa lukuisilla komennoilla (esim. sed, cut, tr ja awk) oleellisen tiedon erottelemiseksi.

Tässä blogisarjassa käydään läpi Powershelliä nimenomaan UNIX-ylläpitäjän näkökulmasta pääosin lyhyiden esimerkkien avulla. UNIX-komentorivin kehote on lyhennetty selvyyden vuoksi hieman epätyypillisesti muotoon "$" ja Powershellin muotoon ">". Esimerkkikomennot eivät ole välttämättä kaikista optimoiduimpia, vaan tavoitteena on ollut pitää UNIX:in ja Powershellin komennot mahdollisimman samankaltaisina. UNIX-komennot toimivat sellaisenaan GNU-työkaluja käyttävissä käyttöjärjestelmissä, esimerkiksi Linuxissa.

(Teksti)tiedoston sisällön näyttäminen:

$ cat <tiedostonimi>
 
 > Get-Content <tiedostonimi>

Tiedoston etsiminen nimen perusteella:

$ find . -name "*teksti*"
 
 > Get-ChildItem . -Filter "*teksti*" -Recurse

Tiedostojen listaaminen:

$ ls -l
 
 > Get-ChildItem
 
 > dir

Tekstin etsiminen tiedostosta:

$ cat tiedosto|grep teksti
 
 > Get-Content tiedosto|Select-String -Pattern "*teksti*"

Ohjeiden hakeminen:

$ man komento
 
 > Get-Help komento

Tekstin tulostaminen komentoriville:

$ echo "Tämä on lause."
 
 > Write-Host "Tämä on lause."

Powershelliä UNIX-ylläpitäjille -artikkelisarjan muut osat:

Samuli Seppänen
Samuli Seppänen
Author archive
menucross-circle