Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Support Ein How-to für die Linux-Kommandozeile

Registriert
21. März 2008
Beiträge
5.400
Reaktionspunkte
2.977
Punkte
373
Ort
Tief im Westen
[FONT=&quot]Mit diesem Artikel nutzen auch Einsteiger die Kommandozeile effektiv.[/FONT]

[FONT=&quot]Gleich nach der Installation zeigt Ihr neues Linux-System,[/FONT][FONT=&quot]
was es kann: Es läuft, sieht gut aus und erledigt Ihre täglichen Computer-Aufgaben. Doch schon ein Wechsel der Grafikkarte oder der Einbau einer weiteren Festplatte stellen – im Vergleich zu Windows – scheinbar unüberwindliche Hürden dar. Fast alle Anleitungen zum Einbinden von Hardware oder zum Tunen des Systems konfrontieren Sie mit der textbasierten Konsole , also dem Befehlsinterpreter, dem Mausklicks egal sind und der Zeile für Zeile Ihre Eingaben erwartet und diese umsetzt. Anders als unter Windows ist die Konsole kein Relikt aus einer vorgrafischen Zeit, sondern das mächtigste Werkzeug, das Ihnen in jeder Linux-Distribution zur Verfügung steht. Um damit zu arbeiten, müssen Sie anfangs etwas Zeit für die Einarbeitung investieren. Doch der Aufwand lohnt: Nur so erfahren Sie, wie Ihr Linux-System eigentlich funktioniert, können es ganz an Ihre Bedürfnisse anpassen und viele Aufgaben schneller lösen.[/FONT]


[FONT=&quot]Mehrere virtuelle Konsolen[/FONT][FONT=&quot]
Im Gegensatz zu Windows benötigt Linux keine grafische Oberfläche, um arbeiten zu können. Falls diese einmal nicht funktioniert, zum Beispiel nach Einbau einer neuen Grafikkarte, können Sie noch immer im Textmodus Ihr System administrieren. Auf Linux-Servern ist das gar der Standard.
Die grafiklose Umgebung, die zeilenweise Ihre Befehle entgegen nimmt, heißt Konsole. Drücken Sie die Tastenkombination [/FONT][FONT=&quot]<Strg>-<Alt>-<F1>[/FONT][FONT=&quot], dann verabschiedet sich Ihr Desktop, und Sie wechseln in den Textmodus. Hier sind Sie noch nicht angemeldet, müssen also zunächst Benutzername und Kennwort eingeben. Probieren Sie danach einen Befehl aus, etwa [/FONT][FONT=&quot]„ls“[/FONT][FONT=&quot] (ohne Anführungszeichen), und bestätigen Sie ihn mit [/FONT][FONT=&quot]<Return>[/FONT][FONT=&quot]. Er zeigt Ihnen den Inhalt des aktuellen Verzeichnisses an. Von diesen Textmodus-Konsolen gibt es sechs an der Zahl, die Sie über die Tastenkombination [/FONT][FONT=&quot]<Strg>-<Alt>[/FONT][FONT=&quot] mit den Tasten [/FONT][FONT=&quot]<F1>[/FONT][FONT=&quot] bis [/FONT][FONT=&quot]<F6>[/FONT][FONT=&quot] erreichen. Wenn Sie also [/FONT][FONT=&quot]<Strg>-<Alt>-<F2>[/FONT][FONT=&quot] drücken, sind Sie auf der zweiten Konsole und können nach Anmeldung dort Befehle eingeben. Mit [/FONT][FONT=&quot]<Strg>-<Alt>-<F1>[/FONT][FONT=&quot] geht es wieder zurück auf die erste. Sechs Konsolen bedeuten Komfort, da Sie mal eben zu einer Anwendung auf eine andere wechseln können, um dann wieder zur vorigen zurückzukehren.[/FONT]

[FONT=&quot]Wichtig:[/FONT][FONT=&quot]
Durch das Umschalten haben Sie X-Window, also die grafische Oberfläche, nicht beendet, sie läuft weiter im Hintergrund. Mit [/FONT][FONT=&quot]< Strg>-<Alt>-<F7>[/FONT][FONT=&quot] kehren Sie zu X-Window zurück und finden es genau so vor, wie Sie es verlassen haben. Damit ist wiederum die Konsolensitzung noch nicht beendet, sondern läuft im Hintergrund weiter: Sie verlassen sie erst mit dem Befehl [/FONT][FONT=&quot]„exit“[/FONT][FONT=&quot]. Auf einem Linux-Rechner läuft also nicht nur eine Sitzung, sondern immer gleich mehrere. Standardmäßig sind es sechs im Textmodus und eine im Grafikmodus, die Sie wie oben erklärt auf Ihren Monitor lenken können. [/FONT]


[FONT=&quot]Die Konsole als Befehlszentrale[/FONT][FONT=&quot]
Um an einer Konsole zu arbeiten, müssen Sie nicht unbedingt die X-Window-Oberfläche in den Hintergrund verschieben. Sie können stattdessen ein Terminal auf dem Desktop aufrufen, ähnlich einer Eingabeaufforderung unter Windows. Hier stehen mehrere Programme zur Auswahl. Immer vorhanden ist die Grundversion [/FONT][FONT=&quot]„xterm“[/FONT][FONT=&quot], das Standard-Terminal des Gnome-Desktops heißt [/FONT][FONT=&quot]„gnome-terminal“[/FONT][FONT=&quot], während KDE als Standard „konsole“ einsetzt. Letztere lassen sich in Farbe und Schriftart vielfältig konfigurieren und bieten mehr Komfort. Wenn Sie dort einen Link anklicken, öffnet sich dieser im Browser. Innerhalb des Terminal-Fensters läuft die Shell, also das Programm, das Ihre Eingaben entgegennimmt und verarbeitet. Bei aktuellen Linux-Installationen läuft dort [/FONT][FONT=&quot]„bash“[/FONT][FONT=&quot] , ein überaus mächtiger Befehlsinterpreter. Sie öffnen das Terminal entweder über das Anwendungsmenü oder mit [/FONT][FONT=&quot]<Alt>-<F2>[/FONT][FONT=&quot] und der Eingabe des oben genannten Namens. Ob Sie CDs brennen, MP3s hören, Mails lesen oder im Web surfen möchten: Alles funktioniert prinzipiell mit der Shell – eine grafische Oberfläche ist nicht unbedingt nötig. Viele Programme bieten lediglich ein GUI, die hinter den Kulissen einfache Kommandozeilenprogramme nutzt. Zwar ist es zweifelsohne bequem, eine neu zu brennende CD per Maus zusammenzustellen. Aber wenn Sie stets das Gleiche brennen wollen, etwa ein regelmäßiges Backup, geht es schneller, wenn Sie sich einmal die Befehle zusammensuchen und sie später stets erneut aufrufen. Auch bieten textbasierte Programme meist einen größeren Leistungsumfang als ihre grafischen Pendants.[/FONT]


[FONT=&quot]Wichtig:[/FONT][FONT=&quot]
Bei jeder Eingabe auf der Konsole ist bei Befehlen, Pfad- und Dateinamen sowie Parametern die Groß- und Kleinschreibung wesentlich. [/FONT][FONT=&quot]„ls“[/FONT][FONT=&quot] etwa ist ein gängiges Programm, [/FONT][FONT=&quot]„LS“[/FONT][FONT=&quot] dagegen gibt es nicht, [/FONT][FONT=&quot]„ls -r“[/FONT][FONT=&quot] führt etwas anderes aus als [/FONT][FONT=&quot]„ls -R“[/FONT][FONT=&quot] . Nach dem Eintippen eines Befehls müssen Sie grundsätzlich die Eingabetaste drücken, damit der Befehl ausgeführt wird.[/FONT]


[FONT=&quot]Schnell zum Ziel: Befehlsergänzung[/FONT][FONT=&quot]
Auf einem Linux-System gibt es oft zwei- bis dreitausend ausführbare Programme und Hunderttausende von Dateien. Die Shell hilft Ihnen, den Durchblick zu behalten, denn sie bietet eine Befehlsergänzung mit Suchfunktion. Wissen Sie bei der Eingabe auf der bei einem Befehls- oder Dateinamen nicht weiter, drücken Sie einfach [/FONT][FONT=&quot]<Tab>[/FONT][FONT=&quot]. Die Shell ergänzt dann selbsttätig alle Buchstaben, die eindeutig sind, und zeigt auf ein wiederholtes <Tab> alle weiteren Möglichkeiten – so lange, bis Sie sich zum passenden Befehl durchgehangelt haben. Je komplexer ein Verzeichnisbaum ist, desto schneller sind Sie mit der Befehlsergänzung der Shell im Vergleich zu einem grafischen Dateimanager.[/FONT]



[FONT=&quot]History: Das Gedächtnis der Shell[/FONT][FONT=&quot]
Die <Cursor oben>-Taste bringt wie unter Windows die letzten Befehle zurück, damit sie sich, gegebenenfalls nach Änderungen, noch einmal ausführen lassen. Doch auch hier darf es unter Linux ein wenig mehr sein: Tippen Sie ein paar Buchstaben ein und benutzen Sie die <Bild auf>-Taste. Schon sehen Sie nur noch die Befehle, die mit diesen Buchstaben beginnen.
Etwas schwieriger wird es, wenn Sie statt der Anfangsbuchstaben nur eine Zeichenfolge irgendwo im Befehl wissen. Heißt die Zeichenfolge etwa [/FONT][FONT=&quot]„bookmarks“[/FONT][FONT=&quot], erhalten Sie mit dem Befehl
[/FONT][FONT=&quot]history | grep bookmarks[/FONT][FONT=&quot]
[/FONT][FONT=&quot]eine Liste passender Befehle, versehen mit Nummern. Ein Ausrufezeichen ohne Leerzeichen, gefolgt von einer solchen Nummer, wiederholt den dazugehörigen Befehl, also etwa [/FONT][FONT=&quot]„!350“[/FONT][FONT=&quot]. Wollen Sie vorher noch etwas ändern, ergänzen Sie hinten [/FONT][FONT=&quot]„:p“[/FONT][FONT=&quot], also [/FONT][FONT=&quot]„!305:p“[/FONT][FONT=&quot]. Der Befehl rutscht dadurch auf den ersten Platz in der History, wird aber nicht ausgeführt. Mit [/FONT][FONT=&quot]<Cursor hoch>[/FONT][FONT=&quot] können Sie ihn dann ändern.[/FONT]


[FONT=&quot]Parameter: Befehle präzisieren[/FONT][FONT=&quot]
Die meisten Befehle haben ohne Parameter wenig Sinn. Wenn Sie etwa [/FONT][FONT=&quot]„ls“[/FONT][FONT=&quot] eingeben, sehen Sie eine reine Aufzählung der Dateien des Verzeichnisses, in dem Sie sich gerade befinden, ohne weitere Informationen. Hinter einem oder mehreren Minuszeichen können Sie nun Parameter angeben, die das Verhalten eines Programms beeinflussen. [/FONT][FONT=&quot]„ls -l“[/FONT][FONT=&quot] zeigt Ihnen die Langform der Dateiliste an, mit Zugriffsrechten, Besitzer der Dateien, Größe und dem Dateidatum. [/FONT][FONT=&quot]„ls -l -h“[/FONT][FONT=&quot] tut das Gleiche, nur dass hier die Größenangaben nicht in Bytes, sondern in besser lesbaren Einheiten erscheinen. Wenn Sie nicht den Inhalt des aktuellen Verzeichnisses, sondern den eines anderen Ordners sehen möchten, geben Sie nach allen Parametern und einem Leerzeichen noch das Verzeichnis an, dessen Inhalt Sie ausgeben wollen. Vor dieses gehört kein Minuszeichen, andernfalls würde [/FONT][FONT=&quot]„ls“[/FONT][FONT=&quot] versuchen, dessen Buchstaben ebenfalls als Parameter zu interpretieren, die sein Verhalten beeinflussen sollen. Mit Pfadangabe lautet ein [/FONT][FONT=&quot]„ls“[/FONT][FONT=&quot]-Befehl zum Beispiel so:
[/FONT][FONT=&quot]ls -l /usr[/FONT][FONT=&quot]
Es gibt ein- und mehrbuchstabige Parameter. So könnten Sie etwa anstelle der Abkürzung [/FONT][FONT=&quot]„ls -h“[/FONT][FONT=&quot] auch die Langfassung [/FONT][FONT=&quot]„ls --human-readable“[/FONT][FONT=&quot] eingeben. Mehrbuchstabige Parameter leiten Sie im Allgemeinen mit einem doppelten Minuszeichen ein. Damit vermeiden Sie Verwechslungen; Sie können nämlich hinter einem Minuszeichen mehrere Parameter zusammenfassen: [/FONT][FONT=&quot]„ls -l -h“[/FONT][FONT=&quot] kürzen Sie so zu [/FONT][FONT=&quot]„ls -lh“[/FONT][FONT=&quot]. Ein spezieller Fall ist ein doppeltes Minuszeichen ohne folgenden Buchstaben: Es bewirkt, dass die Shell alles, was danach kommt, nicht als Parameter interpretiert. Eine kurze Hilfe zu jedem Befehl erhalten Sie meist, wenn Sie das Programm mit dem Parameter [/FONT][FONT=&quot]„--help“[/FONT][FONT=&quot] aufrufen. Falls Ihnen die Kurzhilfe nicht genügt, liefert Ihnen die Manpage, die Sie über [/FONT][FONT=&quot]„man“[/FONT][FONT=&quot], gefolgt vom Befehlsnamen, erhalten, alle Details.[/FONT]




[FONT=&quot]Zugriffsrechte nutzen [/FONT]

[FONT=&quot]Die Zugriffsrechte[/FONT][FONT=&quot]
Zugriffsrechte sind Nutzern von Windows 2000 und XP wohlbekannt. Aber erst ihre strenge Handhabung, wie sie unter Linux üblich ist, macht ein System wirklich sicher. Von diesen Rechten gibt es drei: eine Datei lesen ([/FONT][FONT=&quot] „r“[/FONT][FONT=&quot] für [/FONT][FONT=&quot]„read“[/FONT][FONT=&quot]), schreiben ([/FONT][FONT=&quot] „w“[/FONT][FONT=&quot] für [/FONT][FONT=&quot]„write“[/FONT][FONT=&quot]) und sie ausführen ([/FONT][FONT=&quot] „x“[/FONT][FONT=&quot] für [/FONT][FONT=&quot]„execute“ [/FONT][FONT=&quot]). Mit [/FONT][FONT=&quot]„ls -l“[/FONT][FONT=&quot] sehen Sie die Zugriffsrechte der Dateien in der ersten Spalte, zum Beispiel in der Form [/FONT][FONT=&quot]„-rwx--x--x“[/FONT][FONT=&quot]. Ein gesetzter Buchstabe bedeutet ein erteiltes, ein Strich dagegen ein verweigertes Recht, und das Ganze folgt dreimal aufeinander. Die erste Dreiergruppe betrifft den Besitzer der Datei, die zweite alle Benutzer, die in seiner Gruppe sind, und die dritte alle anderen Benutzer. Ein Beispiel: Der Befehl [/FONT][FONT=&quot]„ls -l /bin/ls“[/FONT][FONT=&quot] führt zur Anzeige von
[/FONT][FONT=&quot]-rwxr-xr-x 1 root root 63596[/FONT][FONT=&quot]
[/FONT][FONT=&quot]2008-08-12 15:54 /bin/ls[/FONT][FONT=&quot]
Das erste Zeichen ist ein Strich, was bedeutet, dass die Datei keine Besonderheiten aufweist. Bei einem Verzeichnis stünde dort ein [/FONT][FONT=&quot]„d“[/FONT][FONT=&quot] für [/FONT][FONT=&quot]„directory“[/FONT][FONT=&quot]. Nun folgen die Zugriffsrechte in Dreiergruppen. Der Name des Dateibesitzers wird als erster Name nach den Zugriffsrechten angezeigt. Hier ist es root, und [/FONT][FONT=&quot]„rwx“[/FONT][FONT=&quot] bedeutet, dass root die Datei lesen, schreiben und ausführen kann. Die zweite Dreiergruppe gibt die Berechtigungen für die Gruppe an, deren Bezeichnung nach dem Namen des Besitzers angezeigt wird und hier ebenfalls root ist. Hier steht [/FONT][FONT=&quot]„r-x“[/FONT][FONT=&quot]. Jeder Benutzer, der zur Gruppe [/FONT][FONT=&quot]„root“[/FONT][FONT=&quot] gehört, aber nicht selbst root ist, kann sie also lesen und ausführen, darf aber nicht schreiben, das heißt die Datei weder verändern noch löschen. Die letzte Dreiergruppe sagt, dass auch alle anderen Benutzer die Datei zwar lesen und ausführen, nicht aber verändern dürfen. Ein zweites Beispiel
[/FONT][FONT=&quot]drwx------ 2 akr users 4096[/FONT][FONT=&quot]
[/FONT][FONT=&quot]2008-10-28 07:44 mail[/FONT][FONT=&quot]
Das [/FONT][FONT=&quot]„d“[/FONT][FONT=&quot] am Anfang zeigt, dass es sich hier um ein Verzeichnis handelt. Der Benutzer akr hat hier Lese-, Schreib- und Ausführrechte. Alle anderen, sowohl die Mitglieder der Gruppe [/FONT][FONT=&quot]„users“[/FONT][FONT=&quot] als auch sonstige Benutzer, dürfen gar nichts, es stehen zweimal drei Striche. Die Zugriffsrechte sind bei Verzeichnissen etwas anders zu verstehen als bei Dateien. Ausführen bedeutet hier, dass Sie in das Verzeichnis überhaupt wechseln, also irgendwie auf dessen Dateien zugreifen dürfen. Lesen bedeutet die Auflistung des Ordnerinhalts. Das Schreibrecht legt fest, ob Sie Dateien erstellen oder löschen dürfen.[/FONT]



[FONT=&quot]Zugriffsrechte ändern[/FONT][FONT=&quot]
Sie ändern die Berechtigungen von Dateien mit dem Befehl [/FONT][FONT=&quot]„chmod“[/FONT][FONT=&quot]. Nach dem Befehl folgen Minus-, Plus- oder Gleichheitszeichen, je nachdem, ob Sie Rechte entziehen, hinzufügen oder Rechte setzen wollen, gefolgt von dem Recht selbst. Haben Sie ein Script von einer Website heruntergeladen – womit Sie dessen Besitzer sind – und möchten es nun ausführbar machen, lautet der Befehl [/FONT][FONT=&quot]„chmod +x <Script> "[/FONT][FONT=&quot].
Analog können Sie im obigen Befehl mit [/FONT][FONT=&quot]„-x“[/FONT][FONT=&quot] das Ausführrecht entziehen oder mit [/FONT][FONT=&quot]„=x“[/FONT][FONT=&quot] als einziges Recht festlegen. Leserechte vergeben Sie mit [/FONT][FONT=&quot]„r“[/FONT][FONT=&quot], Schreibrechte mit [/FONT][FONT=&quot]„w“[/FONT][FONT=&quot]. Mit Hilfe von Buchstaben unmittelbar vor den Plus- oder Minuszeichen steuern Sie zusätzlich, wessen Zugriff auf die Datei geändert wird: der Zugriff des Besitzers der Datei (u für User), der anderer Nutzer der gleichen Gruppe des Dateibesitzers (g für Group), und der anderer Nutzer, die weder Besitzer sind noch der Gruppe des Besitzers angehören (o für Other). Wollen Sie beispielsweise sich selbst alle Rechte geben, allen Benutzern der gleichen Gruppe Lese- und Ausführungsrechte zugestehen und allen anderen zwar die Ausführung, aber nicht Ansicht des Inhalts gestatten, lautet der komplette Befehl
[/FONT][FONT=&quot]chmod u=rwx,g=rx,o=x <Datei>[/FONT][FONT=&quot]
Den Besitzer und die Gruppenzugehörigkeit einer Datei ändern Sie mit [/FONT][FONT=&quot]„chown“[/FONT][FONT=&quot]. Das dürfen Sie unter Linux allerdings nur als root; ein normaler Benutzer kann seine Dateien nicht einfach verschenken. Angenommen, das obige Script sei so wichtig, dass Sie es ins System einbinden wollten: [/FONT][FONT=&quot]„chown root.root <Script>“[/FONT][FONT=&quot] ordnet es dem Benutzer (vor dem Punkt) und der Gruppe (nach dem Punkt) root zu. Anschließend verschieben Sie es mit „mv [/FONT][FONT=&quot]<Script> /usr/local/bin“[/FONT][FONT=&quot] in ein Verzeichnis, das sich im Suchpfad für ausführbare Dateien befindet, etwa [/FONT][FONT=&quot]„/usr/local/bin“[/FONT][FONT=&quot]. Nun kann jeder das Script ausführen, nur Mitglieder der Gruppe root können es aber auch ansehen. Ändern oder löschen darf es nur der Benutzer root selbst.[/FONT]

Quelle:pC-Welt

[FONT=&quot]
[/FONT]
 
Zurück
Oben