Von Powershell Kommandos und Unix Befehlen

Wenn man wie ich eher von der Unix Seite (der guten Seite der Macht) kommt und auf seinem Windows PC zum vernünftigen Arbeiten mit der Kommandozeile noch cygwin installiert hat, dann vermisst man es schmerzlich auf Rechnern, die diese kleinen Linux Tools für Windows nicht besitzen.
Doch wenn man Glück hat, ist die Powershell installiert (die Anzahl von PC’s mit XP und nicht aktuellem Servicepack ist immer noch erschreckend hoch).

Nun stellt sich eine Frage. Auf der Unix Shell kennt man sich gut aus, aber wie heißt denn jetzt das entsprechende Powershell Kommando für den Unix Befehl, den man braucht. Die Antwort ist „rtfm“ oder ein guter Artikel im Internet von jemanden, der die Doku gelesen hat. Für mich war dieser Artikel bei oreilly sehr hilfreich.

Was man dabei nämlich zuerst lernt ist, dass für die Powershell Kommandos eine Menge von Aliassen gibt, die teilweise gleichlautend mit den Unix Befehlen sind. Hier eine kleine Auswahl:

table.powershell {border-collapse:collapse; border: 1px solid black}
table.powershell td,th {border: 1px solid #999999; padding: 2px}

Command Aliases
Copy-Item cpi, cp, copy
ForEach-Object foreach, %
Get-ChildItem dir, ls
Get-Command gcm
Get-Content cat, type
Get-Content gc, type, cat
Get-Help help
Get-Location gl, pwd
Move-Item mi, mv, move
Remove-Item ri, rd, del, rm, rmdir
Rename-Item rni, ren
Set-Location cd, chdir
Where-Object where

Quelle: oreilly.de

Für meine Zwecke hat dies schon gereicht, denn ich wollte nur mit cat in eine Datei hineinschauen. Anders sieht es aus, wenn man einen „pager“ wie more oder less benötigt. Für diese gibt es die PowerShell Community Extensions, die unter der Microsoft Public License (Ms-PL) stehen.
Dabei handelt es sich um zusätzliche cmdlets, providers, aliases, filters, functions and scripts für die Windows PowerShell. Die Doku dafür ist allerdings dürftig.

Fazit:
Wer wie ich eine Unix Shell vorzieht und auf den Zugriff von .NET Objekten über die Powershell verzichten kann, ist mit mit cygwin (sofern es installiert ist) besser bedient. Denn die Powershell Kommandos sind nur in Ansätzen (durch Aliasse) namensgleich mit Unix Befehlen. Die PowerShell Community Extensions verbessern diese Situation.
Ist cygwin nicht installiert, kommt man also um das Lesen der Powershell Doku nicht herum.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: