Up: ../

Mein Werdegang mit Linux/UNIX

Textdekoration: Tux blinkt mit den Augen...

„Warum um alles in der Welt Linux? Windows ist doch viel benutzerfreundlicher...!“

Ja ja, schon gut, schön die Füße stillhalten... - Aber fangen wir von vorne an:

Während meiner Ausbildung anno 1994-1996 lernten wir die Programmiersprache C. Dazu benutzten wir eine unter DOS/Windows-3.11 laufende integrierte Entwicklungsumgebung (IDE, integrated development environment). Das war wie zu Zeiten der Lochkartenprogrammierung (20 Jahre früher, hier nur im kleineren Maßstab): man mußte sich gut überlegen, was man da programmiert; man hatte einen Termin für seine zugeteilte CPU-Zeit. Zu diesem Zeitpunkt mußte das Programm fertig sein, in Lochkarten verewigt und beim Operator abgegeben sein. Dann hieß es warten, bis der Printout vom Operator per Palette am Schreibtisch abgekippt wurde... Wenn das Programm einen Fehler hatte, war der ganze Akt umsonst...! – Verzeihung: vergebens.

So auch hier: Editieren, Speichern (ja nicht vergessen!!!), kompilieren, und (Augen zu, Luft angehalten, ein Stoßgebet...) das Programm gestartet... - Knirsch! Sch****! Gates-Kralle (Strg-Alt-Entf), geht auch nicht mehr..., Reset-Knopf... Boot, Windows startet (Intel 486, 33MHz), Puls derweil wieder runterholen, IDE aufrufen, Projekt öffnen, Datei öffnen, sich an die letzten Meldungen und Zeichen erinnern, bevor die Kiste abgeschmiert ist; Mist vergessen, also gleich nochmal das Ganze... - Da kommt Stimmung auf...!

Als nächstes lernten wir Systemprogrammierung unter UNIX, speziell unter Sun Solaris (PC, i486). Den vi aufrufen (vi="visual", im Gegensatz zu ed, der ist zeilenorientiert; Der vi ist der Standard-Editor unter UNIX und für Notepad-verseuchte Anwender gewöhnungsbedüftig, ebenso umgekehrt), seinen Quelltext mühsam eingeben, speichern und gleichzeitig den vi verlassen (:wq[ENTER]), Compiler aufrufen (cc -o footest footest.c), Programm starten (./footest), Mist! ("Segmentation fault, core dumped"), Meldungen lesen, vi aufrufen - insgesamt eine deutliche Erleichterung, weil das dumme Geboote zwischendrin einfach wegfiel! Und das Ganze konnte man dann sogar noch mit Hilfe von Makefiles und Shell-Skripts automatisieren...!

Es gab jedoch noch zwei hakelige Stellen bei der ganzen Sache:

  1. Das interaktive Arbeiten mit der Bourne-Shell /bin/sh (Kommandozeile)
  2. Das Bedienen des Editors vi

Und dann nahte die Prüfung! Die beiden Probleme mußten gelöst werden! - Aber die Rettung nahte: usere beiden besten Leute experimentierten auf ein paar alten Rechnern (386er) mit der Linux-Distribution „SuSE LINUX August 1995“. Nach einiger Zeit wurde die Entscheidung gefällt, Sun Solaris durch Linux zu ersetzen; nach und nach wurden alle Rechner umgestellt.

Jetzt gab es sogar erstmals eine funktionierende graphische Oberfläche (X-Windows mit Fenstermanager fvwm); und Spiele gab es sogar auch! Imaze (ein Netzwerk-Multi-User-sich-gegenseitig-abschieß-Spiel) erfreute sich großer Beliebtheit...

Und es gab eine vernünftig eingerichtete Shell (bash), bei der sogar die Pfeiltasten funktionierten. Man konnte damit Kommandos einfach zurückblättern (das ging bei Solaris damals nicht, bzw. niemand wußte, welche Shell-Option man dazu setzen mußte).

Aber den vi zu lernen, da mußte man persönlich durch; Sonst sitzt man in der Prüfung und kriegt seinen Quelltext nicht eingegeben... Also: die „SuSE LINUX August 1995“-Distribution gekauft (hätte ich mir auch leihen können), auf dem heimischen Rechner Platz geschafft, installiert (die beiden Linux-Gurus aus der Schule waren da recht hilfreich und auskunftsbereit), eine vi-Kurzreferenz besorgt und nachts vi, Shell- und Systemprogrammierung geübt...

Und noch eines entdeckte ich: mit der Shell und dem Werkzeugkasten von Utilities (ls, grep, cut, awk, xargs, ...) kann man ja richtig intelligente Sachen programmieren...! - Die DOS-Shell ist wirklich eine Krücke; wer darauf festgelegt ist, kann einem nur leidtun, ehrlich! Ich habe das auch mal versucht und ich sage: „Da könn'st senkrecht in d'Luft sch*****!“: keine brauchbaren Tools an Bord, nur Ersatzteile. Und daran hat sich auch in Zeiten von NT4/W2k nichts geändert; Beispiel NT-Reource-Kit: ein Sack voll Kommandozeilen-Tools, die sich die MS-Entwickler aus purer Verzweiflung schnell zusammege-crufted haben, die man ihnen unter dem Schreibtisch weggeklaut hat, auf eine CD preßt und für Geld verhökert. – Wenn man Windows installiert, hat man hinterher einen belegten Rechner, aber nichts, mit dem ich was anfangen kann; dann geht das los mit dem Zusammenklauben von Tools: das unsägliche WinZip & Co, einen vernünftigen Text-Editor, einen vernünftigen Telnet/SSH-Client (die Original-MS-telnet.exe ist als UNIX-Verhinderungstool mitgeliefert, sofort löschen!), eine vernünftige Shell und zugehörige Tools, diverse Browser-Alternativen, die sich dauernd streiten und sich gegenseitig auf den Füßen stehen ...und so weiter, und so heiter... alles einzeln irgendwo zusammenklau(b)en (Internet, Heft-CDs, ...) und installieren.

Mittlerweile ist der vi mein Lieblings-Editor geworden, insbesondere der vim (Vim="vi-improved", siehe http:/www.vim.org/). - Ich hüte mich davor, ihn zu dem Editor hochzustilisieren (um keinen Editor-Religionskrieg anzuzetteln), aber er unterstützt mich bei meiner täglichen Arbeit optimal, auch unter Windows. (Ich habe noch keine Zeit gefunden, den emacs auszuprobieren.)

Den vi sollte man einfach beherrschen, wenn man mit UNIX-Systemadminstration/-Programmierung zu tun bekommt. Egal auf welcher UNIX-Box man sich einloggt, egal welches UNIX-Derivat dort läuft: der vi ist der einzige Editor, den man auf jeder(!) UNIX-Box installiert vorfindet. Wenn man den einmal intus hat, ist der Rest kein Problem mehr.

Tips

Installiert Euch Linux/{Free,Open,Net}BSD/BeOS, lernt die 10 wichtigsten Shell-Befehle (man, id, pwd, ls/ll, cd, find, vi/view, grep, gzip/bzip2, "su -"), lernt den vi und Ihr tut Euch leichter bei der Job-Suche!

"Aber das kann ich mir nicht merken...!" - Das ist eine Lüge!!! Wer sich folgendes merken kann: "Start / Programme / Zubehör / Editor; Datei / Öffnen / Dateiextension wählen, Klick-klick-klick dateiname / Öffnen", kann sich auch "vi dateiname" merken! Also bitte...

Hier noch ein Tip zur Shell und zum vi: UNIX/vi wurden von Amis erfunden, sie benutzten also Tastaturen mit US-Tastenbelegung. – Wer die Shell bzw. den vi-Editor verstehen will, sollte sich so eine Tastatur beschaffen (alternativ eine, die beide Layouts aufgedruckt hat und dann im Linux-System eben US-Belegung einstellen). Und wer sich im Leben etwas wirklich gutes tun will, der sollte sich unbedingt eine der inzwischen wirklich legendären Tastaturen von IBM beschaffen: das Modell M (gibt es auch in deutscher Auslegung).

Ich weiß, man glaubt mir einfach nicht, wenn ich das sage. Aber wenn man vor einer deutschen Tastatur sitzt und die Shell- bzw. vi-Tastenkombinationen in der Kurzreferenz nachliest, fragt man sich immer „Wie kommt man nur auf so bekloppte Tastenkombinationen!?!?“ – Sitzt man jedoch vor einer US-Tastatur, ist auf einmal alles ganz logisch und konsistent! Die notwendigen Tasten liegen nun immer nebeneinander und sind somit leicht zu erreichen. Und deswegen geht es auf einmal sehr schnell zu tippen! (Ich weiß, ihr glaubt mir nicht. – Bitte, dann quält Euch richtig schön..., selber Sylt. Aber heult dann nicht, daß die Shell und der vi schwer zu bedienen seien...!) – Noch was: Wenn man sich die Programmiersprachen C, C++, Java und die diversen Shell-Sprachen ansieht, stellt man fest, daß sie für US-Tastenbelegung optimiert wurden; sicher nicht mit Absicht, aber wie gesagt: deren Erfinder sitzen damals wie heute vor Tastaturen mit US-Tastenbelegung...

Fortsetzung folgt (vielleicht...).

Textdekoration: Baustelle
VORSICHT BAUSTELLE
Eltern haften an ihren Kindern!

© 2001 ich
Created: Fre Apr 20 03:21:40 MEST 2001
Last updated: 
2007-09-13T13:29:25+0200
EOF