Wie macht man sich als Kommandozeilen-Fan Windows eträglich?
-
Hi,
kurz vorweg: ich will hier keinen Flamewar GUI vs. Terminal starten. Also lasst uns einfach alle Freunde sein

Wie ihr euch sicher schon gedacht habt verwende ich wann immer möglich die Kommandozeile, da ich als Programmierer eh fast nur mit einfachen Textdateien arbeite. Und inzwischen habe ich mich an diesen Workflow schon so gewöhnt, dass es für mich eine Qual ist wenn ich mal Windows laufen habe und nicht in einem Terminal arbeiten kann.
Daher meine simple Frage an andere Terminal-Fans die gezwungen sind hin und wieder (oder im Beruf auch ständig?) mit Windows arbeiten zu müssen: wie macht ihr euch das Leben erträglicher? Und wie handhabt ihr administrative Aufgaben? Ist es hier auch möglich alles über eine POSIX Umgebung wie Cygwin/MSYS abzuwickeln?
Gruß.
-
Kommt drauf an, was du abwickeln willst. Wenn es dir nur um eine Entwicklungsumgebung auf Kommandozeilenebene geht, dann klingt cygwin schon mal gut. Da aber cygwin doch nicht Linux ist und viele Einschränkungen mit sich bringt, bevorzuge ich die Lösung, virtuelle Linux-Maschine, mit Putty. Damit lässt sich dann ganz passabel arbeiten. Mit dem Windows-Prompt würde ich aber nicht arbeiten wollen, da ändert auch die Powershell nichts dran.
-
Warum solltest du nicht cygwin verwenden können? Falls du gerne in der Konsole arbeitest kannst du dir auch mal die PowerShell ansehen. Aber die ist eben nur noch für Arbeit die man auch wirklich gerne in einer Shell macht, Editoren, etc. findest du dort nicht.
Also warum nicht cygwin?
MfG SideWinder
-
SideWinder schrieb:
Also warum nicht cygwin?
Falls die Frage an mich gerichtet war, vor allem wegen der vielen Inkompatibilitäten. Cygwin ist weder Fisch, noch Fleisch. Für Windows ist es schon zu sehr Linux (Inkompatibilitäten mit den Pfadangaben, Caseinsentives Filesystem, Programme laufen nicht ohne Cygwin) und für Linux begibt man sich ständig in Kompatibilitätsfragen mit Windows (besonders wenn du Programmieren willst). Ich hab da auch viel basteln müssen, um Sachen zum Laufen zu bekommen, die unter Linux einfach so gehen. Es bringt also nichts. Besonders nicht, wo man heute so einfach virtualisieren kann. Es ist ja auch nicht das Thema den umgekehrten Weg zu gehen und Windows unter Linux zu virtualisieren. Da es aber einfacher ist ein Terminal in ein Fenster zu bringen, als einen Desktop, bevorzuge ich meine Variante. Außerdem läuft der Datenaustausch über Putty wirklich super. Da braucht man sich nicht mit Netzwerkfreigaben rum ärgern.
-
Ich bin zwar kein Windowsgezwungener Konsolenfan, aber. Man kann auch Windows über die "Shell" administrieren. Hatte kürzlich das Vergnügen, als eine unserer Windowskisten nur noch hintenrum über SSH erreichbar war. Also wenn man's will, einfach tun.
-
SideWinder schrieb:
Also warum nicht cygwin?
Du willst Windows über Cygwin administrieren?
Zeich mal, will sehen
-
hustbaer schrieb:
SideWinder schrieb:
Also warum nicht cygwin?
Du willst Windows über Cygwin administrieren?
Zeich mal, will sehen
Ich habe das im Ursprungspost so verstanden, dass es hier um Programmiertätigkeit geht, nicht um Windows-Administration.
MfG SideWinder
-
Naja, dass das geht steht für mich ausser Frage. Dachte das weiss der OP sicher.
Dachte er bezieht sich eher auf den TeilUnd wie handhabt ihr administrative Aufgaben? Ist es hier auch möglich alles über eine POSIX Umgebung wie Cygwin/MSYS abzuwickeln?
-
Ich entschuldige mich schon mal im Voraus, [leicht offtopic]{
[edit nman: Offtopic-Zeugs wegeditiert]Windows bietet (genau wie Unix, nur auf eine andere Art) mehrere Möglichkeiten, sich die Arbeit einfacher zu machen. Am besten ist es einfach, man übt es immer mal wieder, und probiert aus, welche Möglichkeiten sich bieten, welche Tools hilfreich sind (auf jeden Fall hilfreich sind z.B. sysinternals tools -> http://live.sysinternals.com/ (Buch auch interessant: http://www.amazon.de/Windows
-Internals-Fifth-PRO-Developer-Russinovich/dp/0735625301/ ) , das Programm Debug oder sowas wie Notepad++ - ...oder Ida).Früher hatte man auf Dos-Ebene ein hilfreiches Konsoleprogramm, das hieß Norton Commander. Kennst du den oder den Midnight Commander?
}
[/ leichtofftopic]hier noch zwei hilfreiche Internetseiten:
http://www.zdnet.de/sicherheit_in_der_praxis_unix_power_fuer_windows_cygwin_1_7_ruestet_den_pc_auf_story-39001543-41500968-1.htm
http://freakazoid.teamblind.de/2009/06/09/windows-konsoleros/
-
Also ich versuche mal die offenen Fragen zu beantworten:
-
Auch administrative Aufgaben? Dass sich Cygwin hierfür nicht eignet ist mir schon klar, die (implizite) Frage war daher wohl eher ob es mit der PowerShell geht (und ich denke ich habe hierauf ein "ja" bekommen).
-
Die meiste Zeit am PC verbringe ich entweder mit Programmieren/am System basteln (was sich beim Verwenden von der Konsole nicht so sehr vom Programmieren unterscheidet - höchstens vom intellektuellen Anspruch her) und das mache ich ausschließlich auf der Konsole und damit meine ich jetzt weniger interaktive Konsolenanwendungen wie Midnight Commander sondern eben die klassischen nicht-interaktiven Shell-Kommandos (mit Ausnahme des Editors natürlich!).
-
Für andere Aufgaben/Dinge die ich selten mache verwende ich natürlich auch grafische Programme, z.B. den Browser, Bildbearbeitung, Brennen, etc.
@Paul Müller, hast du die Windows-Festplatte dann in der VM als Netzlaufwerk per Samba verfügbar und entwickelst dort und testet die Anwendung unter Windows, oder wie darf ich mir das Vorstellen?
-
-
nachtfeuer: Habe Deinen Beitrag umeditiert. Das artet sonst wieder nur in einen völlig sinnentleerten Windows-Linux-Flame aus, davon hatten wir hier schon mehr als genug, ich möchte den Thread nicht auch dazu verkommen lassen.
-
[edit by nman: Antwort auf nachtfeuers Offtopic-Zeugs entfernt]
Linux-Pro schrieb:
hast du die Windows-Festplatte dann in der VM als Netzlaufwerk per Samba verfügbar und entwickelst dort und testet die Anwendung unter Windows, oder wie darf ich mir das Vorstellen?
Ich nutze dafür ein Feature, welches shared Folders heißt. Dabei trägst du in der Konfiguration der virtuellen Maschine einen Ordner vom Host ein und dieser wird dann über ein spezielles Modul gemountet. Das hat den Vorteil das ich mich nicht mit Rechten und Freigaben rum ärgern muss. Und ich muss mich demzufolge nicht um das Netzwerk kümmern. Was aber egal ist, wenn du wie ich über ssh auf die vm zugreifen willst. Ich nutze dazu Putty einfach weil es sich schöner arbeiten lässt, du hast quasi alle Features zur Verfügung, die dir auch ein Terminal-Fenster in Linux bietet.
-
Linux-Pro schrieb:
wie macht ihr euch das Leben erträglicher?
Ich bin zwar kein Kommandozeilen-Fan, akzeptiere daher auch die cmd.exe

Vielleicht kennst du das schon: Man kann die Eigenschaften des Fensters von cmd.exe ändern, Schriftgröße, Zeilenlänge usw. Dazu einfach im geöffneten Fenster in der linken oberen Ecke auf Symbol klicken und dann auf "Eigenschaften" und dort einstellen, was man möchte und wie es einem passt.
Wenn man viele Fenster offen hat, kann man mittitle blablajedem Fenster einen Namen geben.
Dann habe ich mir noch, weiss jetzt nicht mehr genau, unix tools installiert und diese sind jetzt auch in cmd.exe verfügbar. D.h. man hat alles da, ls, grep, find usw.
Was habe ich mir installiert
C:\Dokumente und Einstellungen\abc.w>which ls which: no ls in (C:\Programme\MiKTeX 2.8\miktex\bin;C:\Compiler\WinAVR-20090313\bin;C:\Compiler\WinAVR-20090313\utils\bin;C:\WINDOWS\sy stem32;C:\WINDOWS;C:\WINDOWS\System32\Wbem)Kopieren und markieren geht in cmd.exe umständlich, man kann es aber ein wenig beschleunigen: Rechte Maustaste -> "Markieren" anklicken, dannn Text markieren und wenn fertig, einfach die Eingabetaste drücken...
-
Linux-Pro schrieb:
Daher meine simple Frage an andere Terminal-Fans die gezwungen sind hin und wieder (oder im Beruf auch ständig?) mit Windows arbeiten zu müssen: wie macht ihr euch das Leben erträglicher? Und wie handhabt ihr administrative Aufgaben? Ist es hier auch möglich alles über eine POSIX Umgebung wie Cygwin/MSYS abzuwickeln?
Cygwin geht nur bedingt, da ich ja richtige EXE Dateien compilieren will, die auch ohne Cygwin Umgebung funktionieren.
Deswegen benutze ich kein Cygwin.Was ich aber sehr wohl benutzt ist MSYS, MinGW zusammen mit UnxUtils.
Damit habe ich alle wichtige Kommandobefehle, die ich auch unter Linux habe.
Also ls, cp, du, grep, bc usw.Der Nachteil ist leider, daß einige dieser Kommandobefehle in einer älteren Version vorliegen oder nicht vollständig mit denen unter Linux kompatibel sind.
Das bc 1.05 das ich z.B. unter Windows habe, macht z.B. Probleme beim parsen von einigen Funktionen, die bestens unter Linux funktionieren.
Hier muß man also bei Bedarf Scripte anpassen und auch verschiedene Scripte für Linux und Windows verwenden.
-
abc.w schrieb:
Kopieren und markieren geht in cmd.exe umständlich, man kann es aber ein wenig beschleunigen: Rechte Maustaste -> "Markieren" anklicken, dannn Text markieren und wenn fertig, einfach die Eingabetaste drücken...
Man kann auch den Quick-Edit Modus aktivieren, dann markiert man mit der linken Maustaste (einfach click-hold-drag) und copy (wenn Markierung besteht)/insert (wenn keine Markierung besteht) geht mit der rechten.
Viel einfacher geht's nicht.
-
hustbaer schrieb:
abc.w schrieb:
Kopieren und markieren geht in cmd.exe umständlich, man kann es aber ein wenig beschleunigen: Rechte Maustaste -> "Markieren" anklicken, dannn Text markieren und wenn fertig, einfach die Eingabetaste drücken...
Man kann auch den Quick-Edit Modus aktivieren, dann markiert man mit der linken Maustaste (einfach click-hold-drag) und copy (wenn Markierung besteht)/insert (wenn keine Markierung besteht) geht mit der rechten.
Viel einfacher geht's nicht.Mit der Kamera abfotografieren.
-
http://en.wikipedia.org/wiki/Windows_PowerShell
/Thread
Das Ding is verdammt maechtig. Was gibts da noch gross zu diskutieren?
-
@Paul Müller, das kenne ich bisher so nicht, aber ich habe bisher auch nur mit Qemu und VirtualBox (OSE) gearbeitet. Benutzt du VMware?
Sich die cmd.exe etwas erträglicher zu machen ist natürlich schonmal ein Schritt, aber die Unix Kommandos sind ja nur ein Teil, ein ebenso wichtiger sind für mich die ganzen Shell Funktionen. Und diese Batch-Skriptsprache von cmd.exe übertrifft die Shell-Syntax dann doch noch um Welten und mein Geist hat sich bisher allen Versuchen wiedersetzt diese zu erlernen.
Nach dem hier gesagten und dem was ich schon wusste scheidet Cygwin für mich eher aus, ich will doch eher mit als "gegen" das System arbeiten. Mit MSYS könnte ich mich wohl anfreunden, wenn es die Möglichkeit gäbe eine Unix-Shell zu benutzen, die nicht mehr tut als \ durch / zu ersetzen für die Pfad-Navigation (für den unwahrscheinlichen Fall, dass ich mal einer Datei begegnen sollte die tatsächlich ein / enthält benutze ich einfach den Explorer um sie umzubenennen). Auf so nette Sachen wie /proc, /dev, etc. muss man zwar verzichten, aber man hat mit Paul Müller's Vorschlag ja auch eine Variante bei der man quasi keine Nachteile hat

Die PowerShell ist sicher nett, aber wie der Name schon andeutet eindeutig in der Windows-Welt zu Hause. Ich bin froh, dass in Unix alle Kommandos kurze kleingeschriebene Namen haben. Da ich sich ständig nutze sind hilfreiche mnemonics wertlos und Namen wie Foo-Bar strapazieren meine kleinen Finger unnötig. Es besteht allerdings kein Zweifel daran, dass sie für den nicht-interaktiven Gebrauch überlegen ist, da die Skripte definitiv leserlicher/wartbarer sind.
-
Nein das ist VirtualBox, allerdings nicht die OSE. vmware server, welches auch kostenlos ist, hätte übrigens noch den Vorteil, dass die Maschine komplett als Dienst im Hintergrund laufen kann. Damit kannst du dann einfach dich bei Bedarf an die Instanz hängen, ohne ein störendes Fenster in der Taskleiste zu haben. Ähnlich dem XP-Mode von Windows 7. Und auch wenn das nicht gefragt war, mit ein wenig Trickserei lassen sich so auch grafische Linux-Anwendungen unter Windows ausführen.
-
Paul Müller schrieb:
Nein das ist VirtualBox, allerdings nicht die OSE. vmware server, welches auch kostenlos ist, hätte übrigens noch den Vorteil, dass die Maschine komplett als Dienst im Hintergrund laufen kann. Damit kannst du dann einfach dich bei Bedarf an die Instanz hängen, ohne ein störendes Fenster in der Taskleiste zu haben. Ähnlich dem XP-Mode von Windows 7. Und auch wenn das nicht gefragt war, mit ein wenig Trickserei lassen sich so auch grafische Linux-Anwendungen unter Windows ausführen.
Cool, muss ich unbedingt testen

Grafische Anwendungen ausführen ist durchaus nützlich für mich, z.B. gitkVorhin ganz vergessen: ich habe gelesen, dass Microsoft füf Windows 7 einen POSIX Aufsatz mitliefert, hat den mal jemand von auch benutzt? Und inwiefern unterscheidet sich so ein Windows, dann von einem normalen?