Was erzählen die Leute im Forum eigentlich immer ?
Und was dahinter steckt ...
Diese Seite richtet sich an
alle, die schon ein Linux laufen haben, aber noch nicht wissen, was man damit noch so alles an- und einstellen kann, wie z.B.
S.u.S.E -> Debian-Umsteiger, also Leute am Übergang von Mausschubser zum Konsolentippser.
Hier sollen alle Begriffe gesammelt werden, die von Anfängern möglicherweise nicht verstanden werden, damit im
Forum∞ immer auf diese Seite verwiesen werden kann.
Ausgabe eines Befehls mit > / >> in eine Datei umleiten
Alle Programme haben die Möglichkeit, Ausgaben auf die Konsole auszugeben. Dies passiert z.B. wenn auf Eingaben reagiert wird, wenn Fehler auftreten oder einfach um Aktionen, die das Programm durchführt, zu protokollieren (Logfile).
Dies macht man normalerweise auf 2 Arten:
>-Standard-Ausgabe (0)
>-Standardfehler-Ausgabe (2)
Um die Ausgabe umzuleiten, dafür gibt es das
>-Zeichen.
>-ein
>-Zeichen (über)schreibt die Ausgabe in eine (vorhandene) Datei
>-zwei
>-Zeichen hintereinander, fügt die Ausgabe an eine (bereits existierende) Datei an
In beiden Fällen wird eine Datei angelegt, sofern sie nicht existiert.
Beispiel 1:
DerPrompt>Befehl > ./DieAusgabevonBefehl.txt
Die
Standard-Ausgabe von
Befehl wird
in die Datei "DieAusgabevonBefehl.txt" geschrieben, jeder bereits vorhandene Inhalt wird ueberschrieben.
Beispiel 2:
DerPrompt>Befehl >> ./DieAusgabevonBefehl.txt
Die
Standard-Ausgabe von
Befehl wird
an die Datei "DieAusgabevonBefehl.txt" angehängt, jeder bereits vorhandene Inhalt wird
nicht ueberschrieben.
Standardfehler-Ausgabe umleiten:
Um die Fehler-Ausgabe umzuleiten, wird
vor dem
>-Zeichen die entsprechende Angabe (hier
2) gesetzt,
damit wird dann nur die Warning-Ausgabe umgeleitet. Die Standard-Ausgabe erscheint weiterhin auf der Konsole.
Beispiel 1:
DerPrompt>Befehl 2> ./DieAusgabevonBefehl.txt
Die
Fehler-Ausgabe von
Befehl wird
in die Datei "DieAusgabevonBefehl.txt" geschrieben, jeder bereits vorhandene Inhalt wird ueberschrieben.
Beispiel 2:
DerPrompt>Befehl 2>>./DieAusgabevonBefehl.txt
Die
Fehler-Ausgabe von
Befehl wird
an die Datei "DieAusgabevonBefehl.txt" angehängt, jeder bereits vorhandene Inhalt wird
nicht ueberschrieben.
Standard- & Standardfehler-Ausgabe umleiten:
Um beide Ausgaben umzuleiten, verwenden wir das
&1-Zeichen.
Beispiel 1:
DerPrompt>Befehl 2>&1 > ./DieAusgabevonBefehl.txt
Die
Fehler-Ausgabe von
Befehl wird
in die Datei "DieAusgabevonBefehl.txt" geschrieben, jeder bereits vorhandene Inhalt wird ueberschrieben.
Beispiel 2:
DerPrompt>Befehl 2>&1 >>./DieAusgabevonBefehl.txt
Die
Fehler-Ausgabe von
Befehl wird
an die Datei "DieAusgabevonBefehl.txt" angehängt, jeder bereits vorhandene Inhalt wird
nicht ueberschrieben.
Weitere Möglichkeiten stehen in der
man-Page von
bash bzw.
sh
man bash
Die Pipe |
Das Pipe-Zeichen erreicht man mit der Tastenkombination "
AltGr+
<>".
Genutzt wird die Pipe um die Ausgabe eines Befehls durch einen zweiten Befehl direkt weiterverarbeiten zu können.
Befehl1 | Befehl2
Beispiel 1:
DerPrompt>locate bin | grep aMule
Im Beispiel wird
locate bin aufgerufen,
das Ergebnis wird aber nicht ausgegeben, sondern weitergereicht an den zweiten Befehl
grep aMule.
Als Ausgabe wird das dargestellt, was
grep aMule aus den Daten von
locate bin gemacht hat,
in diesem Fall zeigt es nur die Zeilen an, in denen das Muster
"aMule" vorkommt.
Befehle bei jedem Start ausführen
Bei jedem Start von Kanotix werden verschiedene Programme gestartet,
die bestimmte Dinge tun, z.B. Geräte einbinden, den X-Server starten, etc.
Um nun evt. zusätzliche Programme bei jedem Neustart mit zu starten,
bieten sich mehre Möglichkeiten an.
Der einfachste Weg geht über den KDE-Autostart, welchen man für den eigenen Nutzer oder gleich für alle Nutzer konfigurieren kann.
KDE-Autostart - für einen Benutzer
Der Inhalt des Verzeichnis
/home/Benutzername/.kde/Autostart wird bei jedem Start von KDE geladen. Will man nun z.B. bei jedem Start
konqueror ausführen, richtet man eine Verknüpfung zu
konqueror ein.
Konsolen Weg:
In der Konsole verwendet man folgenden Befehl
DerPrompt>ln /usr/bin/konqueror /home/Benutzername/.kde/Autostart/Verknüpfungsname
grafischer Weg:
Wer nicht mit der Konsole arbeiten möchte, kann dass auch grafisch erledigen. Dazu Konqueror öffnen und ins Verzeichnis
/home/Benutzername/.kde/Autostart wechseln. Dort per Rechtsklick unter
Neu erstellen eine
Verknüpfung zu Programm erstellen. Name der Verknüpfung wählen und im Reiter
Programm unter Befehl "konqueror" eintragen.
KDE-Autostart - für alle Benutzer
Um Programme für alle Benutzer automatisch starten zu lassen, werden die Verknüpfungen diesmal im Verzeichnis
/usr/share/autostart erstellt. Für diesen sind
root-Rechte erforderlich.
Konsolen Weg:
Durch ein
su und dem
root-Passwort logt man sich kurzerhand als
root# ein. Danach benutzt man folgenden Befehl, um die Verknüpfung zu erstellen.
DerPrompt>ln /usr/bin/konqueror /usr/share/autostart/Verknüpfungsname
grafischer Weg:
Über das K-Menü
unter System
und Weitere Programme
startet man Konqueror (Systemverwaltungsmodus)
. Nach der Eingabe des root
-Passworts wechselt man in das Verzeichnis /usr/share/autostart
und legt wie für den einzelnen Benutzer beschrieben eine Verknüpfung an.
Egal welche Variante man bevorzugt, nach getaner Arbeit sollte man die root
-Konsole bzw. den Konqueror (Systemverwaltungsmodus)
schließen!
Autostart über die bootmisc.sh
Über die Datei /etc/init.d/bootmisc.sh
lassen sich ebenfalls Autostarts einrichten. Bei dieser Variante sei aber darauf hingewiesen, dass es nicht möglich ist ein grafisches Programm, wie z.B. Konqueror zu starten.
Da die Datei nicht von jedem verändert werden soll (jeder Hacker würde sich darüber freunen),
ist diese Datei nur als Benutzer root
beschreibar.
Man öffnet eine Konsole und wählt sich als root
mit dem Befehl su
ein. Nach Eingabe des root
-Passworts ruft man die Datei mit:
DerPrompt>vi /etc/init.d/bootmisc.sh
auf und fügt den Aufruf, für das Programm was man starten will, am Ende an.
Dateien nach einem Muster durchsuchen
Oft möchte man Dateien nach bestimmten Zeichenketten oder Mustern durchsuchen.
Hierfür bietet sich grep
an.
grep
durchsucht die angegebenen Dateien nach dem angegebenen String
und zeigt dann die entsprechende Zeile an, in der das zusuchende Wort enthalten ist.
Beispiel 1:
DerPrompt>grep Hallo ./HalloWelt.txt
Im Beispiel wird in der Datei "HalloWelt.txt" Das Wort "Hallo" gesucht.
Steht in der Datei der Text "Hallo Welt" erscheint dann als Ausgabe:
Hallo Welt
DerPrompt>
Man hat auch die Möglichkeit, mit sogenannten Regular Expressions? Zeichenketten zu beschreiben.
Beispiel 2:
DerPrompt>grep ^Hallo ./HalloWelt.txt
grep
zeigt alle Zeilen an, wo das Wort "Hallo" am Anfang einer Zeile steht.
Dies erfolgt durch die Angabe des ^ (Caret-Zeichen) am Anfang des zu suchenden Wortes.
Mit dem $-Zeichen sucht man alle Zeilen, wo die entsprechende Zeichenkette am Ende der Zeile steht.
Beispiel 3:
DerPrompt>grep Welt$ ./HalloWelt.txt
Weitere steht in der Hilfe zu grep
und regexp
DerPrompt>man grep
DerPrompt>man regexp
:3: locate
- Dateien suchen :3:
debian hat ein ganz grossartiges Tool namens locate. Wenn man eine Datei sucht, gibt man
locate bin
ein und erhaelt ratzfatz eine Liste aller Dateien, deren (voller) Name (also inklusive Pfad) das Muster bin
enthält. Ratzfatz deshalb, weil locate sich einer Datenbank bedient, die man hin und wieder mit updatedb
(darf nur root) aktualisieren muß.
:3: vi
- Konsoleneditor :3:
Mein liebster für Konfigurationsdateiengefummel (sehr praktisch: farbliche Syntax-Markierung). Drei Takte zum Einstieg: Nach dem Aufruf ist man im Betrachtermodus; mit der Einfg-Taste kommt man in den Editiermodus, mit ESC wieder zurück. Editiermodus ist einigermaßen verständlich, im Betrachtermodus kann man aber auch Befehle (über Tastenkombinationen) ausführen:
:q beendet vi (wenn die Datei nicht verändert wurde)
:q! beendet vi, ohne die Änderungen zu speichern
:wq speichert die Änderungen, beendet vi dann (write, quit)
dd löscht die aktive Zeile
5dd löscht die aktive und die 4 folgenden Zeilen
x löscht das aktive Zeichen (wie Entf, nicht wie Backspace)
r 8 ersetzt das aktive Zeichen durch eine 8
/mnt sucht (sukzessive während man das "mnt" tippt) nach "mnt". Alle weiteren "mnt" findet man mit "n"
Sehr viel mehr kann ich auch nicht. Wenn man sich mal in einem komischen Befehl verirrt hat, im Zweifelsfall ESC drücken, bis man wieder in den normalen Betrachtermodus kommt.
zurück