Einführung: Schnittstelle Kommandozeile Teil 2

von Peter Kelly (critter)

Im Teil des Lernprogramms vom letzten Monat war ich davon ausgegangen, dass jeder, der es liest, keine wie auch immer geartete Erfahrung im Gebrauch der Kommandozeile besitzt. Wenn Sie sich da durchgearbeitet haben, dann sollten Sie für einen tieferen Einblick gerüstet sein. Es ist nicht anstrengend, aber Sie werden mehr Text in den einzelnen Unterkategorien vorfinden. Wenn Sie auf einen Bereich stoßen, der Ihnen wie eine Mauer vorkommt, gehen Sie einfach drum herum und machen weiter. Eventuell kommen Sie dann doch mal darauf zurück, oder Sie warten auf diesen Moment, wo Sie sich an die Stirn schlagen und ''Jaaa!'' oder vielleicht sogar ''Eureka'' ausrufen, wenn die Erleuchtung Sie getroffen hat.

Wenn Sie den Tutorialteil von letztem Monat verfolgt haben, dann haben Sie jetzt etwas Erfahrung damit, Befehle über die Kommandozeile, unter Nutzung eines Konsole genannten Programms, einzugeben. Aber was soll's? Das hätten Sie alles auch ohne das dumme Tippen machen können.

Die Anwendung 'Konsole' stellt einen Terminal Emulator dar. Sie erlaubt Ihnen den Gebrauch der Kommandozeile, ohne Ihr warmes und behagliches KDE GUI aus den Augen zu verlieren. Aber was geschieht, wenn der X Server, das fensterbasierte System, unter dem KDE läuft, abstürzt? Oder wenn eine Konfigurationsdatei, auf der das System aufbaut, zerstört ist und Sie nach dem Booten nur von seltsamen Nachrichten und einem fast leeren Bildschirm begrüßt werden?

Ein Sprung in die Dunkelheit

Drücken Sie und halten Sie gedrückt Ctrl + Alt und drücken Sie dann F2.

pic1

Nun, das ist ein Terminal.

Keine Panik! Ihr teures GUI ist auch noch da.

Ctrl + Alt + F7 bringt Sie zurück.

Tatsächlich hätten Sie irgendeine der Funktionstasten von F1 bis F6 drücken können um in ein reines, textbasiertes Terminal zu gelangen.

Während meiner KDE Sitzung bin ich jetzt als Benutzer Jane angemeldet. Wenn ich wie vorher in ein Terminal wechsle

Ctrl + Alt + F2,

werde ich aufgefordert, mich anzumelden.

home login:
jane (enter)
password:

Tatsächlich, in Linux kann man an zwei Orten gleichzeitig sein. Ich bin bei meiner KDE Sitzung als Jane angemeldet (logged in) und jetzt habe ich mich noch mal in diesem Terminal als Jane angemeldet. Ich habe jetzt Zugriff auf alle Dateien von Jane, kann sie editieren, löschen, verschieben, umbenennen und neue Dateien erzeugen. Ich hätte mich als jeder Benutzer einloggen können, von dem ich das Passwort kenne und hätte Zugriff auf alle seine Dateien gehabt. Hätte ich mich als root eingeloggt, dann hätte ich Zugriff auf alle Dateien des Systems gehabt und versehentlich großes Chaos anrichten können. Aus diesem Grund sollten Sie es auf alle Fälle vermeiden, als Root einzuloggen, es gibt andere Wege mit den Dingen klarzukommen. Manchmal ist es trotzdem nötig, als Root einzuloggen, aber das ist sehr selten und sollte nur dann erfolgen, wenn Sie sich dessen, was Sie tun absolut sicher sind,.

Richtungswechsel

Um sicher zu sein, dass Sie sich in Ihrem Heimatverzeichnis befinden geben Sie cd ~ ein und erzeugen Sie anschließend mit Hilfe des Befehls

touch newfile (enter), eine neue leere Datei mit Namen newfile.

echo "this file was created in terminal 2 on " > newfile, schreibt Text in diese Datei.

Erinnern Sie sich daran, dass das > Symbol die Ausgabe eines Befehls abfängt und in eine Datei schreibt (dabei wird der ursprüngliche Inhalt ersetzt also seien Sie bei der Anwendung vorsichtig)..

Geben Sie date >> newfile ein.

Zweifache Benutzung des Symbols >> fängt die Ausgabe des Befehls ab und fügt sie in die Datei ein.

Mit exit logge ich mich aus und mit

Ctrl + Alt + F7

pgelange ich zurück in die KDE Oberfläche. Genauer gesagt in das Terminal in dem der X- Server und die KDE Umgebung laufen.

Schauen wir uns den Inhalt der Datei an, die wir gerade erstellt haben.

cat newfile

pic2

Was wir hier machen nennt man Weiterleitung (redirection). Dabei handelt es sich um ein sehr wichtiges Konzept für die Arbeit mit der Kommandozeile. Die meisten Linux Befehle sind 'flussorientiert'. Dies bedeutet, dass Daten in einen Befehl hinein und wieder heraus fließen, in etwa wie bei einer Wurstmaschine – Fleisch geht auf der einen Seite rein, dann drehen wir den Hebel und erhalten Würste auf der anderen Seite. Die Daten werden während ihres Befehlsdurchlaufs verarbeitet.

Ich versuche jetzt, Ihnen zu erklären, was passiert, wenn Sie sich niedersetzen und damit beginnen, einen Befehl in einem Terminal mit Hilfe eines Shellprogramms wie der Bash einzugeben. Wenn Sie eine Taste drücken (oder eine Tastenkombination wie Shift + a, dann speichert das Shellprogramm den Wert dieses Tastendrucks in einem Puffer (buffer) genannten speziellen Speicherbereich und gibt eine Kopie hiervon am Bildschirm aus. Dann wartet es (Shellprogramm) auf einen neuen Tastendruck, um diesen ebenfalls im Speicher abzulegen. Wenn Sie die Enter Taste drücken, dann ist dies das Signal, dass das Eingabepaket abgeschlossen ist und der gesamte Inhalt des Tastaturpuffers wird zur Interpretation weitergeleitet. Hier beginnt das 'Magische' der Arbeit der Bash.

Die Bash übernimmt alle ihre Tastatureingaben aus dem Tastaturspeicher, legt sie in Gruppen, die Sie durch Leerzeichen gekennzeichnet haben in einer Tabelle ab, untersucht diese nach einer Zeichengruppe, die als ausführbarer Befehl verstanden werden kann, sucht nach besonderen Zeichen, die für die Shell eine spezielle Bedeutung haben und entscheidet dann, was mit dem Rest der gefundenen Gruppen, aufgrund des bisher Erkannten, geschehen soll.

Normalerweise heißt das, dass bei Ihrer Kommandozeileneingabe wie:

ls /home/jane,

die Bash 2 Dinge in ihrer Tabelle hat, nämlich ls und /home/jane.

Bash erkennt jetzt, dass es sich bei ls um einen Befehl handelt und sucht nun nach Eingabeinformationen, irgendwelchen Optionen, die den Standardweg der Befehlsverarbeitung verändern und danach, was mit dem Ergebnis geschehen soll. (Dies ist ein sehr vereinfachter Überblick, aber er reicht für unsere gegenwärtigen Bedürfnisse aus).

Früher hatten wir schon einmal das Befehlsformat charakterisiert:

{cmd} {options} {argument}

Jetzt kennen wir die Bash schon etwas besser und können dies erweitern:

{cmd} {options} {input argument} {output argument}

{cmd} ist der Befehlsname

{options} z.B. -a oder -al, damit wird die Ausgabe oder das Ergebnis des Befehls modifiziert.

{input argument} alles, was Sie dem Befehl für seine Arbeit übergeben wollen.

{output argument} lenkt die Ergebnisse des Befehls dahin, wo Sie sie haben wollen.

Jetzt hat die Bash also den Befehl gefunden, ls. Sie sucht jetzt in der Tabelle nach einer Gruppe von Tastatureingaben, die ein qualifiziertes Eingabeargument {input argument} für den Befehl darstellen und findet /home/jane. Wenn nichts Qualifiziertes gefunden wird, dann hat der Programmierer des Befehls hoffentlich eine Standardbedingung eingebaut die greift, wenn keine Eingabe erfolgt ist. Der Standard von ls, ohne Eingabe, bezieht sich darauf, 'wo immer ich mich befinde'. Für die Ausgabe des Befehls waren keine Optionen angegeben, die Ausgabe des ls Befehls besteht also in einer einfachen Auflistung.

Ohne {output argument} bedeutet die Standardausgabe der meisten Befehle 'am Bildschirm ausgeben'. Also, dieser Befehl erzeugt eine einfache Auflistung des Verzeichnisinhaltes von /home/jane am Bildschirm.

Diese Standardeinstellungen von wo die Eingabe erfolgt und wohin die Ausgabe gelenkt wird, können durch Umleitung geändert werden. Dabei erklären Sie der Bash, dass sie ihre Angewohnheiten vorübergehend ablegen und Instruktionen von der Kommandozeile übernehmen soll.

Standardeingabe und Standardausgabe der Shell heißen stdin und stdout (Standardeingabegerät, normalerweise Tastatur und Standardausgabegerät, normalerweise Bildschirm). (Es gibt noch einen dritten Datenstrom, der stderr heißt, für standard error. Aber lasst uns erst mal laufen lernen, oder?)

Sie können jedoch Daten aus anderen Quellen oder nach anderen Zielen, wie z. B. Dateien, umleiten. In den vorangehenden Beispielen haben wir die Ausgabe mit Hilfe des > Operators in eine Datei umgeleitet, anstatt sie am Bildschirm auszugeben. Um die Eingabe von irgendwo anders her als stdin umzuleiten benutzen wir das Symbol <. Versuchen Sie dies.

ls /etc > newfile2 Dies erstellt eine Liste des Inhalts des Verzeichnisses /etc in der Datei newfile2.

Mit sort -r < newfile2 wird der Inhalt der Datei in umgekehrter Reihenfolge sortiert.

Hier übernimmt der ls Befehl seine Eingabe von stdin (/etc) wie sie in den Tastaturpuffer eingegeben wurde und die Ausgabe wird in die Datei newfile2 umgeleitet, anstatt am Bildschirm ausgegeben zu werden. In der nächsten Zeile nutzt der sort Befehl den Inhalt der Datei newfile2 als seine Eingabe und sendet seine Ausgabe nach stdout, den Bildschirm, da wir nichts Anderes angegeben haben.

Es gibt einen besseren Weg, dies zu machen, indem man einen Mechanismus, der pipe genannt wird, anwendet. Wir haben das schon gesehen, er sieht so | aus.

ls /etc | sort -r liefert dasselbe Ergebnis, wie die beiden obigen Zeilen, wobei das mittlere newfile2ausgeschnitten wird. Die Ausgabe des Befehls ls /etc wird durch eine pipe | in den Befehl sort -r eingeleitet.

Was ist also nun der Unterschied zwischen ls > sort und ls | sort? Dies führt oft zu Verwirrung. ls > sort übernimmt die Ausgabe des ls Befehls und lenkt sie in die Datei 'sort' um, die, wenn nötigt, erzeugt wird, anstatt sie am Bildschirm auszugeben (stdout). Dies war wahrscheinlich nicht gewollt.

ls | sort übernimmt die Ausgabe und übergibt sie mittels pipe an den Befehl sort, der seinerseits seine Ausgabe an den Bildschirm leitet , da diese nicht umgeleitet wurde. Auf diese Weise können recht komplexe Befehle aufgebaut werden.

Erstellen Sie eine kleine Datei mit einer zufälligen Liste von Namen. Verwenden Sie dazu die Editiereigenschaften der Bash, wie sie letzten Monat beschrieben wurden.

touch contacts
echo john > contacts

Use the up-arrow to bring back the previous line then alt + b and the delete key to edit the line.

echo amy >> contacts

(don't forget to use the >> (append) operator here.)

echo gustav >> contacts
echo bob >> contacts
echo glenn >> contacts
echo simon >> contacts
echo george >> contacts

Look at the file contents. Type cat contacts.

pic3

cat contacts | sort | tr [a-z] [A-z] > contacts2

Was hat dies gemacht? Type cat contacts2.

pic4

Im obigen Verbundbefehl wird der Inhalt der Datei contacts mittels einer pipe an den sort Befehl geleitet und dieser sortiert den Inhalt alphabetisch von a nach z, der Standardausführung des Befehls. Es wurden ja keine Optionen bezüglich einer Modifikation der Ausgabe übergeben. Diese (Ausgabe) wiederum geht an den tr Befehl, welcher jeden Buchstaben aus dem Bereich a-z in den äquivalenten Großbuchstaben (Bereich A-Z) umwandelt. Schlussendlich werden die Ergebnisse der Übersetzung in eine Datei mit Namen contacts2 geschrieben. Diese Datei wird, wenn nötig, erzeugt oder sie wird überschrieben, wenn sie schon vorhanden ist. Machen Sie sich keine Sorgen, wenn Sie nicht verstehen, wie diese neuen Befehle funktionieren. Ich möchte nur, dass Sie eine Vorstellung davon bekommen, wie wir Daten aus Dateien durch Befehle und Filter fließen lassen können und dann diese Daten in eine Datei schreiben oder am Bildschirm ausgeben können.

Auf der Kommandozeile editieren

Die Datei contacts hatten wir Zeile für Zeile erstellt. Das ist für alles andere als die einfachsten Dateien offensichtlich unbefriedigend. Was man wirklich braucht ist ein Texteditor. Wir könnten einen grafischen, den wir kennen, wie z. B. kwrite aufrufen, aber das geht nicht, wenn wir uns in einem textbasierten Terminal befinden, in das wir gelangen, wenn wir Ctrl + Alt + F2. drücken. Wenn z. B. Das X Window System nicht startet, dann sind Sie in so einer Lage.

Der elementare Editor, den Sie in fast jeder Distribution finden, ist vi. Wir werden ihn später behandeln, denn es kann eines Tages leicht passieren, dass das alles ist, was Ihnen zur Verfügung steht. Dabei handelt es sich um einen sehr mächtigen Editor, der aber schwierig und nur wenig intuitiv von neuen Benutzern bedient werden kann.

Glücklicherweise enthält PCLinuxOS einen hübschen kleinen Editor für die Arbeit auf der Kommandozeile. Lernen Sie nano kennen! Gibt man nano auf der Kommandozeile ein, so öffnet sich der Editor mit einer leeren Seite. Wenn Sie nach nano einen Dateinamen eingeben, so wird diese (im Editor) geöffnet, wenn sie existiert. Wenn eine Datei diesen Namens nicht existiert, so wird zu diesem Zeitpunkt noch keine Datei angelegt, aber wenn Sie den Editor verlassen, werden Sie aufgefordert, ihre Arbeit unter diesem Dateinamen abzuspeichern. Erst dann wird die Datei angelegt.

Geben wir nano contacts2 ein, dann öffnet sich der Editor mit unserer sortierten Datei und der Curser befindet sich über dem ersten Buchstaben der ersten Zeile.

pic5

Die Bildschirmanzeige ist in vier Bereiche aufgeteilt:

  • Die oberste Zeile am Bildschirm heißt Kopfleiste. Hier findet man die gegenwärtige Versionsbezeichnung von nano und den Namen der Datei, die editiert wird. Wenn Sie keinen Dateinamen angegeben haben, dann steht hier 'new buffer'. Wenn die Datei seit dem letzten Abspeichern verändert wurde, dann wird an der rechten Seite der Kopfleiste 'Modified' angezeigt.
  • Die zwei untersten Zeilen zeigen eine Liste von Befehlsabkürzungen. In nano werden Befehle dadurch definiert, dass man entweder die Ctrl Taste zusammen mit der Abkürzungstaste drückt, oder indem man die Escape Taste vor der Abkürzungstaste drückt. Das Einschaltungszeichen ^ symbolisiert die Ctrl Taste. Z. B. beendet also Ctrl + x das Programm. Die Escape Taste wird durch M dargestellt. Diese wenigen (angezeigten) Befehle reichen normalerweise für die meisten Absichten aus. Esc - a markiert Text und Esc - m ermöglicht begrenzte Mausunterstützung oder schaltet diese ab. Es gibt auch noch mehr, wenn Sie es wollen. Mit Ctrl + g wird eine kurze Einführung angezeigt.
  • Die drittunterste Zeile gerade oberhalb der Befehlsliste ist die Statuszeile. Hier wird angezeigt, dass nano 7 Zeilen aus der Datei contacts2 eingelesen hat.
  • Beim Rest des Bildschirms handelt es sich um den Bearbeitungsbereich.

Benutzen Sie, bei geladener Datei contacts2 die Pfeiltasten, um den Cursor über dem Buchstaben L des Namens GLENN zu positionieren. Drücken Sie esc + aum dieTextmarkierung zu starten. Um die drei Buchstaben LEN zu markieren, drücken Sie 3 Mal die rechte Pfeiltaste. Mit ctrl + k werden die 3 Buchstaben entfernt und in den Ausschneidepuffer, ein temporärer Speicherbereich, geschrieben. Beim Drücken von ctrl + u wird der Inhalt des Ausschneidepuffers an der aktuellen Cursorposition eingefügt und der Name GLENN wiederhergestellt. Positionieren Sie den Cursor mit Hilfe der Pfeiltasten ans Ende der Datei und drücken Sie ctrl + u erneut, um den neuen Kontakt LEN hinzuzufügen. So geht cut & paste im nano Stil.

Mit ctrl + o werden Sie aufgefordert, die Datei unter dem Namen contacts 2 abzuspeichern. Drücken von Enter speichert die Veränderungen und bringt Sie in den Editor zurück. Wenn Sie den Dateinamen ändern, unter dem abgespeichert werden soll, werden Sie aufgefordert, dies zu bestätigen und gelangen mit der neuen Datei zurück in den Editor. Fügen Sie einige Namen hinzu und drücken Sie ctrl + x. Antworten Sie y und verlassen Sie den Editor unter Speicherung Ihrer Änderungen.

Dieser Typ eines einfachen Editors eignet sich in idealer Weise für das Editieren von Linux Konfigurationsdateien durch Anfänger, weil nur Text erzeugt wird, ohne raffinierte Formatierungen, die fehlinterpretiert werden könnten. Benutzen Sie ein anderes Programm, wenn Sie einen Roman schreiben wollen.

Ein Aufenthalt im Chefsessel

Zur Erledigung mancher Dinge benötigen Sie die besonderen Privilegien des Benutzers root. Der sicherste Weg hierzu ist die Anwendung des Befehls su. Dieser Befehl erlaubt es Ihnen Ihre Benutzeridentität zu jedem Nutzer 'umzuschalten', von dem Sie das Passwort kennen.

su john fragt Sie nach dem Passwort von john. Wenn es den Benutzer john gibt und wenn das Passwort erfolgreich eingegeben wurde, dann erlaubt Ihnen die Shell den vollen Zugriff auf john's Dateien und Verzeichnisse. Darum sollten Sie Ihr Passwort gesichert halten. su ist ein sehr mächtiger Befehl.

Wenn Sie su ohne einen Benutzernamen eingeben, dann nimmt der Befehl an, dass Sie root Zugang zu allen Dateien und Verzeichnissen haben wollen und fordert Sie auf, das root Passwort einzugeben.

pic6

Wenn Sie mit root-Rechte arbeiten können Sie sich Ihr System schnell unbrauchbar machen!

Machen wir mal ein paar Rootsachen.

pic7

Beachten Sie, dass sich das Symbol für den Prompt von $ nach # verändert hat. Das haben Sie vielleicht nicht gesehen, aber ich bin ziemlich sicher, dass Sie bemerkt haben, dass der Prompt jetzt leuchtend rot ist. Das ist nicht immer der Fall, aber die Entwickler von PCLinuxOS glauben, dass Sie sich nun darüber im Klaren sein sollten, dass Sie jetzt in der Lage sind, wirklich Schaden anzurichten und haben deshalb den Prompt verändert um hierauf hinzuweisen. Beachten Sie auch, dass der Prompt nun anzeigt, dass ich jetzt als root und nicht mehr als jane arbeite, mich aber noch immer in jane's Heimatverzeichnis befinde. Seien Sie sich darüber im Klaren, dass die Befehle cd und cd ~ Sie jetzt ins Verzeichnis /rootbringen und nicht nach /home/jane!

Etwas das root machen kann und einfache Sterbliche nicht ist es, Benutzer zum System hinzuzufügen oder vom System zu löschen. Wollen wir dem System einen neuen Benutzer namens john hinzufügen, dann erzeugt der Befehl useradd john das Benutzerkonto und baut die Benutzerumgebung auf, indem alle Dateien, die der Systemadministrator oder die Distributionsentwickler im Verzeichnis /etc/skel abgelegt haben, kopiert werden. Der (neue) Benutzer wird nicht zu irgendwelchen Benutzergruppen hinzugefügt, außer zur Standardgruppe des Benutzers. Das kann man jedoch mit der -G Option, gefolgt von einer Gruppenliste erreichen, oder auch später mit dem Befehl usermod. Wir werden uns mit Gruppen später beschäftigen, wenn wir zu den Dateirechten kommen.

Die Einrichtung des Kontos sollten Sie mit

passwd john

vervollständigen und so ein Passwort für das neue john Konto vergeben. Das müssen Sie dann dem Benutzer mitteilen und dieser kann es dann, nachdem er sich erstmalig eingeloggt hat mit demselben Befehl ändern.

userdel john

löscht den Benutzer. Wenn Sie hier die -r Option mitangeben, dann wird das Heimatverzeichnis des Benutzers mit allen Dateien, die es enthält, gelöscht. Es gibt auch einen Befehl mit dem Namen adduser Er ist gleich zu useradd.

Nachdem wir unsere Arbeit erledigt haben sollten wir unsere besonderen root Privilegien mit ctrl + d oder dem exit Befehl wieder aufgeben.

pic8

Überprüfen Sie nun, ob das Konto erfolgreich eingerichtet worden ist.

pic9

su john loggt mich auf john's Konto ein, aber der Prompt zeigt mir, dass ich mich immer noch in jane's Heimatverzeichnis befinde cd ~ da ich jetzt als john eingeloggt bin, bringt mich dies in john's Heimatverzeichnis, was ich mit dem Befehl

pwd

überprüfen kann.

Mit dem exit Befehl logge ich mich aus john's Konto aus und gelange zurück auf jane's Konto und auch in das wie auch immer geartete Verzeichnis, in dem jane war, als sie den su Befehl ausführen ließ.

Wir werden zum root Terminal später zurückkommen, wenn wir ein paar mehr Befehle nutzen können.

Anpassen der Arbeitsumgebung

Nachdem Sie eine Zeitlang mit der Kommandozeile gearbeitet haben werden Sie feststellen, dass Sie immer und immer wieder dieselben Befehle und Optionen eintippen. Ganz sicher hat schon jemand darüber nachgedacht, wie man das besser machen kann! Er hat! Man nennt es alias und es handelt sich dabei darum, Befehlen, die Sie oft benutzen, einen eigenen Namen zu geben. In PCLinuxOS haben Sie schon einige Aliase. Geben Sie den Befehl alias ein, um sie zu sehen.

pic10

Achten Sie bei ungefähr der Hälfte der Liste auf: alias ll='ls -l'. Wenn Sie

ll

auf der Kommandozeile eingeben, dann wird die Bash dies alss ls -l interpretieren und entsprechend ausführen.

Lassen Sie uns ein neues, eigenes alias herstellen. Nehmen Sie an, dass ich häufig einen Papierausdruck einer Verzeichnisliste haben möchte, bei der der Inhalt nach Dateigröße und das in leicht lesbarer Form sortiert ist.

Um in Linux Dateien am Drucker auszugeben, benutzen wir den Befehl

lpr

Mit dem Befehl lpr myfile1wird der Inhalt der Datei myfile1an den Standarddrucker gesendet, ohne dass irgendeine Umleitung nötig wäre, aber es ist auch üblich, über eine pipe die Eingabe für lpr von einem anderen Befehl zu übernehmen. Ich möchte ein alias erzeugen, das meine Liste problemlos ausdruckt und ich möchte den Namen lspr benutzen, ohne mit irgendeinem anderen Systembefehl in Konflikt zu geraten. Geben Sie also ls ein und drücken Sie tab um eine liste aller Befehle anzuzeigen, die mit den Buchstaben ls ls beginnen.

pic11

Jetzt sehe ich, dass es keinen Befehl namens lspr gibt auf den ich Zugriff hätte und ich daher diesen Namen sicher für mein alias verwenden kann.

Drücken Sie ctrl + c um den Befehl zu verlassen.

Für die Einrichtung des alias verwende ich den Befehl

alias lspr="ls -lhSr | lpr"

Das teilt der Bash mit, dass jedes mal, wenn die Tastenkombination lspr eingegeben wird, der Befehl ls -lhSr | lpr" ausgeführt werden soll. Dieses erzeugt eine Langliste (Option l) des Verzeichnisses in für Menschen lesbarer Form (Option h). Sie ist nach Dateigröße in umgekehrter Reihenfolge (Option r) sortiert (Option S) und wird mittels pipe an den Drucker gesendet.

ergewissern Sie sich, dass Ihr Drucker angeschlossen und eingeschaltet ist und geben Sie dann

lspr enter

ein.

Auf diese Weise brauche ich mich nicht mehr an die Formatierung des Befehls zu erinnern, nur an das alias lspr. Leider geht das neue alias verloren, wenn die Sitzung durch Ausloggen beendet wird, oder wenn das Konsolenfenster geschlossen wird. Um es permanent verfügbar zu machen, müssen wir eine dieser versteckten Dateien in unserem Heimatverzeichnis editieren, deren Namen mit einem Punkt beginnt: .bashrc. Es handelt sich dabei um die Ressourcenkonfigurationsdatei der Bash, die jedes mal eingelesen wird, wenn eine neue Bashausführung aufgerufen wird.

nano ~/.bashrc

öffnet die Datei .bashrc aus Ihrem Heimatverzeichnis für's Editieren.

pic12

Drücken Sie die Runter-Pfeiltaste, bis Sie zum Ende der Datei gelangen, fügen Sie dann das alias an und drücken Sie Enter. Nachdem wir schon mal hier sind kopieren und fügen Sie auch Folgendes ein:

export PS1='\[\033[01;32m\]\u@\h > \W \$\[\033[37m\]'

Vergewissern Sie sich, dass Sie das abschließende Anführungszeichen mitverwendet haben und drücken Sie Enter. Drücken Sie immer Enter am Ende einer Systemkonfigurationsdatei um sicherzustellen, dass diese mit einer Leerzeile endet.

Es sollte jetzt so aussehen, wie in der nächsten Abbildung weiter unten.

pic13

Geben Sie ctrl + x ein, dann y am Prompt und dann Enter, um die geänderte Datei zu speichern. Schließen Sie das Konsolenfenster um die Bashsitzung zu beenden und starten Sie sie dann erneut. Das ist notwendig, damit für die neue Bashsitzung die geänderte Konfigurationsdatei eingelesen wird.

Wenn alles gut gegangen ist, sollten Sie jetzt in der Lage sein, lspr einzugeben und Ihren Ausdruck zu erhalten. Auch sollten Sie jetzt einen hübschen grünen Prompt haben, der Sie als 'nicht root' kennzeichnet. Wenn Sie grün nicht mögen, können Sie es ändern, indem Sie den 01;32 Teil dieser Zeile verändern.

export PS1='\[\033[01;32m\]\u@\h > \W \$\[\033[37m\]'

Um die Grundfarbe zu wechseln, ändern Sie 32 in einen Wert zwischen 30 und 37. Auch bei 01 können wir verschiedene Werte einsetzen:

00 für normale Farben
01 für leuchtende Farben
04 für unterstrichenen Text 
05 für blinkenden Text 
07 für umgekehrten Videotext

Das darf auch kombiniert werden, z. B. 01;04;05 für leuchtenden, unterstrichenen, blinkenden Text. Fügt man einen Wert zwischen 40 und 47 hinzu, so wird die Hintergrundfarbe verändert z. B. 1;34;47. Benutzen Sie zum Ausprobieren der Farben auf der Kommandozeile

echo -e '\033[01;37;44mPCLinuxOS - Radically Simple\033[0m'

und ersetzen Sie 1;37;44 durch die oben angegebenen, durch Strichpunkt ; getrennten Werte. Die dem echo Befehl beigefügte -e Option bewirkt die Interpretation gewisser Zeichenfolgen, die man Escapesequenzen nennt, anstatt diese blind am Bildschirm auszugeben. Aus diesem Grund sehen wir nicht diesen ganzen Kauderwelsch am Bildschirm.

pic14

Experimentieren Sie mit verschiedenen Farbkombinationen. Vielleicht loggen Sie als john ein oder benutzen sein Konto mit su und ändern seinen Prompt nach blau. Solange Sie sich aus dem root Konto heraushalten, können Sie nichts wirklich Schlimmes anrichten. Diese hier sind ja letztendlich nur Attrappenkonten.

Fühlen Sie sich jetzt schon etwas mehr zu Hause?