Upline: Infos & Dokus Administration Linux

Linux Grundlagen Tutorial


Dieses Tutorial soll dem interessierten Leser die Angst vor der Konsole nehmen und ihm den Zugang zu den wichtigsten Werkzeugen in der Welt der Unix-Betriebssysteme nahe bringen. Wer sich auf
der Shell heimisch fühlt, der ist auch in der Lage, diverse Probleme im Linux-Alltag alleine zu meistern. Selbstredend findet man die meisten der hier erklärten Dinge auch auf anderen Unix-Derivaten wieder, egal, ob BSD (FreeBSD, OpenBSD, NetBSD), Sun Solaris und wie sie alle heißen - alle nutzen gleiche oder zumindest ähnliche Befehle und Parameter, Verzeichnisstrukturen und Rechtevergaben.

Das Wichtigste vor dem Start

Ich verzichte in diesem Tutorial bewußt auf die Dinger, mit denen nahezu alle Linuxbücher und sonstigen Dokumentationen den Leser zu Beginn langweilen. Man findet hier also nichts über die Geschichte, die Verzeichnisgrundstruktur usw. - das kommt alles zu seiner Zeit ;)
Ein paar Dinge sollte man aber dennoch schon vor den ersten Gehversuchen auf der Konsole wissen.
  1. Unixbefehle sind casesensitive, man muß also auf Groß- und Kleinschreibung achten!
  2. Im Normalfall sollte man sich ausschließlich als Normaluser anmelden - der Admin darf zu viel, deshalb nutzt man Adminaccounts nur wenn unbedingt notwendig (oder z.B. zu "Übungszwecken")! Bestimmte Befehle sind für den Normaluser jedoch nicht ausführbar oder mit weniger Funktionalität - will man diese nutzen, so macht man sich vorübergehend(!) zum Administrator.
  3. Die Konsole wird durch eine sogenannte Shell zur Verfügung gestellt, dies ist standardmäßig heute meistens die Bash (Bourne Again Shell) - es gibt aber auch einige andere mit abweichendem Befehlssatz etc.
  4. Jede Datei und jedes Verzeichnis gehört einem User und einer Gruppe, Zugriff gibt es entsprechend für User, Gruppe oder alle. Als Zugriffsrechte werden hierbei lesen, schreiben und ausführen unterschieden.

Der erste Login in die Shell und einige Linux-Befehle

Jenachdem, was man für ein System vor sich hat, gibt es kleine Unterschiede, um auf die Konsole zu gelangen. Handelt es sich um eine reine Grundinstallation ohne grafische Oberfläche, dann hat man nach dem Bootvorgang ohnehin gleich den Login der Shell vor sich. Linux/Unix ist schon immer ein Multiusersystem gewesen, daher gibt es mehrere Konsolen - meistens 6 an der Zahl. Zwischen den Konsolen kann man mit Alt+Fx umschalten, wobei Fx für die Funktionstasten F1-F6 steht.
Ist das System hingegen mit einer grafischen Oberfläche hochgefahren, so erreicht man die Textkonsolen mit dem zusätzlichen Drücken der Strg-Taste, also für die 1. Konsole mit Strg+Alt+F1. Zwischen den Textkonsolen kann man dann wieder ganz einfach mit Alt+Funktionstaste umschalten, zurück zur grafischen Oberfläche kommt man per Standard mit Alt+F7.
Auf der Konsole sieht man ein freundliches
login: 
An dieser Stelle muss ein gültiger Username und anschließend nach dem Erscheinen Von "Password:" das Paßwort eingegeben werden - selbstverständlich auch casesensitive. Für die ersten Schritte und auch später benötigt man nur wenige Befehle wirklich sehr häufig, alle anderen kann man problemlos auch später nach und nach kennenlernen und deren Vorteile erforschen. Daher sind im folgenden nur einige der allerwichtigsten Befehle kurz aufgeführt:
  • ls - Ausgabe eines Verzeichnisinhaltes, entweder aktuelles oder als Parameter übergebenes Verzeichnis, viele mögliche Ausgabeformatierungen
  • cd - Verzeichniswechsel, ähnlich dem DOS-Befehl cd
  • cat - Ausgabe des Inhaltes einer Datei, dabei beachten, dass man nur Textdateien (ohne Steuerzeichen) ausgibt
  • vi - DER immer installierte Standardeditor unter allen Unix-/Linux-Systemen, etwas gewöhnungsbedürftige Bedienung, aber sehr funktional, für Anfänger evtl. andere Editoren (z.B. der im Midnight Commander mc integrierte) empfehlenswerter
  • chmod - damit kann man Dateizugriffsrechte ändern (lesen, schreiben, ausführen, Benutzer, Gruppe, alle)
  • cp - Befehl zum Kopieren von Dateien und Verzeichnissen
  • ln - Erzeugen von Links (Verknüpfungen) auf andere Dateien. Unter Linux ist es üblich, mehrfach im Dateisystem benötigte Dateien durch harte oder weiche Links
  • lspci - gibt alle PCI-Geräte aus. Sehr hilfreiches Tool, wenn man für irgendwelche Konfigurationen wissen muss, was für Hardware im System steckt, man dieses aber nicht öffnen möchte.
  • ifconfig - Abfragen bzw. Setzen von Netzwerkkarten-Einstellungen (IP-Adresse, Netzmaske, MAC-Adresse, Übertragungsvolumen usw.)
  • halt - zum Herunterfahren des Systems, wichtige Alternativen: reboot zum Neustart oder der Wechsel über die Runlevel mit dem Befehl init
Über die Standard-Befehle hinaus sollte man sich nach und nach auch einige der wichtigen (Konfigurations-)Dateien im Verzeichnis /etc ansehen. Besonders interessant sind hier z.B. die Start- und Stopscripte unterhalb von /etc/init.d/, mit denen die Daemons (vergleichbar mit Diensten unter Windows) gestartet und beendet werden können. Um z.B. das Netzwerk nach einer Änderung neu zu starten, genügt folgende Eingabe:
# /etc/init.d/networking restart
oder alternativ (manchmal klappt der restart eines Deamons nicht sauber):
# /etc/init.d/networking stop
# /etc/init.d/networking start

Nützliche Dinge und das Hilfesystem

Eine der wichtigsten und angenehmsten Funktionen der Bash ist es, dass man eine Befehlsvervollständigung mit der Tabulator-Taste zur Verfügung hat. Somit lassen sich Befehle und auch Verzeichnisse automatisch vervollständigen. Gibt es alternative Möglichkeitne hierfür, so wird dies mit einem Piepton signalisiert, nach nochmaligem Drücken der Tabulatortaste werden alle Alternativen ausgegeben, so dass man diese überblicken und die Eingabe entsprechend erweitern kann. Ein kleines Beispiel dazu, wobei dem Drücken der Tabulatortaste entspricht:
# ls /e
Ergebnis:
# ls /etc/
und weiter geht's:
# ls /etc/i
Ergebnis (kann variieren):
identd.conf  inetd.conf   inittab      issue
identd.key   init.d       inputrc      issue.net
und weiter zu den Startscripten:
# ls /etc/init.
Ergebnis:
# ls /etc/init.d/
...
Eine weitere sehr schöne Eigenschaft der Bash-Shell ist es, dass man darin mit <Shift>+<Bild hoch/runter> herumscrollen kann, um evtl. aus dem sichtbaren Bereich gescrollte Meldungen noch mal einsehen zu können.
Unter Linux ist es Standard, dass man zu jedem Befehl verschiedene Hilfen zur Verfügung hat. Zum einen kann man an einen Befehl den Parameter --help übergeben und zum anderen hat man bei installiertem Hilfesystem (man-Pages) die Möglichkeit mit man Befehl eine umfangreiche Hilfe zu erhalten, in welcher man mit den Cursor- und Bildlauftasten navigieren und die man mit "q" wieder verlässt. Meist ist die ausgegebe Hilfe mit dem help-Parameter sehr
kurz und knapp und beschränkt sich auf die möglichen Parameter mit nur wenigen erklärenden Worten drumherum. Die man-Pages hingegen beschreiben nahezu immer auch Hintergründe des Befehls und wann man welchen Parameter wie einsetzt. Auch Beispiele finden sich oft in den man-Pages, welche es für die meisten Befehle auch in Deutsch gibt - so man die deutsche Version installiert hat. Grundlegend sollte man sich dieser beiden Möglichkeiten immer bewußt sein, die man-Pages helfen sogar bei Standarddateien (also nicht nur Programmmen!) weiter und geben Auskunft darüber, wozu diese gut sind und wie deren Aufbau ist. Bei den Parametern unter Linux ist es im Gegensatz zu Windows üblich, mit Minuszeichen zu arbeiten. Einige Paramater (meist solche in einer lesbaren Langform) werden durch doppelte Minuszeichen eingeleitet, die meisten Befehle lassen sich aber größtenteils über kurze Parameter mit nur einem Minuszeichen steuern. Auf jeden Fall ist auch hierbei die Groß-/Kleinschreibung zu beachten, unter Linux ist nicht nur das Dateisystem casesensitive! Die genaue Syntax kann man der jeweiligen Hilfe entnehmen, also man oder z.B. der alternativen Hilfe über info. Im folgenden einige Beispiele:
# ls --help
# man ls
# man passwd
# info man
Diese Grundlagen sollten bereits ausreichen, um mit Hilfe anderer Linux-HowTos problemlos die meisten kleinen Schwierigkeiten im Linux-Alltag zu meistern. Oft sind es ja gerade die kleinen Dinge, die man nicht kennt oder nicht versteht und an denen man letztendlich scheitert. Das muss unter Linux aber nicht sein - auch wenn es für viele Anwender noch immer viel zu komplex und undurchsichtig wirkt - so schwierig ist das meiste gar nicht und zwischen den vielen verschiedenen Distributionen gibt es trotz der zahlreichen Unterschiede so viele Gemeisamkeiten, dass man auch mit einer Anleitung vfür SuSE nach ein wenig Herumprobieren und Anpassen diese genausogut für Ubuntu oder Kubuntu oder was auch immer nutzen kann.

Weitere kleine Einführungen zum Einstieg in die Linux-Welt folgen nach und nach, die bisherigen Texte in der Linux-Kategorie sind eher sehr speziell für fortgeschrittene Anwender und Administratoren gedacht.