Kommandozeilenreferenz: Unterschied zwischen den Versionen

Aus dem IServ-Wiki
Zur Navigation springen Zur Suche springen
(→‎Datenströme: uniq und tee verbessert; Geschützte Leerzeichen)
 
(97 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
== Hilfe ==
 +
{| class="wikitable"
 +
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>[[man]]</tt> || <tt>man&nbsp;''Befehl''</tt> || Zeigt<ref>Genau genommen lädt <tt>man</tt> nur die Hilfetexte in einen Pager; dies ist üblicherweise <tt>less</tt>. Daher treffen alle Bedienungshinweise für <tt>less</tt> auch auf <tt>man</tt> zu.</ref> die Dokumentation ('''Man'''ual) zum dem Befehl ''<tt>Befehl</tt>'' an; das Manual enthält jedoch auch Dokumentation zur Linux-API, Perl-Funktionen etc. || <tt>man&nbsp;ls</tt>
 +
|-
 +
| || <tt>man&nbsp;-k&nbsp;''Stichwort''</tt><ref><tt>apropos</tt> erfüllt den gleichen Zweck, ist aber schwieriger zu tippen ;) </ref> <br/>  || Durchsucht den Index der Hilfeseiten nach dem Stichwort <tt>''Stichwort''</tt>. Sehr nützlich, wenn man den Befehl für eine bestimmte Tätigkeit sucht. || <tt>man&nbsp;-k&nbsp;apt</tt>
 +
|-
 +
| <tt>whatis</tt> || <tt>whatis&nbsp;''Stichwort''</tt> || Dieselbe Funktion wie <tt>man -k ''Stichwort''</tt>; findet jedoch nur Zeilen, in denen <tt>''Stichwort''</tt> als ganzes Wort vorkommt. || <tt>whatis&nbsp;apt</tt>
 +
|-
 +
| <tt>info</tt> || <tt>info&nbsp;''Befehl''</tt> || Zeigt das TexInfo-Manual zu dem Befehl <tt>''Befehl''</tt> an; im Gegensatz zu <tt>man</tt>-Hilfeseiten können diese Dokumente Hyperlinks enthalten. Beendet wird <tt>info</tt> mit der Taste q. || <tt>info&nbsp;ls</tt>
 +
|-
 +
| <tt>''Befehl''&nbsp;<nowiki>--</nowiki>help</tt> <br/> <tt>''Befehl''&nbsp;-h</tt> <br/> <tt>''Befehl''&nbsp;help</tt> ||  || Zeigt einen Hilfetext an, der im Programm selbst gespeichert ist. Diese Dokumentation ist von <tt>man</tt>, <tt>less</tt> und Manualdateien etc. völlig unabhängig; ob sie jedoch überhaupt vorhanden ist und wie sie aufgerufen wird, hängt von dem jeweiligen Programm ab. || <tt>ls&nbsp;<nowiki>--</nowiki>help</tt>
 +
|-
 +
|}
 +
 
== Dateisystem ==
 
== Dateisystem ==
 
 
=== Navigation ===
 
=== Navigation ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
 
| <tt>cd</tt> || <tt>cd&nbsp;/</tt> || Wechselt in das Wurzelverzeichnis. || &nbsp;
 
| <tt>cd</tt> || <tt>cd&nbsp;/</tt> || Wechselt in das Wurzelverzeichnis. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>cd&nbsp;..</tt><ref>''nicht'' <tt>cd..</tt>!</ref> || Wechselt eine Verzeichnisebene höher. || &nbsp;
+
| || <tt>cd&nbsp;..</tt><ref>''nicht'' <tt>cd..</tt>!</ref> || Wechselt eine Verzeichnisebene höher. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>cd&nbsp;-</tt> || Wechselt in das vorherige Verzeichnis<ref>nicht eine Verzeichnisebene höher</ref> (vergleichbar mit dem Zurück-Button im Browser). || &nbsp;
+
| || <tt>cd&nbsp;-</tt> || Wechselt in das vorherige Verzeichnis<ref>nicht eine Verzeichnisebene höher!</ref> (vergleichbar mit dem Zurück-Button im Browser). || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>cd&nbsp;~</tt> || Wechselt in das Homeverzeichnis des aktuellen Benutzers. || &nbsp;
+
| || <tt>cd&nbsp;~</tt> || Wechselt in das {{WP|Benutzerverzeichnis}} des aktuellen Benutzers. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>cd&nbsp;''Verzeichnis''</tt> || Wechselt in das angegebene ''Verzeichnis''. || <tt>cd&nbsp;/tmp</tt>
+
| || <tt>cd&nbsp;''Verzeichnis''</tt> || Wechselt in das angegebene ''Verzeichnis''. || <tt>cd&nbsp;/tmp</tt>
 
|-
 
|-
 
| <tt>ls</tt> || <tt>ls</tt> || Gibt den Inhalt des aktuellen Verzeichnisses aus. || &nbsp;
 
| <tt>ls</tt> || <tt>ls</tt> || Gibt den Inhalt des aktuellen Verzeichnisses aus. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>ls&nbsp;''Suchausdruck''</tt> || Gibt alle Einträge des aktuellen Verzeichnisses aus, auf die der ''Suchausdruck'' zutrifft. || <tt>ls&nbsp;*.txt</tt>
+
| || <tt>ls&nbsp;''Suchausdruck''</tt> || Gibt alle Einträge des aktuellen Verzeichnisses aus, auf die der ''Suchausdruck'' zutrifft. || <tt>ls&nbsp;*.txt</tt>
 
|-
 
|-
| &nbsp; || <tt>ls&nbsp;''Verzeichnis''</tt> || Gibt den Inhalt des angegebenen ''Verzeichnisses'' aus. || <tt>ls&nbsp;/opt/iserv</tt>
+
| || <tt>ls&nbsp;''Verzeichnis''</tt> || Gibt den Inhalt des angegebenen ''Verzeichnisses'' aus. || <tt>ls&nbsp;/usr/share/iserv</tt>
 
|-
 
|-
| &nbsp; || <tt>ls&nbsp;-d&nbsp;''Verzeichnis''</tt> || Gibt den nicht den Inhalt des angegebenen ''Verzeichnisses'' aus, sondern listet den Verzeichniseintrag im aktuellen Verzeichnis auf.  || <tt>ls&nbsp;-d&nbsp;/opt/iserv/*</tt>
+
| || <tt>ls&nbsp;-d&nbsp;''Verzeichnis''</tt> || Gibt den nicht den Inhalt des angegebenen ''Verzeichnisses'' aus, sondern listet den Verzeichniseintrag im aktuellen Verzeichnis auf.  || <tt>ls&nbsp;-d&nbsp;/usr/share/iserv/*</tt>
 
|-
 
|-
| &nbsp; || <tt>ls&nbsp;-l</tt> || Eine <tt>dir</tt>-ähnliche Listenansicht benutzen. || &nbsp;
+
| || <tt>ls&nbsp;-l</tt> || Eine <tt>dir</tt>-ähnliche Listenansicht benutzen. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>ls&nbsp;-A</tt> || Auch versteckte Dateien anzeigen. || &nbsp;
+
| || <tt>ls&nbsp;-A</tt> || Auch versteckte Dateien anzeigen. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>ls&nbsp;--color=auto</tt> || Zeigt die Auflistung mit hilfreichen farblichen Hervorhebungen an. || &nbsp;
+
| || <tt>ls&nbsp;--color=auto</tt> || Zeigt die Auflistung mit hilfreichen farblichen Hervorhebungen an. || &nbsp;
 
|-
 
|-
 
| <tt>pwd</tt> || <tt>pwd</tt> || Gibt den vollständigen Pfad des aktuellen Verzeichnisses aus. || &nbsp;
 
| <tt>pwd</tt> || <tt>pwd</tt> || Gibt den vollständigen Pfad des aktuellen Verzeichnisses aus. || &nbsp;
 
|-
 
|-
 
| <tt>du</tt> || <tt>du&nbsp;-sh&nbsp;''Verzeichnis''</tt> || Gibt die Größe des angegebenen ''Verzeichnisses'' inklusive der Unterverzeichnisse aus. || <tt>du&nbsp;-sh&nbsp;.</tt>
 
| <tt>du</tt> || <tt>du&nbsp;-sh&nbsp;''Verzeichnis''</tt> || Gibt die Größe des angegebenen ''Verzeichnisses'' inklusive der Unterverzeichnisse aus. || <tt>du&nbsp;-sh&nbsp;.</tt>
 +
|-
 +
|
 +
| <tt>du&nbsp;-sh&nbsp;''Verzeichnis''/*</tt>
 +
| Gibt die Größe aller Unterverzeichnisse des angegebenen ''Verzeichnisses'' aus.
 +
|
 
|-
 
|-
 
| <tt>df</tt> || <tt>df&nbsp;-h</tt> || Gibt den insgesamten und den verfügbaren Speicherplatz von allen gemounteten Laufwerken aus. || &nbsp;
 
| <tt>df</tt> || <tt>df&nbsp;-h</tt> || Gibt den insgesamten und den verfügbaren Speicherplatz von allen gemounteten Laufwerken aus. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>df&nbsp;-h&nbsp;''Laufwerk''</tt> || Gibt den insgesamten und den verfügbaren Speicherplatz von dem gemounteten ''Laufwerk'' aus. || <tt>df&nbsp;-h&nbsp;/dev/hda1</tt>
+
| || <tt>df&nbsp;-h&nbsp;''Laufwerk''</tt> || Gibt den insgesamten und den verfügbaren Speicherplatz von dem gemounteten ''Laufwerk'' aus. || <tt>df&nbsp;-h&nbsp;/dev/hda1</tt>
 +
|-
 +
| <tt>lsof</tt>
 +
| <tt>lsof</tt>
 +
| Zeigt alle geöffneten Dateien an.
 +
| <tt>lsof&nbsp;<nowiki>|</nowiki> grep&nbsp;/mnt</tt>
 +
|-
 +
|
 +
| <tt>lsof -c ''Programm''</tt>
 +
| Zeigt alle von ''Programm'' geöffneten Dateien an.
 +
| <tt>lsof&nbsp;-c&nbsp;rsync</tt>
 
|-
 
|-
 
|}
 
|}
  
 
=== Manipulation ===
 
=== Manipulation ===
 +
{{Hinweis|Objekte im Dateisystem können nur manipuliert werden, wenn der angemeldete Benutzer die benötigten [[Unix-Berechtigungen|Rechte]] auf das Quell- bzw. Zielobjekt besitzt.}}
 +
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
 
| <tt>cp</tt> || <tt>cp&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Kopiert die ''Quell''-Datei in die ''Ziel''-Datei oder den ''Ziel''-Ordner. || <tt>cp&nbsp;123.txt&nbsp;/tmp</tt>
 
| <tt>cp</tt> || <tt>cp&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Kopiert die ''Quell''-Datei in die ''Ziel''-Datei oder den ''Ziel''-Ordner. || <tt>cp&nbsp;123.txt&nbsp;/tmp</tt>
 
|-
 
|-
| &nbsp; || <tt>cp&nbsp;-R&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Kopiert den ''Quell''-Ordner in den ''Ziel''-Ordner. || <tt>cp&nbsp;-R /etc&nbsp;/backup/etc</tt>
+
| || <tt>cp&nbsp;-a&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Kopiert die Datei bzw. den Ordner ''Quelle'' nach ''Ziel'' unter Beibehaltung sämtlicher Dateiattribute wie Änderungszeitpunkt, Besitzer, Gruppe und Rechte. || <tt>cp&nbsp;-a /etc /backup/etc</tt>
 
|-
 
|-
 
| <tt>mv</tt> || <tt>mv&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Verschiebt die ''Quell''-Datei in die ''Ziel-''Datei oder den ''Ziel''-Ordner. <br/> ''Oder:'' Verschiebt den ''Quell''-Ordner in den ''Ziel''-Ordner. || <tt>mv&nbsp;123.txt&nbsp;/tmp</tt>
 
| <tt>mv</tt> || <tt>mv&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Verschiebt die ''Quell''-Datei in die ''Ziel-''Datei oder den ''Ziel''-Ordner. <br/> ''Oder:'' Verschiebt den ''Quell''-Ordner in den ''Ziel''-Ordner. || <tt>mv&nbsp;123.txt&nbsp;/tmp</tt>
 
|-
 
|-
| &nbsp; || <tt>mv&nbsp;''AlterName''&nbsp;''NeuerName''</tt> || Benennt die Datei oder den Ordner ''AlterName'' zu ''NeuerName'' um. || <tt>mv&nbsp;123.txt&nbsp;456.txt</tt>
+
| || <tt>mv&nbsp;''AlterName''&nbsp;''NeuerName''</tt> || Benennt die Datei oder den Ordner ''AlterName'' zu ''NeuerName'' um. || <tt>mv&nbsp;123.txt&nbsp;456.txt</tt>
 
|-
 
|-
 
| <tt>rm</tt> || <tt>rm&nbsp;''Datei1''&nbsp;[''Datei2'']&nbsp;[...]</tt> || Löscht ein oder mehrere Dateien. || <tt>rm&nbsp;/tmp/123.txt&nbsp;/tmp/234.txt</tt>
 
| <tt>rm</tt> || <tt>rm&nbsp;''Datei1''&nbsp;[''Datei2'']&nbsp;[...]</tt> || Löscht ein oder mehrere Dateien. || <tt>rm&nbsp;/tmp/123.txt&nbsp;/tmp/234.txt</tt>
 
|-
 
|-
| &nbsp; || <tt>rm&nbsp;-rf<ref>r = recursive, f = force</ref>&nbsp;''Verzeichnis''</tt> || Löscht das gesamte angegebene ''Verzeichnis'' - auch dann, wenn es nicht leer ist. || <tt>rm&nbsp;-rf&nbsp;/tmp/</tt>
+
| || <tt>rm&nbsp;-rf<ref>r = recursive, f = force</ref>&nbsp;''Verzeichnis''</tt> || Löscht das gesamte angegebene ''Verzeichnis'' - auch dann, wenn es nicht leer ist. || <tt>rm&nbsp;-rf&nbsp;/tmp/</tt>
 +
|-
 +
| <tt>ln</tt>
 +
| <tt>ln&nbsp;-s&nbsp;''Ziel''&nbsp;''Datei''</tt>
 +
| Erstellt einen symbolischen Link auf ''Ziel'' unter dem Dateinamen ''Datei''.
 +
| <tt>ln -s /sbin/reboot /sbin/neustart</tt>
 +
|-
 +
|
 +
| <tt>ln&nbsp;''Ziel''&nbsp;''Datei''</tt>
 +
| Erstellt einen Hardlink auf ''Ziel'' unter dem Dateinamen ''Datei''. Sollte normalerweise nicht verwendet werden.
 +
|
 
|-
 
|-
 
| <tt>mkdir</tt> || <tt>mkdir&nbsp;''Verzeichnis''</tt> || Erstellt das angegebene ''Verzeichnis''. || <tt>mkdir&nbsp;/home/test</tt>
 
| <tt>mkdir</tt> || <tt>mkdir&nbsp;''Verzeichnis''</tt> || Erstellt das angegebene ''Verzeichnis''. || <tt>mkdir&nbsp;/home/test</tt>
Zeile 61: Zeile 103:
 
| <tt>touch</tt> || <tt>touch&nbsp;''Datei''</tt> || Erzeugt eine leere ''Datei''. <br/> ''Oder:'' Ändert Erstellungs- und Zugriffszeit der vorhandenen ''Datei''. || <tt>touch&nbsp;123.txt</tt>
 
| <tt>touch</tt> || <tt>touch&nbsp;''Datei''</tt> || Erzeugt eine leere ''Datei''. <br/> ''Oder:'' Ändert Erstellungs- und Zugriffszeit der vorhandenen ''Datei''. || <tt>touch&nbsp;123.txt</tt>
 
|-
 
|-
 +
| <tt>chmod</tt>
 +
| <tt>chmod&nbsp;''Rechte''&nbsp;''Name''</tt>
 +
| Setzt die angegebenen ''[[Unix-Berechtigungen|Rechte]]'' auf die Datei oder den Ordner ''Name''.
 +
| <tt>chmod 0700 test.txt</tt>
 +
|-
 +
| <tt>chown</tt>
 +
| <tt>chown&nbsp;''Benutzer''&nbsp;''Name''</tt>
 +
| Legt den angegebenen ''Benutzer'' als Besitzer der Datei/des Ordners ''Name'' fest.
 +
| <tt>chown martin test.txt</tt>
 +
|-
 +
|
 +
| <tt>chown&nbsp;''Benutzer'':''Gruppe''&nbsp;''Name''</tt>
 +
| Legt den angegebenen ''Benutzer'' als Besitzer und die angegebene ''Gruppe'' als Besitzergruppe der Datei/des Ordners ''Name'' fest.
 +
| <tt>chown martin:admins test.txt</tt>
 +
|-
 +
| <tt>gzip</tt>
 +
| <tt>gzip ''Datei''</tt>
 +
| Komprimiert ''Datei'' und benennt sie nach ''Datei''.gz um.
 +
| <tt>gzip messages</tt>
 +
|-
 +
| <tt>gunzip</tt>
 +
| <tt>gunzip ''Datei''.gz</tt>
 +
| Entkomprimiert ''Datei''.gz und benennt sie nach ''Datei'' um.
 +
| <tt>gunzip messages.1.gz</tt>
 +
|-
 +
| <tt>bzip2</tt>
 +
| <tt>bzip2 ''Datei''</tt>
 +
| Komprimiert ''Datei'' und benennt sie nach ''Datei''.bz2 um. Der bzip2-Algorithmus erzeugt normalerweise kleinere Ausgabedateien als gzip, ist jedoch deutlich langsamer.
 +
| <tt>bzip2 messages</tt>
 +
|-
 +
| <tt>bunzip2</tt>
 +
| <tt>bunzip2 ''Datei''.bz2</tt>
 +
| Entkomprimiert ''Datei''.bz2 und benennt sie nach ''Datei'' um.
 +
| <tt>bunzip2 messages.1.bz2</tt>
 
|}
 
|}
  
 
=== Dateiverarbeitung ===
 
=== Dateiverarbeitung ===
 +
''Die meisten dieser Befehle lassen sich sowohl auf Dateien als auch auf [[Datenstrom|Datenströme]] anwenden.''
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>cat</tt>
 +
| <tt>cat&nbsp;''Datei''</tt>
 +
| Gibt den Inhalt einer Datei aus.
 +
| <tt>cat&nbsp;123.txt</tt>
 +
|-
 +
|
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;cat</tt>
 +
| Gibt den Inhalt des [[Datenstrom]]es aus.
 +
|
 +
|-
 +
|
 +
| <tt>cat&nbsp;-n</tt>
 +
| Gibt die Daten mit Zeilennummern aus.
 +
|
 +
|-
 +
| <tt>zcat</tt>
 +
| <tt>zcat&nbsp;''Datei''</tt>
 +
| Wie <tt>cat</tt> für gzip komprimierte Dateien.
 +
| <tt>zcat&nbsp;123.txt.gz</tt>
 +
|-
 +
| <tt>less</tt>
 +
| <tt>less&nbsp;''Datei''</tt>
 +
| Zeigt den Inhalt einer Datei seitenweise an<ref>Die Anzeige lässt sich mit den Pfeiltasten, PgUp/PgDown-Tasten und der Leertaste (identisch mit PgDown) scrollen. Mit der der Eingabe <tt>/''Text''</tt> wird eine Suche nach der Zeichenfolge ''Text'' gestartet; Vorwärtssuchen mit der Taste <tt>n</tt>, Rückwärtssuche mit der Taste <tt>N</tt>. Beendet wird <tt>less</tt> mit der Taste <tt>q</tt>.</ref>.
 +
| <tt>less&nbsp;123.txt</tt>
 +
|-
 +
|
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;less</tt>
 +
| Zeigt den ''[[Datenstrom]]'' seitenweise an.
 +
| <tt>ls&nbsp;-lA&nbsp;<nowiki>|</nowiki>&nbsp;less</tt>
 +
|-
 +
| <tt>zless</tt>
 +
| <tt>zless&nbsp;''Datei''</tt>
 +
| Wie <tt>less</tt> für gzip komprimierte Dateien.
 +
| <tt>zless&nbsp;123.txt.gz</tt>
 
|-
 
|-
| <tt>cat</tt> || <tt>cat&nbsp;''Datei''</tt> || Gibt den Inhalt einer Datei aus. || <tt>cat&nbsp;123.txt</tt>
+
| <tt>grep</tt>
 +
| <tt>grep&nbsp;''Zeichenkette''&nbsp;''Datei''</tt>
 +
| Durchsucht die ''Datei'' nach Zeilen, die die ''Zeichenkette'' enthalten.
 +
| <tt>grep&nbsp;"httpd"&nbsp;/var/log/messages</tt>
 
|-
 
|-
| <tt>less</tt> || <tt>less&nbsp;''Datei''</tt> || Zeigt den Inhalt einer Datei seitenweise an<ref>Die Anzeige lässt sich mit den Pfeiltasten, PgUp/PgDown-Tasten und der Leertaste (identisch mit PgDown) scrollen. Mit der der Eingabe <tt>''/Text''</tt> wird eine Suche nach der Zeichenfolge ''Text'' gestartet; Vorwärtssuchen mit der Taste n, Rückwärtssuche mit der Taste N. Beendet wird <tt>less</tt> mit der Taste q.</ref>. || <tt>less&nbsp;123.txt</tt>
+
|
 +
| <tt>grep&nbsp;''Zeichenkette''&nbsp;''Verzeichnis''/*</tt>
 +
| Durchsucht alle Dateien in der ersten Ebene des ''Verzeichnisses'' nach Zeilen, die die ''Zeichenkette'' enthalten.
 +
|
 
|-
 
|-
| &nbsp; || <tt>grep&nbsp;''Zeichenkette''&nbsp;''Datei''</tt> || Durchsucht die ''Datei'' nach Zeilen, die die ''Zeichenkette'' enthalten. || <tt>grep&nbsp;"httpd"&nbsp;/var/log/messages</tt>
+
|
 +
| <tt>grep&nbsp;-r&nbsp;''Zeichenkette''&nbsp;''Verzeichnis''</tt>
 +
| Durchsucht alle Dateien in ''Verzeichnis'' und dessen Unterverzeichnissen nach Zeilen, die die ''Zeichenkette'' enthalten.
 +
|
 
|-
 
|-
| <tt>diff</tt> || <tt>diff&nbsp;''Datei1''&nbsp;''Datei2''</tt> || Zeigt die Unterschiede zwischen den Dateien ''Datei1'' und ''Datei2'' im Unified Diff-Format an. || <tt>diff&nbsp;datei.alt&nbsp;datei.neu</tt>
+
|
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;''Zeichenkette''</tt>
 +
| Durchsucht den ''Datenstrom'' nach Zeilen, die die ''Zeichenkette'' enthalten.
 +
| <tt>cat&nbsp;/var/log/messages&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;httpd</tt>
 
|-
 
|-
| <tt>[[vim#vimdiff|vimdiff]]</tt> || <tt>vimdiff&nbsp;''Datei1''&nbsp;''Datei2''</tt> || Zeigt die Unterschiede zwischen den Dateien ''Datei1'' und ''Datei2'' in einer übersichtlichen grafischen Oberfläche an.
+
|
 +
| <tt>grep&nbsp;-v&nbsp;''Zeichenkette''</tt>
 +
| Sucht nach Zeilen, die die ''Zeichenkette''  '''nicht''' enthalten.
 +
| &nbsp;
 
|-
 
|-
| <tt>file</tt> || <tt>file&nbsp;''Datei''</tt> || Gibt Informationen über das Dateiformat der ''Datei'' aus. || <tt>file&nbsp;/bin/bash</tt>
+
|
 +
| <tt>grep&nbsp;-i&nbsp;''Zeichenkette''</tt>
 +
| Sucht nach Zeilen, die die ''Zeichenkette'' enthalten; die Groß- und Kleinschreibung wird ignoriert.
 +
| &nbsp;
 
|-
 
|-
| <tt>head</tt> || <tt>head&nbsp;''Datei''</tt> || Gibt die ersten zehn Zeilen der ''Datei'' aus. || <tt>head&nbsp;/var/log/messages</tt>
+
|
 +
| <tt>grep&nbsp;<nowiki>^</nowiki>''Zeichenkette''</tt>
 +
| Sucht nach Zeilen, die mit der ''Zeichenkette'' beginnen.
 +
| &nbsp;
 
|-
 
|-
| &nbsp; || <tt>head&nbsp;-n&nbsp;''Zeilen''&nbsp;''Datei''</tt> || Gibt die angegebene Anzahl ''Zeilen'' vom Anfang der ''Datei'' aus. || <tt>head&nbsp;-n&nbsp;5&nbsp;/var/log/messages</tt>
+
|
 +
| <tt>grep&nbsp;''Zeichenkette''<nowiki>$</nowiki></tt>
 +
| Sucht nach Zeilen, die mit der ''Zeichenkette'' enden.
 +
| &nbsp;
 
|-
 
|-
| &nbsp; || <tt>head&nbsp;-c&nbsp;''Bytes''&nbsp;''Datei''</tt> || Gibt die angegebene Anzahl ''Bytes'' vom Anfang der ''Datei'' aus. || <tt>head&nbsp;-c&nbsp;20&nbsp;/var/log/messages</tt>
+
| <tt>zgrep</tt>
 +
| <tt>zgrep&nbsp;''Zeichenkette''&nbsp;''Datei''</tt>
 +
| Wie <tt>grep</tt> für gzip komprimierte Dateien.
 +
|| <tt>zgrep&nbsp;"httpd"&nbsp;/var/log/messages.1.gz</tt>
 
|-
 
|-
| <tt>tail</tt> || <tt>tail&nbsp;''Datei''</tt> || Gibt die letzten zehn Zeilen der ''Datei'' aus. || <tt>tail&nbsp;/var/log/messages</tt>
+
| <tt>sed</tt>
 +
| <tt>sed&nbsp;-s&nbsp;"s/''von''/''nach''/g"&nbsp;''Datei''</tt>
 +
| ''Datei'' ausgeben und dabei die Zeichenkette ''von'' durch ''nach'' ersetzen. Die Zeichenkette ''von'' wird als regulärer Ausdruck angegeben.
 +
| <tt>sed&nbsp;-s&nbsp;"s/alt/neu/g"&nbsp;text.cfg</tt>
 
|-
 
|-
| &nbsp; || <tt>tail&nbsp;-n&nbsp;''Zeilen''&nbsp;''Datei''</tt> || Gibt die angegebene Anzahl ''Zeilen'' vom Ende der ''Datei'' aus. || <tt>tail&nbsp;-n&nbsp;5&nbsp;/var/log/messages</tt>
+
|
 +
| <tt>sed&nbsp;-is&nbsp;"s/''von''/''nach''/g"&nbsp;''Datei''</tt>
 +
| In ''Datei'' die Zeichenkette ''von'' durch ''nach'' ersetzen.
 +
| <tt>sed&nbsp;-is&nbsp;"s/alt/neu/g"&nbsp;text.cfg</tt>
 
|-
 
|-
| &nbsp; || <tt>tail&nbsp;-c&nbsp;''Bytes''&nbsp;''Datei''</tt> || Gibt die angegebene Anzahl ''Bytes'' vom Ende der ''Datei'' aus. || <tt>tail&nbsp;-c&nbsp;20&nbsp;/var/log/messages</tt>
+
| <tt>wc</tt>
 +
| <tt>wc&nbsp;''Datei''</tt>
 +
| Zählt die Anzahl der Zeichen, Wörter und Zeilen in ''Datei''
 +
|
 
|-
 
|-
| &nbsp; || <tt>tail&nbsp;-f&nbsp;''Datei''</tt> || Gibt fortlaufend neu hinzukommende Zeilen der ''Datei'' aus. Sehr vorteilhaft bei Diagnosen. || <tt>tail&nbsp;-f&nbsp;/var/log/messages</tt>
+
| <tt>cut</tt>
 +
| <tt>cut&nbsp;''Datei''</tt>
 +
| Schneidet einzelne Spalten aus Texttabellen.
 +
| <tt>cut -d: -f1 /etc/passwd</tt>
 +
|-
 +
| <tt>tr</tt>
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;tr&nbsp;''von''&nbsp;''nach''</tt>
 +
| Ersetzt in ''Datenstrom'' die Zeichen ''von'' durch ''nach''.
 +
| <tt>ll&nbsp;<nowiki>|</nowiki> tr&nbsp;a-z&nbsp;A-Z</tt>
 +
|-
 +
| <tt>sort</tt>
 +
| <tt>sort&nbsp;''Datei''</tt>
 +
| Sortiert die Zeilen einer ''Datei'' alphabetisch und gibt sie auf ''stdout'' aus. Die ''Datei'' wird dabei natürlich nicht verändert.
 +
| &nbsp;
 +
|-
 +
|
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;sort</tt>
 +
| Sortiert die Zeilen eines ''Datenstroms'' alphabetisch und gibt sie auf ''stdout'' aus.
 +
| <tt>cat&nbsp;Wörterliste.txt&nbsp;<nowiki>|</nowiki>&nbsp;sort</tt>
 +
|-
 +
|
 +
| <tt>sort&nbsp;-r</tt>
 +
| Sortiert die Zeilen eines Datenstroms umgekehrt alphabetisch.
 +
| &nbsp;
 +
|-
 +
|
 +
| <tt>sort&nbsp;-n</tt>
 +
| Numerisch sortieren.
 +
|
 +
|-
 +
| <tt>tee</tt>
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;tee&nbsp;''Datei''</tt>
 +
| Speichert einen ''Datenstrom'' in einer ''Datei'' und gibt ihn gleichzeitig auf <tt>stdout</tt> aus.
 +
| <tt>iservchk&nbsp;<nowiki>|</nowiki>&nbsp;tee&nbsp;iservchk.log</tt>
 +
|-
 +
| <tt>uniq</tt>
 +
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;uniq</tt>
 +
| Entfernt identische Zeilen aus einem ''Datenstrom'', so dass nur jeweils eine Zeile über bleibt.
 +
| <tt>cat&nbsp;Wörterliste.txt&nbsp;<nowiki>|</nowiki>&nbsp;uniq</tt>
 +
|-
 +
|
 +
| <tt>uniq -c</tt>
 +
| Zählt, wie oft eine Zeile nacheinander vorkommt.
 +
| <tt>cat&nbsp;Wörterliste.txt&nbsp;<nowiki>|</nowiki> sort&nbsp;<nowiki>|</nowiki> uniq&nbsp;-c&nbsp;<nowiki>|</nowiki> sort&nbsp;-n</tt>
 +
|-
 +
| <tt>diff</tt>
 +
| <tt>diff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
 +
| Zeigt zeilenweise die Unterschiede zwischen ''Datei1'' und ''Datei2'' an.
 +
| <tt>diff&nbsp;datei.alt&nbsp;datei.neu</tt>
 +
|-
 +
|
 +
| <tt>diff&nbsp;-u&nbsp;''Datei1''&nbsp;''Datei2''</tt>
 +
| Zeigt zeilenweise die Unterschiede zwischen ''Datei1'' und ''Datei2'' im "Unified Diff"-Format an.
 +
| <tt>diff&nbsp;datei.alt&nbsp;datei.neu</tt>
 +
|-
 +
|
 +
| <tt>diff&nbsp;-r&nbsp;''Verzeichnis1''&nbsp;''Verzeichnis2''</tt>
 +
| Zeigt zeilenweise die Unterschiede zwischen ''Verzeichnis1'' und ''Verzeichnis2'' an.
 +
| <tt>diff&nbsp;-r&nbsp;/home&nbsp;/backup/home</tt>
 +
|-
 +
| <tt>[[vim#vimdiff|vimdiff]]</tt>
 +
| <tt>vimdiff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
 +
| Zeigt die Unterschiede zwischen ''Datei1'' und ''Datei2'' in einer übersichtlichen grafischen Oberfläche an.
 +
|
 +
|-
 +
| <tt>wdiff</tt>
 +
| <tt>wdiff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
 +
| Zeigt wortweise die Unterschiede zwischen ''Datei1'' und ''Datei2'' an.
 +
| <tt>wdiff&nbsp;datei.alt&nbsp;datei.neu</tt>
 +
|-
 +
| <tt>file</tt>
 +
| <tt>file&nbsp;''Datei''</tt>
 +
| Dateityp von ''Datei'' an Hand des Inhalts erraten.
 +
| <tt>file&nbsp;/bin/bash</tt>
 +
|-
 +
|
 +
| <tt>file&nbsp;-s&nbsp;''Gerät''</tt>
 +
| Datenstruktur von ''Gerät'' an Hand des Inhalts erraten.
 +
| <tt>file&nbsp;-s&nbsp;/dev/sda</tt>
 +
|-
 +
| <tt>strings</tt>
 +
| <tt>strings&nbsp;''Datei''</tt>
 +
| Lesbaren Text aus Binärdatei ''Datei'' extrahieren.
 +
| <tt>strings&nbsp;/bin/bash</tt>
 +
|-
 +
| <tt>xxd</tt>
 +
| <tt>xxd&nbsp;''Datei''</tt>
 +
| Inhalt von ''Datei'' hexadezimal ausgeben.
 +
| <tt>xxd&nbsp;/bin/bash</tt>
 +
|-
 +
| <tt>head</tt>
 +
| <tt>head&nbsp;''Datei''</tt>
 +
| Gibt die ersten zehn Zeilen der ''Datei'' aus.
 +
| <tt>head&nbsp;/var/log/messages</tt>
 +
|-
 +
|
 +
| <tt>head&nbsp;-n&nbsp;''Zeilen''&nbsp;''Datei''</tt>
 +
| Gibt die angegebene Anzahl ''Zeilen'' vom Anfang der ''Datei'' aus.
 +
| <tt>head&nbsp;-n&nbsp;5&nbsp;/var/log/messages</tt>
 +
|-
 +
|
 +
| <tt>head&nbsp;-c&nbsp;''Bytes''&nbsp;''Datei''</tt>
 +
| Gibt die angegebene Anzahl ''Bytes'' vom Anfang der ''Datei'' aus.
 +
| <tt>head&nbsp;-c&nbsp;20&nbsp;/var/log/messages</tt>
 +
|-
 +
| <tt>tail</tt>
 +
| <tt>tail&nbsp;''Datei''</tt>
 +
| Gibt die letzten zehn Zeilen der ''Datei'' aus.
 +
| <tt>tail&nbsp;/var/log/messages</tt>
 +
|-
 +
|
 +
| <tt>tail&nbsp;-n&nbsp;''Zeilen''&nbsp;''Datei''</tt>
 +
| Gibt die angegebene Anzahl ''Zeilen'' vom Ende der ''Datei'' aus.
 +
| <tt>tail&nbsp;-n&nbsp;5&nbsp;/var/log/messages</tt>
 +
|-
 +
|
 +
| <tt>tail&nbsp;-c&nbsp;''Bytes''&nbsp;''Datei''</tt>
 +
| Gibt die angegebene Anzahl ''Bytes'' vom Ende der ''Datei'' aus.
 +
| <tt>tail&nbsp;-c&nbsp;20&nbsp;/var/log/messages</tt>
 +
|-
 +
|
 +
| <tt>tail&nbsp;-f&nbsp;''Datei''</tt>
 +
| Gibt fortlaufend neu hinzukommende Zeilen der ''Datei'' aus. Sehr vorteilhaft bei Diagnosen.
 +
| <tt>tail&nbsp;-f&nbsp;/var/log/messages</tt>
 +
|-
 +
| <tt>tac</tt>
 +
|
 +
| Wie <tt>cat</tt>, gibt die Zeilen jedoch in umgekehrter Reihenfolge aus. Der <tt>n</tt>-Parameter von <tt>cat</tt> wird nicht unterstützt, stattdessen kann man die Ausgabe von <tt>tac</tt> einfach durch <tt>cat&nbsp;-n</tt> pipen:
 +
<tt>tac&nbsp;''Dateiname''&nbsp;|&nbsp;cat&nbsp;-n</tt>
 +
|
 +
|-
 +
| <tt>rev</tt>
 +
|
 +
| Gibt die Zeichen innerhalb einer Zeile rückwärts aus.
 +
|
 +
|-
 +
| <tt>md5sum</tt>
 +
| <tt>md5sum ''Datei''</tt>
 +
| Berechnet die MD5-Checksumme von ''Datei''.
 +
| <tt>md5sum /bin/bash &gt; MD5</tt>
 +
|-
 +
|
 +
| <tt>md5sum -c ''Liste''</tt>
 +
| Prüft die MD5-Checksummen aus ''Liste''.
 +
| <tt>md5sum -c MD5</tt>
 
|-
 
|-
 
|}
 
|}
  
 
=== Editoren ===
 
=== Editoren ===
 +
{{Hinweis|Um Systemdateien zu ändern, werden [[root]]-Rechte benötigt.}}
 
{| class="wikitable"
 
{| class="wikitable"
 
! Editor !! Syntax !! Beschreibung
 
! Editor !! Syntax !! Beschreibung
 
|-
 
|-
| <tt>mcedit</tt> || <tt>mcedit&nbsp;''Datei''</tt> || Öffnet die ''Datei'' zum Bearbeiten im Editor von <tt>mc</tt>. <tt>mcedit</tt> entspricht vor allem bei der Bedienung fast vollständig den Standardeditoren von Windows und ist daher mit Abstand der benutzerfreundlichste und einfachste Editor.
+
| <tt>[[mcedit]]</tt> || <tt>mcedit&nbsp;''Datei''</tt> || Öffnet die ''Datei'' zum Bearbeiten im Editor von <tt>mc</tt>. <tt>mcedit</tt> entspricht vor allem bei der Bedienung fast vollständig den Standardeditoren von Windows und ist daher mit Abstand der benutzerfreundlichste und einfachste Editor.
 
|-
 
|-
| <tt>[[vim]]</tt> || <tt>vi&nbsp;''Datei''</tt> || Öffnet die ''Datei'' zum Bearbeiten im Editor <tt>vim</tt>. <tt>vim</tt> ist quasi der Standardeditor von Linux und daher eigentlich bei fast allen Distributionen vorhanden.
+
| <tt>[[vim]]</tt> || <tt>vim&nbsp;''Datei''</tt> || Öffnet die ''Datei'' zum Bearbeiten im Editor <tt>vim</tt>. <tt>vim</tt> ist quasi der Standardeditor von Linux und daher eigentlich bei fast allen Distributionen vorhanden. Eigentlich ist <tt>vim</tt> nur eine erweiterte Version von <tt>vi</tt>; <tt>vim</tt> ist die Abkürzung für '''v'''i '''im'''proved.
 
|-
 
|-
 +
| <tt>vi</tt>
 +
| <tt>vi&nbsp;''Datei''</tt>
 +
| Öffnet die ''Datei''  zum Bearbeiten im Editor <tt>vi</tt>. <tt>vi</tt> gehört zum <tt>POSIX</tt>-Standard und ist daher auf jeder Linux-Distribution zu finden. Bei Distributionen, die <tt>vim</tt> enthalten, ist <tt>vi</tt> ein [[Tipps_und_Tricks_zur_bash#Aliase|Alias]] auf <tt>vim</tt>.
 
|}
 
|}
  
 
=== Archivierung ===
 
=== Archivierung ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>tar</tt> || <tt>tar&nbsp;xzf<ref>x = extract, z = gzip, f = file</ref> ''Datei''</tt> || Entpackt eine Tar-''Datei'' mit <tt>gzip</tt>-Komprimierung (Erweiterung <tt>.tar.gz</tt>). || <tt>tar&nbsp;xzf&nbsp;project.tar.gz</tt>
+
| <tt>tar</tt> || <tt>tar&nbsp;-xzf<ref>x = extract, z = gzip, f = file</ref>&nbsp;''Datei''</tt> || Entpackt eine Tar-''Datei'' mit <tt>gzip</tt>-Komprimierung (Erweiterung <tt>.tar.gz</tt>). || <tt>tar&nbsp;-xzf&nbsp;project.tar.gz</tt>
 
|-
 
|-
| &nbsp; || <tt>tar xjf<ref>x = extract, j = bzip2, f = file</ref> ''Datei''</tt> || Entpackt eine Tar-''Datei'' mit <tt>bzip2</tt>-Komprimierung (Erweiterung <tt>.tar.bz2</tt>). || <tt>tar&nbsp;xjf&nbsp;project.tar.bz2</tt>
+
| || <tt>tar&nbsp;-xjf<ref>x = extract, j = bzip2, f = file</ref>&nbsp;''Datei''</tt> || Entpackt eine Tar-''Datei'' mit <tt>bzip2</tt>-Komprimierung (Erweiterung <tt>.tar.bz2</tt>). || <tt>tar&nbsp;-xjf&nbsp;project.tar.bz2</tt>
 
|-
 
|-
 
|}
 
|}
Zeile 117: Zeile 413:
 
=== Suchen ===
 
=== Suchen ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
 
| <tt>locate</tt> || <tt>locate&nbsp;''Datei''</tt> || Sucht eine Datei mithilfe der Index-Datenbank<ref><tt><nowiki>/var/lib/slocate/slocate.db</nowiki></tt></ref>; Dateien, die man aufgrund mangelnder Berechtigungen nicht lesen darf, werden ausgeblendet. Solche Suchen gehen sehr schnell; die Datenbank wird jedoch nur nächtlich aktualisiert. || <tt>locate&nbsp;dhcpd.leases</tt>
 
| <tt>locate</tt> || <tt>locate&nbsp;''Datei''</tt> || Sucht eine Datei mithilfe der Index-Datenbank<ref><tt><nowiki>/var/lib/slocate/slocate.db</nowiki></tt></ref>; Dateien, die man aufgrund mangelnder Berechtigungen nicht lesen darf, werden ausgeblendet. Solche Suchen gehen sehr schnell; die Datenbank wird jedoch nur nächtlich aktualisiert. || <tt>locate&nbsp;dhcpd.leases</tt>
Zeile 127: Zeile 423:
 
| <tt>which</tt> || <tt>which&nbsp;''Datei''</tt> || Sucht nach dem Programm ''Programm''; als Suchpfad wird die <tt>$PATH</tt>-Variable verwendet. || <tt>which&nbsp;iservchk</tt>
 
| <tt>which</tt> || <tt>which&nbsp;''Datei''</tt> || Sucht nach dem Programm ''Programm''; als Suchpfad wird die <tt>$PATH</tt>-Variable verwendet. || <tt>which&nbsp;iservchk</tt>
 
|-
 
|-
| <tt>updatedb</tt> || <tt>updatedb</tt> || Führt eine manuelle Aktualisierung der <tt>locate</tt>-Datenbank durch.
+
| <tt>updatedb</tt> || <tt>updatedb</tt> || Führt eine manuelle Aktualisierung der <tt>locate</tt>-Datenbank durch. || <tt>updatedb &</tt>
 
|-
 
|-
 
|}
 
|}
  
 
=== Dateisysteme ===
 
=== Dateisysteme ===
 +
{{Hinweis|Standardmäßig dürfen Dateisysteme nur vom [[root]]-Benutzer ein- und ausgehängt werden, ebenso darf auch nur der [[root]]-Benutzer Dateisysteme überprüfen.}}
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>mount</tt> || <tt>mount</tt> || Gibt eine Liste aller gemounteten Dateisysteme aus. || &nbsp;
+
| <tt>mount</tt>
 +
| <tt>mount</tt>
 +
| Gibt eine Liste aller gemounteten Dateisysteme aus.
 
|-
 
|-
| <tt>mount</tt> || <tt>mount&nbsp;''Laufwerk''&nbsp;''Mount-Point''</tt> || Ordnet das ''Laufwerk'' einem ''Mount-Point'' zu. || <tt>mount&nbsp;/dev/hda1&nbsp;/pfad/zum/mountpoint</tt>
+
|
 +
| <tt>mount ''Quelle'' ''Ziel''</tt>
 +
| Mountet ''Quelle'' nach ''Ziel''.
 +
| <tt>mount /dev/hda1 /mnt</tt>
 
|-
 
|-
| <tt>mount</tt> || <tt>mount&nbsp;''Laufwerk''</tt> || Ordnet das ''Laufwerk'' dem Mount-Point zu, der in <tt>/etc/fstab</tt> vorgegeben ist. || <tt>mount&nbsp;/dev/hda1</tt>
+
|
 +
| <tt>mount -r ''Quelle'' ''Ziel''</tt>
 +
| Mountet schreibgeschützt.
 +
| <tt>mount /dev/sdb1 /mnt/dest</tt>
 
|-
 
|-
| <tt>mount</tt> || <tt>mount&nbsp;''Mount-Point''</tt> || Ordnet dem ''Mount-Point'' das Laufwerk zu, das in <tt>/etc/fstab</tt> vorgegeben ist. || <tt>mount&nbsp;/pfad/zum/mountpoint</tt>
+
|
 +
| <tt>mount -o loop ''Datei'' ''Ziel''</tt>
 +
| Mountet Image eines Dateisystems (z. B. ISO-Datei).
 +
| <tt>mount -o loop /root/debian.iso /mnt</tt>
 +
|-
 +
|
 +
| <tt>mount -t smbfs -o username=''Benutzer'' ''Quelle'' ''Ziel''</tt>
 +
| Mountet die Windows-Freigabe ''Quelle'' mit dem Benutzer ''Benutzer''. ''Quelle'' hat das Format //''Server''/''Freigabe''.
 +
| <tt>mount -t smbfs -o username=test.user //iserv/home /mnt</tt>
 +
|-
 +
| <tt>sshfs</tt>
 +
| <tt>sshfs ''Quelle'' ''Ziel''</tt>
 +
| Mountet ein Verzeichnis von einem anderen Linux-Rechner. Auf dem Server muss nur ein ssh-Server ohne besondere Einstellungen laufen. ''Quelle'' hat das Format ''Server'':''Pfad''.
 +
| <tt>sshfs 192.168.0.2:/root/ /mnt/</tt>
 
|-
 
|-
 
| <tt>umount</tt> || <tt>umount&nbsp;''Laufwerk''</tt> || Unmountet ein gemountetes Laufwerk. || <tt>umount&nbsp;/dev/fd0</tt>
 
| <tt>umount</tt> || <tt>umount&nbsp;''Laufwerk''</tt> || Unmountet ein gemountetes Laufwerk. || <tt>umount&nbsp;/dev/fd0</tt>
 
|-
 
|-
| <tt>umount</tt> || <tt>umount&nbsp;''Mount-Point''</tt> || Unmountet ein gemountetes Laufwerk anhand des Mount-Points. || <tt>umount&nbsp;/mnt/floppy</tt>
+
| || <tt>umount&nbsp;''Mount-Point''</tt> || Unmountet ein gemountetes Laufwerk anhand des Mount-Points. || <tt>umount&nbsp;/mnt/floppy</tt>
 
|-
 
|-
| <tt>mkfs</tt> || &nbsp; || Formatiert einen Datenträger. Ich kann es hier nur schlecht testen und muss daher auf die Manpage verweisen. || &nbsp;
+
| <tt>mkfs</tt> || || Formatiert einen Datenträger. Ich kann es hier nur schlecht testen und muss daher auf die Manpage verweisen.
 
|-
 
|-
 
| <tt>fsck</tt> || <tt>fsck&nbsp;''Laufwerk''</tt> || Überprüft das ''Laufwerk'' auf Fehler. Das Laufwerk sollte dabei nicht gemountet sein. || <tt>fsck&nbsp;/dev/hdc1</tt>
 
| <tt>fsck</tt> || <tt>fsck&nbsp;''Laufwerk''</tt> || Überprüft das ''Laufwerk'' auf Fehler. Das Laufwerk sollte dabei nicht gemountet sein. || <tt>fsck&nbsp;/dev/hdc1</tt>
Zeile 153: Zeile 471:
 
|}
 
|}
  
== Jobs ==
+
== Systemverwaltung ==
 
+
{{Hinweis|Die Vielzahl der Befehle in diesem Abschnitt können nur vom Systemvewalter [[root]] ausgeführt werden.}}
=== Jobs erzeugen ===
+
=== IServ ===
 
{| class="wikitable"
 
{| class="wikitable"
! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>iservcfg</tt> || <tt>iservcfg</tt> || Ruft das Konfigurationsmenü von IServ auf. || &nbsp;
 +
|-
 +
| <tt>iservchk</tt> || <tt>iservchk</tt> || Führt eine Systemdiagnose durch. Fehler werden, soweit möglich, vollautomatisch behoben. || &nbsp;
 +
|-
 +
| || <tt>iservchk&nbsp;-v</tt> || Gibt detaillierte Informationen aus, was gerade überprüft wird. Nützlich, wenn <tt>iservchk</tt> sich aufhängt. || &nbsp;
 +
|-
 +
| <tt>iconf</tt> || <tt>iconf&nbsp;''Befehl''&nbsp;''Datei''</tt> || <tt>iconf</tt> ist ein Tool von IServ, mit dem die Integrität von Systemdateien sichergestellt wird. || <tt>iconf save /etc/nat</tt>
 +
|-
 +
| <tt>chkact</tt> || <tt>chkact</tt> || Konsistenz der Benutzerdatenbanken prüfen. Eine automatische Reparatur ist nicht möglich. || &nbsp;
 +
|-
 +
| <tt>chkhomes</tt> || <tt>chkhomes</tt> || Dateirechte aller Home- und Gruppenverzeichnisse reparieren. || &nbsp;
 +
|-
 +
| &nbsp; || <tt>chkhomes&nbsp;''Account''</tt> || Dateirechte des angegebenen Accounts reparieren. || <tt>chkhomes test.user</tt>
 +
|-
 +
| <tt>chkload</tt> || <tt>chkload</tt> || Aktuell laufende Prozesse anzeigen. || &nbsp;
 +
|-
 +
| <tt>chklan</tt> || <tt>chklan</tt> || Rechner im lokalen Netzwerk anpingen. || &nbsp;
 
|-
 
|-
| <tt>''Befehl''&nbsp;&</tt> || <tt>''Befehl''</tt> wird als Job im Hintergrund ausgeführt; die Ausgaben des Befehls werden jedoch trotzdem auf der Konsole ausgegeben! || <tt>updatedb&nbsp;&</tt>
+
| <tt>chkinet</tt> || <tt>chkinet</tt> || Internetverbindung auf IP-Ebene testen (ohne DNS). || &nbsp;
 +
|-
 +
| <tt>chkmbox</tt> || <tt>chkmbox&nbsp;''Mailbox''</tt> || Index-Strukturen der angegebenen Mailordner reparieren. || <tt>chkmbox user/test.user</tt>
 +
|-
 +
| <tt>chkmboxacl</tt> || <tt>chkmboxacl</tt> || Rechte aller Mailordner reparieren. || &nbsp;
 +
|-
 +
| <tt>genmboxdb</tt> || <tt>genmboxdb</tt> || Datenbank aller Mailordner neu generieren. || &nbsp;
 
|-
 
|-
| <tt>''Befehl''&nbsp;&>&nbsp;''Logdatei''&nbsp;&</tt> || <tt>''Befehl''</tt> wird als Job im Hintergrund ausgeführt; stdout als auch stderr werden in die Datei ''Logdatei'' umgeleitet. || <tt>iservchk&nbsp;-q&nbsp;&>&nbsp;~/iservchk.log&nbsp;&</tt>
+
| <tt>chkdeploy</tt> || <tt>chkdeploy</tt> || Abgleichen der Softwarepakete mit der Datenbank. || &nbsp;
 
|-
 
|-
| <tt>nohup&nbsp;''Befehl''&nbsp;&</tt> || Führt den Befehl <tt>''Befehl''</tt> im Hintergrund aus und verhindert, dass der Prozess bei der Abmeldung beendet wird. <br/> Dies ist zum Beispiel praktisch, wenn man große Downloads mit <tt>wget</tt> durchführen möchte<ref>Beispiel für den Download des Service Pack 2 für Windows XP: <br/> <tt><nowiki>nohup wget "http://download.microsoft.com/download/9/6/4/96442257-721a-4cd5-9006-10a40cbb45cb/WindowsXP-KB835935-SP2-DEU.exe" &</nowiki></tt></ref>.
+
| <tt>cronsim</tt> || <tt>cronsim&nbsp;''Datei''</tt> || Das angegebene Skript wird mit den gleichen Umgebungsvariablen aufgerufen, wie sie in Cron gesetzt sind. || <tt>cronsim /etc/cron.daily/test</tt>
 
|-
 
|-
| <tt>[STRG+Z]</tt> || Schickt den Prozess, der momentan im Vordergrund ist, in den Hintergrund und stoppt ihn. || &nbsp;
+
| <tt>myip</tt> || <tt>myip</tt> || Öffentliche IP des Servers anzeigen. || &nbsp;
 
|-
 
|-
 +
''Hinweis: Die Befehle zur IServ-Benutzerverwaltung finden sich im Abschnitt [[Kommandozeilenreferenz#Benutzerverwaltung|Benutzerverwaltung]].''
 
|}
 
|}
  
=== Jobs referenzieren ===
+
=== Prozessmanagement ===
 
{| class="wikitable"
 
{| class="wikitable"
! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>kill</tt> || <tt>kill&nbsp;''PID''</tt> || Beendet den Prozess mit der ID ''PID''. Nur der Benutzer, der den Prozess gestartet habt, kann ihn auch beenden (Ausnahme: [[root]] kann alle Prozesse beenden).|| <tt>kill&nbsp;1067</tt>
 +
|-
 +
|              || <tt>kill&nbsp;-''SIG''&nbsp;''PID''</tt> || Sendet an den Prozess mit der ID ''PID'' das Signal ''SIG''. Wenn das Signal ''9'' gesendet wird, wird der Prozess zwangsweise beendet (wenn er sich z.&nbsp;B. aufgehängt hat)|| <tt>kill&nbsp;-9&nbsp;&nbsp;1067</tt>
 +
|-
 +
| <tt>killall</tt> || <tt>killall&nbsp;''Prozessname''</tt> || Beendet alle Prozesse mit dem Prozessnamen ''Prozessname''. Nur der Benutzer, der den Prozess gestartet habt, kann ihn auch beenden (Ausnahme: [[root]] kann alle Prozesse beenden).|| <tt>killall&nbsp;firefox</tt>
 +
|-
 +
|                  || <tt>killall&nbsp;-''SIG''&nbsp;''Prozessname''</tt> || Sendet das Signal ''SIG'' an alle Prozesse mit dem Prozessnamen ''Prozessname''. || <tt>killall&nbsp;-9&nbsp;firefox</tt>
 +
|-
 +
| <tt>top</tt> || <tt>top</tt> || Zeigt die Prozesse mit der höchsten CPU-Auslastung an. || &nbsp;
 
|-
 
|-
| <tt>%''Nummer''</tt> || Referenziert Job ''Nummer''. || <tt>%1</tt>
+
| <tt>ps</tt> || <tt>ps</tt> || Gibt Informationen über die Prozesse aus, die dem angemeldeten Benutzer gehören. || &nbsp;
 
|-
 
|-
| <tt>%''Substring''</tt> || Referenziert den Job, dessen Name mit ''Substring'' beginnt. <br/> Wenn das auf mehr als auf einen Job zutrifft, gibt es eine Fehlermeldung. || <tt>"%man&nbsp;bash"</tt>
+
| || <tt>ps&nbsp;-A</tt> || Gibt Informationen über alle laufenden Prozesse aus. || &nbsp;
 
|-
 
|-
| <tt>%?''Substring''</tt> || Referenziert den Job, in dessen Name ''Substring'' vorkommt. <br/> Wenn das auf mehr als auf einen Job zutrifft, gibt es eine Fehlermeldung. || <tt>%?iserv</tt>
+
| || <tt>ps&nbsp;fax</tt> || Gibt Informationen über alle laufenden Prozesse hierarchisch strukturiert aus. || &nbsp;
 
|-
 
|-
 
|}
 
|}
  
=== Jobs verwalten ===
+
=== Herunterfahren & Neu starten ===
{| class="wikitable" width="100%"
+
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl/Tastenkombination !! Beschreibung
 +
|-
 +
| <tt>logout</tt> || rowspan="2" | Beendet die aktuelle Sitzung auf der aktuellen Konsole und meldet den Benutzer ab.
 +
|-
 +
| <tt>exit</tt>
 +
|-
 +
| <tt>shutdown&nbsp;-h&nbsp;now</tt> || rowspan="2" | Fährt den Computer herunter.
 +
|-
 +
| <tt>init&nbsp;0</tt>&nbsp;(nicht&nbsp;empfohlen<ref name="init">Im Gegensatz zu <tt>shutdown</tt> gibt ein direkter Aufruf von <tt>init</tt> keine Warnmeldung an andere Benutzer heraus und sperrt auch den Login nicht.</ref>)
 +
|-
 +
| <tt>shutdown&nbsp;-r&nbsp;now</tt> || rowspan="2" | Fährt den Computer herunter und startet ihn neu.
 
|-
 
|-
| <tt>jobs</tt> || <tt>jobs</tt> || Zeigt die Jobs an, die momentam in Hintergrund laufen.
+
| <tt>init&nbsp;6</tt>&nbsp;(nicht&nbsp;empfohlen<ref name="init" />)
 
|-
 
|-
| <tt>fg</tt> || <tt>fg&nbsp;''Job''</tt> || Bringt den ''Job'' in den Vordergrund. || <tt>fg&nbsp;%1</tt>
+
| <tt>halt&nbsp;-f</tt> || Hält den Computer an, ohne ihn vorher herunterzufahren.
 
|-
 
|-
| <tt>bg</tt> || <tt>bg&nbsp;''Job''</tt> || Setzt einen pausierten ''Job'' im Hintergrund fort. || <tt>bg&nbsp;%1</tt>
+
| <tt>reboot&nbsp;-f</tt> || Startet den Computer neu, ohne ihn vorher herunterzufahren.
 
|-
 
|-
| <tt>kill</tt> || <tt>kill&nbsp;''Job''</tt> || Beendet den ''Job''. || <tt>kill&nbsp;%1</tt>
+
| <tt>[STRG+ALT+ENTF]</tt> || Fährt den Computer herunter und startet ihn neu. Für die Eingabe dieser Tastenkombination ist kein Login nötig; daher werden logischerweise auch keine <tt>root</tt>-Rechte benötigt. Berechtigt ist jeder, der physikalischen Zugang zum Server hat.
 
|-
 
|-
 
|}
 
|}
  
== IServ ==
+
=== Benutzerverwaltung ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>id</tt> || <tt>id</tt> || Gibt Informationen zum eigenen Account (Accountname, UID, GID) und zu den eigenen Gruppenmitgliedschaften aus. || &nbsp;
 +
|-
 +
| <tt>whoami</tt> || <tt>whoami</tt> || Gibt den eigenen Benutzernamen aus. || &nbsp;
 +
|-
 +
| <tt>w</tt> || <tt>w</tt> || Gibt eine tabellarische Liste aller Benutzer aus, die momentan lokal oder über SSH am Server angemeldet sind. Zusätzlich werden Konsole, Uhrzeit der Anmeldung und ggf. der Remotehost angegeben. || &nbsp;
 +
|-
 +
| <tt>users</tt> || <tt>users</tt> || Gibt eine Liste aller Benutzer aus, die momentan lokal oder über SSH am Server angemeldet sind. Die einzelnen Benutzernamen sind durch Leerzeichen getrennt, es werden keine weiteren Informationen ausgegeben. Die Ausgabe von <tt>users</tt> eignet sich damit hervorragend für Scripts. || &nbsp;
 +
|-
 +
| <tt>groups</tt> || <tt>groups</tt> || Gibt eine Liste der Gruppen aus, in denen der aktuell angemeldete Benutzer Mitglied ist. || &nbsp;
 +
|-
 +
| || <tt>groups&nbsp;''Benutzername''</tt> || Gibt eine Liste der Gruppen aus, in denen der ''Benutzer'' Mitglied ist. || <tt>groups&nbsp;vorname.nachname</tt>
 +
|-
 +
| <tt>groupadd</tt> || <tt>groupadd&nbsp;''Gruppe''</tt> || Erzeugt die Linux-Gruppe ''Gruppe''. Stattdessen sollte der Befehl <tt>iservgroupadd</tt> verwendet werden. || &nbsp;
 +
|-
 +
| <tt>groupdel</tt> || <tt>groupdel&nbsp;''Gruppe''</tt> || Löscht die Linux-Gruppe ''Gruppe''. Stattdessen sollte der Befehl <tt>iservgroupdel</tt> verwendet werden. || &nbsp;
 +
|-
 +
| <tt>useradd</tt> || <tt>useradd&nbsp;-m&nbsp;''Benutzer''</tt> || Erzeugt den [[Linux-Benutzer]]  ''Benutzer'' und legt ein Homeverzeichnis für diesen Benutzer an. Stattdessen sollte der Befehl <tt>iservuseradd</tt> verwendet werden. || &nbsp;
 +
|-
 +
| <tt>userdel</tt> || <tt>userdel&nbsp;-r&nbsp;''Benutzer''</tt> || Löscht den [[Linux-Benutzer]]  ''Benutzer'' und dessen Homeverzeichnis. Stattdessen sollte der Befehl <tt>iservuserdel</tt> verwendet werden. || &nbsp;
 +
|-
 +
| <tt>passwd</tt> || <tt>passwd</tt> || Ändert das Passwort des momentan angemeldeten Benutzers, im Normalfall das [[root]]-Passwort. || &nbsp;
 +
|-
 +
| || <tt>passwd&nbsp;''Benutzer''</tt> || Ändert das Passwort des Benutzers ''Benutzer''. Erfordert [[root]]-Rechte. Stattdessen sollte der Befehl <tt>iservpasswd</tt> verwendet werden. || &nbsp;
 +
|-
 +
| <tt>iservgroupadd</tt> || <tt>iservgroupadd&nbsp;''Gruppe''</tt> || Erzeugt die IServ-Gruppe ''Gruppe''. || <tt>iservgroupadd&nbsp;"Test&nbsp;Gruppe"</tt>
 +
|-
 +
| <tt>iservgroupdel</tt> || <tt>iservgroupdel&nbsp;''Gruppe''</tt> || Löscht die IServ-Gruppe ''Gruppe''. || <tt>iservgroupdel&nbsp;test.gruppe</tt>
 +
|-
 +
| <tt>iservuseradd</tt> || <tt>iservuseradd&nbsp;''Benutzer''</tt> || Erzeugt den [[IServ-Benutzer]]  ''Benutzer''<ref>Im Gegensatz zu <tt>useradd</tt> legt <tt>iservuseradd</tt> Homeverzeichnis, E-Mail-Account etc. automatisch an.</ref>. || <tt>iservuseradd&nbsp;"Test&nbsp;Benutzer"</tt>
 +
|-
 +
| <tt>iservuserdel</tt> || <tt>iservuserdel&nbsp;''Benutzer''</tt> || Löscht den [[IServ-Benutzer]]  ''Benutzer''<ref>Im Gegensatz zu <tt>userdel</tt> löscht <tt>iservuserdel</tt> Homeverzeichnis, E-Mail-Account etc. automatisch.</ref>. || <tt>iservuserdel&nbsp;test.benutzer</tt>
 +
|-
 +
| <tt>iservpasswd</tt> || <tt>iservpasswd&nbsp;''Benutzer''</tt> || Ändert das Passwort des Benutzers ''Benutzer''. || <tt>iservpasswd&nbsp;test.benutzer</tt>
 
|-
 
|-
| <tt>iservcfg</tt> || <tt>iservcfg</tt> || Ruft das Konfigurationsmenü von IServ auf. || &nbsp;
 
 
|-
 
|-
| <tt>iservchk</tt> || <tt>iservchk</tt> || Führt eine Systemdiagnose durch. Fehler werden, soweit möglich, vollautomatisch behoben. || &nbsp;
+
| <tt>iservmembers</tt> || <tt>iservmembers&nbsp;-a&nbsp;''Benutzer''&nbsp;''Gruppe''</tt> ||''Benutzer'' einer ''Gruppe'' hinzufügen. || <tt>iservmember&nbsp;-a&nbsp;test.benutzer&nbsp;testgruppe</tt>
 
|-
 
|-
| &nbsp; || <tt>iservchk -v</tt> || Gibt detaillierte Informationen aus, was gerade überprüft wird. Nützlich, wenn <tt>iservchk</tt> sich aufhängt. || &nbsp;
 
 
|-
 
|-
| <tt>iconf</tt> || &nbsp; || <tt>iconf</tt> ist ein Tool von IServ, mit dem die Integrität von Systemdateien sichergestellt wird. || &nbsp;
+
| <tt>iservmembers</tt> || <tt>iservmembers&nbsp;-d&nbsp;''Benutzer''&nbsp;''Gruppe''</tt> ||''Benutzer''  aus einer ''Gruppe'' entfernen. || <tt>iservmember&nbsp;-d&nbsp;test.benutzer&nbsp;testgruppe</tt>
 
|-
 
|-
''Hinweis: Die Befehle zur IServ-Benutzerverwaltung finden sich im Abschnitt [[Kommandozeilenreferenz#Benutzerverwaltung]].''
 
 
|}
 
|}
  
== Hilfe ==
+
=== Anwendungsverwaltung ===
 +
==== Paketmanagement ====
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
 
 
|-
 
|-
| <tt>man</tt> || <tt>man ''Befehl''</tt> || Zeigt<ref>Genaugenommen lädt <tt>man</tt> nur die Hilfetexte in einen Pager; dies ist üblicherweise <tt>less</tt>. Daher treffen alle Bedienungshinweise für <tt>less</tt> auch auf <tt>man</tt> zu.</ref> die Dokumentation ('''Man'''ual) zum dem Befehl ''<tt>Befehl</tt>'' an; das Manual enthält jedoch auch Dokumentation zur Linux-API, Perl-Funktionen etc. || <tt>man ls</tt>
+
! Befehl
 +
! Syntax
 +
! Beschreibung
 +
! Beispiel
 +
|-
 +
| <tt>[[aptitude]]</tt>
 +
| <tt>aptitude&nbsp;update</tt>
 +
| Aktualisiert die lokale Paketdatenbank. Muss nach Änderungen an der Liste der Paketquellen (<tt>/etc/apt/sources.list*</tt>) ausgeführt werden.
 +
| <tt>aptitude&nbsp;update</tt>
 
|-
 
|-
| &nbsp; || <tt>man -k ''Stichwort''</tt><ref><tt>apropos</tt> erfüllt den gleichen Zweck, ist aber schwieriger zu tippen ;) </ref> <br/>  || Durchsucht den Index der Hilfeseiten nach dem Stichwort <tt>''Stichwort''</tt>. Sehr nützlich, wenn man den Befehl für eine bestimmte Tätigkeit sucht. || <tt>man -k apt</tt>
+
|
 +
| <tt>aptitude&nbsp;dist-upgrade</tt>
 +
| Führt ein Systemupdate durch. Dabei werden auch IServ-Pakete aktualisiert.
 +
| <tt>aptitude&nbsp;dist-upgrade</tt>
 
|-
 
|-
| <tt>whatis</tt> || <tt>whatis ''Stichwort''</tt> || Dieselbe Funktion wie <tt>man -k ''Stichwort''</tt>; findet jedoch nur Zeilen, in denen <tt>''Stichwort''</tt> als ganzes Wort vorkommt. || <tt>whatis apt</tt>
+
|
 +
| <tt>aptitude&nbsp;install&nbsp;''Paket''</tt>
 +
| Installiert ein ''Paket''.
 +
| <tt>aptitude&nbsp;install&nbsp;mysql</tt>
 
|-
 
|-
| <tt>info</tt> || <tt>info ''Befehl''</tt> || Zeigt das TexInfo-Manual zu dem Befehl <tt>''Befehl''</tt> an; im Gegensatz zu <tt>man</tt>-Hilfeseiten können diese Dokumente Hyperlinks enthalten. Beendet wird <tt>info</tt> mit der Taste q. || <tt>info ls</tt>
+
|
 +
| <tt>aptitude&nbsp;remove&nbsp;''Paket''</tt>
 +
| Deinstalliert ein ''Paket''.
 +
| <tt>aptitude&nbsp;remove&nbsp;mysql</tt>
 
|-
 
|-
| <tt>''Befehl'' <nowiki>--</nowiki>help</tt> <br/> <tt>''Befehl'' -h</tt> <br/> <tt>''Befehl'' help</tt> ||  || Zeigt einen Hilfetext an, der im Programm selbst gespeichert ist. Diese Dokumentation ist von <tt>man</tt>, <tt>less</tt> und Manualdateien etc. völlig unabhängig; ob sie jedoch überhaupt vorhanden ist und wie sie aufgerufen wird, hängt von dem jeweiligen Programm ab. || <tt>ls <nowiki>--</nowiki>help</tt>
+
|
 +
| <tt>aptitude&nbsp;purge&nbsp;''Paket''</tt>
 +
| Deinstalliert ein ''Paket'' inklusive aller Daten- und Konfigurationsdateien.
 +
| <tt>aptitude&nbsp;purge&nbsp;mysql</tt>
 
|-
 
|-
 +
|
 +
| <tt>aptitude&nbsp;search&nbsp;''Stichwort''</tt>
 +
| Durchsucht die Paketdatenbank nach Paketen, die ''Stichwort'' im Namen oder der Beschreibung enthalten.
 +
| <tt>aptitude&nbsp;search&nbsp;iserv</tt>
 +
|-
 +
|
 +
| <tt>aptitude&nbsp;search&nbsp;~i</tt>
 +
| Zeigt eine Liste aller installierten Pakete an. Ein großes ''A'' vor dem Paketnamen gibt an, dass das Paket automatisch installiert wurde, um Abhängigkeiten anderer Pakete zu erfüllen. Falls diese wieder deinstalliert werden, wird es automatisch mit entfernt.
 +
|
 +
|-
 +
| <tt>dpkg</tt>
 +
| <tt>dpkg&nbsp;-l</tt>
 +
| Zeigt eine Liste aller aktuell oder vormals installierten Pakete mit Versionsnummern an.
 +
|
 +
|-
 +
|
 +
| <tt>dpkg&nbsp;-L&nbsp;''Paket''</tt>
 +
| Listet alle Dateien auf, die ''Paket'' enthält.
 +
| <tt>dpkg -L bash</tt>
 +
|-
 +
|
 +
| <tt>dpkg&nbsp;-S&nbsp;''Datei''</tt>
 +
| Zeigt an, in welchem Paket ''Datei'' enthalten ist.
 +
| <tt>dpkg -S /bin/bash</tt>
 +
|-
 +
| <tt>debsums</tt>
 +
| <tt>debsums&nbsp;-s</tt>
 +
| Prüft alle installierten Pakete auf fehlerhafte bzw. veränderte Dateien.
 
|}
 
|}
  
== Diverse Befehle ==
+
Suchmaschine für Debian-Pakete: http://packages.debian.org
 +
 
 +
==== Kompilieren ====
 +
{{Wichtig|Falls möglich sollte zusätzliche Software immer über Debian-Pakete installiert werden. Selbst kompilierte Programme stellen ein Sicherheitsrisiko dar, da Sicherheitsupdates nicht automatisch installiert werden können. Außerdem ist eine saubere Deinstallation nicht in jedem Fall möglich.}}
 +
 
 +
''Alle Befehle dieses Abschnittes müssen im Verzeichnis eines dafür gedachten Quelltextpaketes ausgeführt werden.''
 +
{| class="wikitable"
 +
! Befehl
 +
! Beschreibung
 +
|-
 +
| <tt>./configure</tt>
 +
| Bereitet den Quelltext eines Programmes für die Kompilierung vor (legt eine Makedatei an, die speziell an den Computer und das Betriebssystem angepasst ist).
 +
|-
 +
| <tt>make</tt>
 +
| Kompiliert das Programm. Dieser Schritt erfordert für gewöhnlich, dass <tt>./configure</tt> bereits erfolgreich ausgeführt wurde.
 +
|-
 +
| <tt>make install</tt>
 +
| Installiert die Dateien des kompilierten Programmes auf dem Computer. Dieser Schritt erfordert für gewöhnlich, dass <tt>make</tt> bereits erfolgreich ausgeführt wurde.
 +
|}
 +
 
 +
=== Netzwerk ===
 
{| class="wikitable"
 
{| class="wikitable"
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>uptime</tt> || <tt>uptime</tt> || Gibt die Systembetriebszeit aus. || &nbsp;
+
| <tt>ifconfig</tt> || <tt>ifconfig</tt> || Gibt Informationen über die vorhandenen und aktivierten Netzwerkadapter aus. || &nbsp;
 +
|-
 +
| <tt>ifconfig</tt> || <tt>ifconfig&nbsp;-a</tt> || Gibt Informationen über alle vorhandenen Netzwerkadapter aus. || &nbsp;
 +
|-
 +
| <tt>ifconfig</tt> || <tt>ifconfig&nbsp;''Interface''&nbsp;up</tt> || Aktiviert das Netzwerkinterface ''Interface''. || <tt>ifconfig&nbsp;eth0&nbsp;up</tt>
 +
|-
 +
| <tt>ifconfig</tt> || <tt>ifconfig&nbsp;''Interface''&nbsp;down</tt> || Deaktiviert das Netzwerkinterface ''Interface''. || <tt>ifconfig&nbsp;eth0&nbsp;down</tt>
 +
|-
 +
| <tt>ifup</tt> || <tt>ifup&nbsp;''Interface''</tt> || Aktiviert das Netzwerkinterface ''Interface'' mit den Einstellungen aus /etc/network/interfaces. || <tt>ifup eth0</tt>
 +
|-
 +
| <tt>ifdown</tt> || <tt>ifdown&nbsp;''Interface''</tt> || Deaktiviert das Netzwerkinterface ''Interface'' mit den Einstellungen aus /etc/network/interfaces. || <tt>ifdown eth0</tt>
 +
|-
 +
| <tt>route</tt> || <tt>route</tt> || Zeigt die Routing-Tabelle an. ||
 +
|-
 +
| <tt>mii-tool</tt> || <tt>mii-tool</tt> || Zeigt den Verbindungsstatus der Netzwerkkarten an. (Funktioniert bei Gigabit u. U. nur eingeschränkt.) ||
 
|-
 
|-
| <tt>arch</tt> || <tt>arch</tt> || Gibt die Bezeichnung der Computerarchitektur (z. B. <tt>i586</tt>) aus. || &nbsp;
+
| <tt>ethtool</tt> || <tt>ethtool&nbsp;''Interface''</tt> || Zeigt den Verbindungsstatus für ''Interface'' an. || <tt>ethtool&nbsp;eth0</tt>
 
|-
 
|-
| <tt>lsof</tt> || <tt>lsof <nowiki>|</nowiki> grep ''Pfad''</tt> || Zeigt offene Dateien in dem Pfad ''Pfad'' an. || <tt>lsof <nowiki>|</nowiki> grep /etc</tt>
+
| <tt>host</tt> || <tt>host&nbsp;''Host''</tt> || Ermittelt zu einem angegebenen Hostname die IP-Adresse und umgekehrt. || <tt>host iserv.eu</tt>
 
|-
 
|-
| <tt>dmesg</tt> || <tt>dmesg <nowiki>|</nowiki> grep ''Laufwerksart''</tt> || Gibt Informationen über alle Laufwerke des Typs ''Laufwerksart'' aus; <br/> dies kann z. B. <tt>hd</tt> (Festplatten) oder <tt>fd</tt> (Diskettenlaufwerke) sein. || <tt>dmesg <nowiki>|</nowiki> grep hd</tt>
+
| <tt>ping</tt> || <tt>ping&nbsp;''Host''</tt> || Versucht, den Host ''Host'' im Netzwerk zu pingen. || <tt>ping&nbsp;c21-pc01</tt>
 
|-
 
|-
| <tt>date</tt> || <tt>date</tt> || Gibt Datum und Zeit aus. || &nbsp;
+
| <tt>links</tt> || <tt>links&nbsp;''URL''</tt> || Öffnet einen Webbrowser im Textmodus mit der angegebenen ''URL''. || <tt>links iserv.eu</tt>
 
|-
 
|-
| <tt>dmesg</tt> || <tt>dmesg</tt> || Gibt Informationen über Kernelaktivitäten aus. || &nbsp;
+
| <tt>nc</tt> || <tt>nc&nbsp;''Host''&nbsp;''Port''</tt> || Stellt eine interaktive Verbindung zu einem Netzwerkdienst auf dem Server ''Host'' auf Port ''Port'' her. || <tt>nc mail.gmx.de 25</tt>
 
|-
 
|-
| <tt>free</tt> || <tt>free</tt> || Gibt Informationen über die Ausnutzung des Arbeitsspeichers aus. || &nbsp;
+
| <tt>scp</tt> || <tt>scp&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Kopiert Dateien zwischen verschiedenen Servern. ''Quelle'' oder ''Ziel'' können dabei das Format ''Server'':''Pfad'' haben. || <tt>scp -r iserv.eu:/root/ /tmp/</tt>
 
|-
 
|-
| <tt>lspci</tt> || <tt>lspci</tt> || Gibt Informationen über vorhandene PCI-Komponenten aus. || &nbsp;
+
| <tt>rsync</tt> || <tt>rsync&nbsp;''Quelle''&nbsp;''Ziel''</tt> || Kopiert Dateien zwischen verschiedenen Servern. Im Gegensatz zu ''scp'' werden nur die Unterschiede übertragen. || <tt>rsync -a iserv.eu:/root/ /tmp/</tt>
 
|-
 
|-
| <tt>lsdev</tt> || <tt>lsdev</tt> || Gibt Informationen über installiere Hardwarekomponenten aus. || &nbsp;
+
| <tt>netstat</tt> || <tt>netstat</tt> || Zeigt die offenen Netzwerkverbindungen an. ||
 
|-
 
|-
| <tt>time</tt> || <tt>time ''Befehl''</tt> || Führt den Befehl ''Befehl'' aus, und gibt anschließend aus, wieviel Zeit die Ausführung des Befehls in Anspruch nahm. || <tt>time sleep 1</tt>
+
| || <tt>netstat -lp</tt> || Zeigt an, welche laufenden Dienste übers Netzwerk erreichbar sind. ||
 
|-
 
|-
| <tt>history</tt> || <tt>history</tt> || Zeigt eine Liste der zuletzt eingegebenen Befehle an. || &nbsp;
+
| <tt>nmap</tt> || <tt>nmap ''Host''</tt> || Führt einen Portscan auf ''Host'' durch und zeigt alle erreichbaren Ports an. || <tt>nmap iserv.eu</tt>
 
|-
 
|-
| &nbsp; || <tt>history -c</tt> || Leert die Liste der zuletzt eingegebenen Befehle<ref>Dieser Befehl sollte immer dann ausgeführt werden, wenn ein Passwort als Parameter an ein Programm übergeben wurde.</ref>. || &nbsp;
+
| <tt>tcpdump</tt> || <tt>tcpdump&nbsp;-i&nbsp;''Interface''</tt> || Zeigt alle übertragenen Netzwerkpakete auf ''Interface'' an. || <tt>tcpdump -i eth0</tt>
 
|-
 
|-
 +
| <tt>iptraf</tt> || <tt>iptraf</tt> || Interaktive Monitorsoftware, die Netzwerkstatistiken anzeigt. || &nbsp;
 
|}
 
|}
  
== Prozessmanagement ==
+
=== Mailserver ===
 
{| class="wikitable"
 
{| class="wikitable"
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>kill</tt> || <tt>kill ''PID''</tt> || Beendet den Prozess mit der ID ''PID''. || <tt>kill 1067</tt>
+
| <tt>mailq</tt> || <tt>mailq</tt> || Mailwarteschlange anzeigen. ||
 +
|-
 +
| <tt>exim</tt> || <tt>exim -q -v</tt> || Warteschlange abarbeiten. ||
 
|-
 
|-
| <tt>killall</tt> || <tt>killall ''Prozessname''</tt> || Beendet den Prozess mit dem Prozessnamen ''Prozessname''. || <tt>killall Firefox</tt>
+
| || <tt>exim -Mvh ''ID''</tt> || Nachrichten-Header anzeigen. || <tt>exim -Mvh 1LvwrD-0003OF-Er</tt>
 
|-
 
|-
| <tt>top</tt> || <tt>top</tt> || Zeigt die Prozesse mit der höchsten CPU-Auslastung an. || &nbsp;
+
| || <tt>exim -Mvl ''ID''</tt> || Nachrichten-Log anzeigen. || <tt>exim -Mvl 1LvwrD-0003OF-Er</tt>
 
|-
 
|-
| <tt>ps</tt> || <tt>ps</tt> || Gibt Informationen über die Prozesse aus, die dem angemeldeten Benutzer gehören. || &nbsp;
+
| || <tt>exim -Mt ''ID''</tt> || Nachricht "auftauen" (nach fatalem Fehler erneut versuchen). || <tt>exim -Mt 1LvwrD-0003OF-Er</tt>
 
|-
 
|-
| &nbsp; || <tt>ps -A</tt> || Gibt Informationen über alle laufenden Prozesse aus. || &nbsp;
+
| || <tt>exim -Mrm ''ID''</tt> || Nachricht löschen. || <tt>exim -Mrm 1LvwrD-0003OF-Er</tt>
 
|-
 
|-
 
|}
 
|}
  
== Herunterfahren & Neu starten ==
+
==== Ausgehende Mails von einem bestimmten Benutzer einfrieren ====
 +
Praktisch, wenn jemand eine sehr große Mail an viele externe Mail-Adressen versendet hat, die jetzt den Upload der DSL-Leitung verstopfen. Die eingefrorenen Mails bleiben so lange unausgeliefert in der Queue, bis sie wieder aufgetaut oder gelöscht werden.
 +
<rootpre>exiqgrep -fi "vorname\.nachname" | xargs exim -Mf</rootpre>
 +
 
 +
==== Eingefrorene Mails auftauen ====
 +
<rootpre>exiqgrep -zi | xargs exim -M</rootpre>
 +
 
 +
==== Eingefrorene Mails löschen ====
 +
<rootpre>exiqgrep -zi | xargs exim -Mrm</rootpre>
 +
 
 +
=== Datenbank ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl/Tastenkombination !! Beschreibung
+
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>psql</tt> || <tt>psql</tt> || Interaktive Datenbank-Shell für PostgreSQL. ||
 
|-
 
|-
| <tt>shutdown -h now</tt> || Fährt den Computer herunter.
+
| || <tt>psql -l</tt> || Listet vorhandene Datenbanken auf. ||
 
|-
 
|-
| <tt>shutdown -r now</tt> || Fährt den Computer herunter und startet ihn neu.
+
| <tt>chkdb</tt> || <tt>chkdb</tt> || Unterschiede zwischen aktueller Datenbankstruktur und den Vorgaben von IServ in /usr/share/iserv/db anzeigen. ||
 
|-
 
|-
| <tt>halt -f</tt> || Hält den Computer an, ohne ihn vorher herunterzufahren.
+
| || <tt>chkdb -r</tt> || Aktuelle Datenbankstruktur an die Vorgaben von IServ anpassen. ||
 
|-
 
|-
| <tt>reboot -f</tt> || Startet den Computer neu, ohne ihn vorher herunterzufahren.
+
| <tt>pg_dump</tt> || <tt>pg_dump</tt> || Datenbank als Text exportieren. ||
 
|-
 
|-
| <tt>[STRG+ALT+ENTF]</tt> || Fährt den Computer herunter und startet ihn neu. Für die Eingabe dieser Tastenkombination ist kein Login nötig; daher werden logischerweise auch keine <tt>root</tt>-Rechte benötigt. Berechtigt ist jeder, der physikalischen Zugang zum Server hat.
+
| <tt>pg_backup</tt> || <tt>pg_backup</tt> || Komplette IServ-Datenbank als Text nach /var/backups/postgresql sichern. Wird täglich ausgeführt. ||
 
|-
 
|-
 
|}
 
|}
  
== Benutzerverwaltung ==
+
=== Kernel ===
 
{| class="wikitable"
 
{| class="wikitable"
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>id</tt> || <tt>id</tt> || Gibt Informationen zum eigenen Account (Accountname, UID, GID) und zu den eigenen Gruppenmitgliedschaften aus. || &nbsp;
+
| <tt>lsmod</tt> || <tt>lsmod</tt> || Zeigt alle geladenen Module an. || &nbsp;
 
|-
 
|-
| <tt>whoami</tt> || <tt>whoami</tt> || Gibt den eigenen Benutzernamen aus. || &nbsp;
+
| <tt>modprobe</tt> || <tt>modprobe&nbsp;''Modul''</tt> || Lädt ein ''Modul'' und dessen Abhängigkeiten mithilfe von <tt>insmod</tt> in den Kernel. || <tt>modprobe&nbsp;printer</tt>
 
|-
 
|-
| <tt>who</tt> || <tt>who</tt> || Gibt eine Auflistung aus, welche Benutzer seit wann und an welchen Konsolen angemeldet sind. || &nbsp;
+
| || <tt>modprobe&nbsp;-r&nbsp;''Modul''</tt> || Entfernt ein ''Modul'' und nicht mehr benötigte Abhängigkeiten mithilfe von <tt>rmmod</tt> aus dem Kernel. || <tt>modprobe&nbsp;-r&nbsp;printer</tt>
 
|-
 
|-
| <tt>groupadd</tt> || <tt>groupadd ''Gruppe''</tt> || Erzeugt die Linux-Gruppe ''Gruppe''. || <tt>groupadd test.gruppe</tt>
+
| <tt>insmod</tt> || <tt>insmod&nbsp;''Modul''</tt> || Lädt das ein ''Modul'' in den Kernel. Anstatt dieses Befehls sollte besser <tt>modprobe</tt> verwendet werden. || <tt>insmod&nbsp;printer</tt>
 
|-
 
|-
| <tt>groupdel</tt> || <tt>groupdel ''Gruppe''</tt> || Löscht die Linux-Gruppe ''Gruppe''. || <tt>groupdel test.gruppe</tt>
+
| <tt>rmmod</tt> || <tt>rmmod&nbsp;''Modul''</tt> || Entfernt ein ''Modul'' aus dem Kernel. Anstatt dieses Befehls sollte besser <tt>modprobe -r</tt> verwendet werden. || <tt>rmmod&nbsp;printer</tt>
 
|-
 
|-
| <tt>useradd</tt> || <tt>useradd -m ''Benutzer''</tt> || Erzeugt den [[Linux-Benutzer]]  ''Benutzer'' und legt ein Homeverzeichnis für diesen Benutzer an. || <tt>useradd -m test.benutzer</tt>
+
| <tt>uname</tt> || <tt>uname&nbsp;-a</tt> || Gibt die Versionsnummer des geladenen Kernels aus. || &nbsp;
 
|-
 
|-
| <tt>userdel</tt> || <tt>userdel -r ''Benutzer''</tt> || Löscht den [[Linux-Benutzer]] ''Benutzer'' und dessen Homeverzeichnis. || <tt>userdel -r test.benutzer</tt>
+
|}
 +
 
 +
=== Daemons steuern ===
 +
''Ein [[Daemon]] ist ein Dienst, der unsichtbar für den Benutzer Arbeiten im Hintergrund verrichtet.''
 +
{| class="wikitable"
 +
! Befehl
 +
! Syntax
 +
! Beschreibung
 +
! Beispiel
 
|-
 
|-
| <tt>passwd</tt> || <tt>passwd</tt> || Ändert das Passwort des momentan angemeldeten Benutzers. || &nbsp;
+
| colspan="2" | <tt>/etc/init.d/''Daemon''&nbsp;''Befehl''</tt>
 +
| rowspan="2" | Sendet einen ''Befehl'' an einen ''Daemon''. Wichtige Befehle: <tt>start</tt> (starten), <tt>stop</tt> (stoppen), <tt>restart</tt> (neustarten), <tt>reload</tt> (Konfiguration neu einlesen)
 +
| <tt>/etc/init.d/httpd&nbsp;stop</tt>.
 
|-
 
|-
| <tt>passwd</tt> || <tt>passwd ''Benutzer''</tt> || Ändert das Passwort des Benutzers ''Benutzer''. || passwd test.benutzer
+
| colspan="2" | <tt>service&nbsp;''Daemon''&nbsp;''Befehl''</tt>
|-
+
| <tt>service&nbsp;squid&nbsp;reload</tt>
| <tt>iservgroupadd</tt> || <tt>iservgroupadd ''Gruppe''</tt> || Erzeugt die IServ-Gruppe ''Gruppe''. || <tt>iservgroupadd test.gruppe</tt>
+
|}
 +
 
 +
== Diverses ==
 +
 
 +
=== Kommunikation mit anderen Computern ===
 +
{| class="wikitable"
 +
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>iservgroupdel</tt> || <tt>iservgroupdel ''Gruppe''</tt> || Löscht die IServ-Gruppe ''Gruppe''. || <tt>iservgroupdel test.gruppe</tt>
+
| <tt>ftp</tt> || <tt>ftp</tt> || Client für das {{WP|File Transfer Protocol}} || &nbsp;
 
|-
 
|-
| <tt>iservuseradd</tt> || <tt>iservuseradd ''Benutzer''</tt> || Erzeugt den [[IServ-Benutzer]]  ''Benutzer''<ref>Im Gegensatz zu <tt>useradd</tt> legt <tt>iservuseradd</tt> Homeverzeichnis, E-Mail-Account etc. automatisch an.</ref>. || <tt>iservuseradd test.benutzer</tt>
+
|             || <tt>ftp&nbsp;''user''@''host''</tt> || Baut eine FTP-Verbindung zum Rechner ''host'' mit dem Benutzer ''user'' auf. || <tt>ftp&nbsp;testbenutzer@mein-iserv.de</tt>
 
|-
 
|-
| <tt>iservuserdel</tt> || <tt>iservuserdel ''Benutzer''</tt> || Löscht den [[IServ-Benutzer]] ''Benutzer''<ref>Im Gegensatz zu <tt>userdel</tt> löscht <tt>iservuserdel</tt> Homeverzeichnis, E-Mail-Account etc. automatisch.</ref>. || <tt>iservuserdel test.benutzer</tt>
+
| <tt>smbclient</tt> || <tt>smbclient&nbsp;''[[share]]''</tt> || Baut eine Verbindung zu einem Service des {{WP|Server Message Block}}s auf, der für Dateifreigaben unter Windows benutzt wird, und bietet eine FTP-ähnliche Kommandozeile || <tt>smbclient&nbsp;//iserv/Home</tt>
 
|-
 
|-
| <tt>iservpasswd</tt> || <tt>iservpasswd ''Benutzer''</tt> || Ändert das Passwort des Benutzers ''Benutzer''. || iservpasswd test.benutzer
+
| || <tt>smbclient&nbsp;''share''&nbsp;-U&nbsp;''username''</tt> || Baut die Verbindung zum Server mit dem Benutzernamen ''username'' auf || <tt>smbclient&nbsp;//iserv/Home&nbsp;-U&nbsp;testbenutzer</tt>
 
|-
 
|-
| <tt>groups</tt> || <tt>groups</tt> || Gibt eine Liste der Gruppen aus, in denen der aktuell angemeldete Benutzer Mitglied ist. || &nbsp;
+
| <tt>ssh</tt> || <tt>ssh</tt> || Client für die {{WP|Secure Shell}} || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>groups ''Benutzername''</tt> || Gibt eine Liste der Gruppen aus, in denen der ''Benutzer'' Mitglied ist. || <tt>groups vorname.nachname</tt>
+
| || <tt>ssh ''user''@''host''</tt> || Baut eine SSH-Verbindung zum Rechner ''host'' mit dem Benutzer ''user'' auf. || <tt>ssh testbenutzer@mein-iserv.de</tt>
 
|-
 
|-
| <tt>who</tt> || <tt>who</tt> || Gibt eine tabellarische Liste aller Benutzer aus, die momentan lokal oder über SSH am Server angemeldet sind. Zusätzlich werden Konsole, Uhrzeit der Anmeldung und ggf. der Remotehost angegeben. || &nbsp;
+
| <tt>wget</tt> || <tt>wget ''URL''</tt> || Lädt eine Datei aus dem Internet herunter und speichert sie ab. || <tt>wget&nbsp;<nowiki>http://test.de/test.txt</nowiki></tt>
 
|-
 
|-
| <tt>users</tt> || <tt>users</tt> || Gibt eine Liste aller Benutzer aus, die momentan lokal oder über SSH am Server angemeldet sind. Die einzelnen Benutzernamen sind durch Leerzeichen getrennt, es werden keine weiteren Informationen ausgegeben. Die Ausgabe von <tt>users</tt> eignet sich damit hervorragend für Scripts. || &nbsp;
+
| || <tt>wget&nbsp;-c&nbsp;''URL''</tt> || Setzt einen abgebrochenen Download an der Stelle fort, an der er unterbrochen wurde. || <tt>wget&nbsp;-c&nbsp;<nowiki>http://test.de/test.txt</nowiki></tt>
 
|-
 
|-
 +
| <tt>GET</tt> || <tt>GET&nbsp;''URL''</tt> || Lädt eine Datei aus dem Internet herunter und gibt sie aus. || <tt>GET&nbsp;www.google.de</tt>
 
|}
 
|}
  
== Datenströme ==
+
=== Diverse Befehle ===
 
{| class="wikitable"
 
{| class="wikitable"
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>less</tt> || <tt>less</tt> || Zeigt einen Datenstrom seitenweise an. || &nbsp;
+
| <tt>env</tt> || <tt>env</tt> || Zeigt die Umgebungsvariablen an. || &nbsp;
 +
|-
 +
| <tt>export</tt> || <tt>export&nbsp;''Variable''=''Wert''</tt> || Setzt eine Umgebungsvariable ''Variable'' für alle innerhalb der aktuellen Shell aufgerufenen Programme auf ''Wert''. || <tt>export LANG=C</tt>
 +
|-
 +
| <tt>uptime</tt> || <tt>uptime</tt> || Gibt die Systembetriebszeit aus. || &nbsp;
 +
|-
 +
| <tt>arch</tt> || <tt>arch</tt> || Gibt die Bezeichnung der Computerarchitektur (z. B. <tt>i586</tt>) aus. || &nbsp;
 +
|-
 +
| <tt>lsof</tt> || <tt>lsof&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;''Pfad''</tt> || Zeigt offene Dateien in dem Pfad ''Pfad'' an. || <tt>lsof&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;/etc</tt>
 +
|-
 +
| <tt>dmesg</tt> || <tt>dmesg</tt> || Gibt Informationen über Kernelaktivitäten aus. || &nbsp;
 +
|-
 +
|  || <tt>dmesg&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;''Laufwerksart''</tt> || Gibt Informationen über alle Laufwerke des Typs ''Laufwerksart'' aus; <br/> dies kann z. B. <tt>hd</tt> (Festplatten) oder <tt>fd</tt> (Diskettenlaufwerke) sein. || <tt>dmesg&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;hd</tt>
 +
|-
 +
| <tt>date</tt> || <tt>date</tt> || Gibt Datum und Zeit aus. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>''Befehl''&nbsp;<nowiki>|</nowiki>&nbsp;less</tt> || Zeigt die Ausgaben des ''Befehls'' seitenweise an. || <tt>ls&nbsp;-lA&nbsp;<nowiki>|</nowiki>&nbsp;less</tt>
+
| <tt>free</tt> || <tt>free</tt> || Gibt Informationen über die Ausnutzung des Arbeitsspeichers aus. || &nbsp;
 
|-
 
|-
| <tt>grep</tt> || <tt>grep&nbsp;''Zeichenkette''</tt> || Durchsucht einen Datenstrom nach Zeilen, die die Zeichenkette ''Zeichenkette'' enthalten. || &nbsp;
+
| <tt>lspci</tt> || <tt>lspci</tt> || Gibt Informationen über vorhandene PCI-Komponenten aus. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>grep&nbsp;-v&nbsp;''Zeichenkette''</tt> || Durchsucht einen Datenstrom nach Zeilen, die die Zeichenkette ''Zeichenkette''  '''nicht''' enthalten. || &nbsp;
+
| <tt>lsdev</tt> || <tt>lsdev</tt> || Gibt Informationen über installiere Hardwarekomponenten aus. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>grep&nbsp;-i&nbsp;''Zeichenkette''</tt> || Durchsucht einen Datenstrom nach Zeilen, die die Zeichenkette ''Zeichenkette'' enthalten; die Groß- und Kleinschreibung wird ignoriert. || &nbsp;
+
| <tt>reset</tt> || <tt>reset</tt> || Leert die aktuelle Konsole. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>grep&nbsp;<nowiki>^</nowiki>''Zeichenkette''</tt> || Durchsucht einen Datenstrom nach Zeilen, die mit der Zeichenkette ''Zeichenkette'' beginnen. || &nbsp;
+
| <tt>time</tt> || <tt>time&nbsp;''Befehl''</tt> || Führt den Befehl ''Befehl'' aus, und gibt anschließend aus, wie viel Zeit die Ausführung des Befehls in Anspruch nahm. || <tt>time&nbsp;sleep&nbsp;1</tt>
 
|-
 
|-
| &nbsp; || <tt>grep&nbsp;''Zeichenkette''<nowiki>$</nowiki></tt> || Durchsucht einen Datenstrom nach Zeilen, die mit der Zeichenkette ''Zeichenkette'' enden. || &nbsp;
+
| <tt>history</tt> || <tt>history</tt> || Zeigt eine Liste der zuletzt eingegebenen Befehle an. || &nbsp;
 
|-
 
|-
| &nbsp; || <tt>''Befehl''&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;''Zeichenkette''</tt> || Durchsucht die Ausgaben des ''Befehls'' nach Zeilen, die die Zeichenkette ''Zeichenkette'' enthalten. || <tt>cat&nbsp;/var/log/messages&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;httpd</tt>
+
| || <tt>history&nbsp;-c</tt> || Leert die Liste der zuletzt eingegebenen Befehle<ref>Dieser Befehl sollte immer dann ausgeführt werden, wenn ein Passwort als Parameter an ein Programm übergeben wurde.</ref>.
 
|-
 
|-
| <tt>sort</tt> || <tt>sort</tt> || Sortiert die Zeilen eines Datenstromes alphabetisch. || &nbsp;
+
| <tt>su</tt>
 +
| <tt>su&nbsp;''Benutzer''</tt>
 +
| Öffnet eine neue {{LW|Shell}}, die aber nicht unter dem aktuellen Benutzerkontext, sondern im Kontext von ''Benutzer'' ausgeführt wird. Ist der aktuelle Benutzer ein unprivilegierter Benutzer, muss er das Passwort von ''Benutzer'' eingeben, ist er [[root]], muss er kein Passwort eingeben. Wird kein ''Benutzer'' angegeben, verwendet <tt>su</tt> "[[root]]" als Benutzernamen.
 +
| <tt>su&nbsp;root</tt>
 
|-
 
|-
| &nbsp; || <tt>sort&nbsp;-r</tt> || Sortiert die Zeilen eines Datenstromes umgekehrt alphabetisch. || &nbsp;
+
|
 +
| <tt>su&nbsp;-&nbsp;''Benutzer''</tt>
 +
| Öffnet die {{LW|Shell}} als Loginshell. Wird kein ''Benutzer'' angegeben, verwendet <tt>su</tt> "[[root]]" als Benutzernamen.
 +
| <tt>su&nbsp;-&nbsp;root</tt>
 
|-
 
|-
| &nbsp; || <tt>cat&nbsp;''Datei''&nbsp;<nowiki>|</nowiki>&nbsp;sort</tt> || Gibt eine Datei aus, wobei die Zeilen alphabetisch sortiert werden. || <tt>cat&nbsp;Wörterliste.txt&nbsp;<nowiki>|</nowiki>&nbsp;sort</tt>
+
| <tt>sudo</tt> || <tt>sudo&nbsp;''Befehl''</tt> || Führt einen Befehl mit ''root''-Rechte aus. Ggf. muss das eigene Passwort eingegeben werden. || <tt>sudo&nbsp;aptitude&nbsp;update</tt>
 
|-
 
|-
| <tt>tee</tt> || <tt>tee&nbsp;''Datei''</tt> || Speichert Daten, die über <tt>stdin</tt> hereinkommen, in einer Datei und gibt sie gleichzeitig auf <tt>stdout</tt> aus. || <tt>iservchk&nbsp;<nowiki>|</nowiki>&nbsp;tee&nbsp;iservchk.log</tt>
+
| <tt>screen</tt>
 +
| <tt>screen</tt>
 +
| Öffnet eine neue Shell in einer virtuellen Konsole, die unabhängig von der aktuellen Anmeldung im Hintergrund läuft. Um die virtuelle Konsole zu verlassen, ohne das laufende Programm zu beenden, erst [STRG+A] und dann die Taste [d] drücken.
 +
| &nbsp;
 
|-
 
|-
| || <tt>''Befehl''&nbsp;2>&1&nbsp;<nowiki>|</nowiki>&nbsp;tee&nbsp;''Datei''</tt> || Speichert Daten, die der ''Befehl'' auf <tt>stdin</tt> und <tt>stderr</tt> ausgibt, in einer Datei und gibt sie gleichzeitig auf <tt>stdout</tt> aus. || <tt>iservchk&nbsp;2>&1&nbsp;<nowiki>|</nowiki>&nbsp;tee&nbsp;iservchk.log</tt>
+
|
 +
| <tt>screen -x</tt>
 +
| Verbindet sich mit einer bestehenden virtuellen Konsole. Es können auch gleichzeitig mehrere Benutzer in einer virtuellen Konsole zusammen arbeiten.
 +
|
 
|-
 
|-
| <tt>uniq</tt> || <tt>uniq</tt> || Entfernt identische Zeilen aus einem Datenstrom, so dass nur jeweils eine Zeile überbleibt. || <tt>cat&nbsp;Wörterliste.txt&nbsp;<nowiki>|</nowiki>&nbsp;uniq</tt>
+
| <tt>[[psql]]</tt>
 +
| <tt>psql</tt>
 +
| Dienstprogramm zur Administration der PostgreSQL-Datenbank.
 +
|
 
|}
 
|}
  
== Kompilieren ==
+
=== Jobs ===
 +
;Jobs erzeugen
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl
+
! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>''Befehl''&nbsp;&</tt> || <tt>''Befehl''</tt> wird als Job im Hintergrund ausgeführt; die Ausgaben des Befehls werden jedoch trotzdem auf der Konsole ausgegeben! || <tt>updatedb&nbsp;&</tt>
 
|-
 
|-
| <tt>./configure</tt>
+
| <tt>''Befehl''&nbsp;&>&nbsp;''Logdatei''&nbsp;&</tt> || <tt>''Befehl''</tt> wird als Job im Hintergrund ausgeführt; stdout als auch stderr werden in die Datei ''Logdatei'' umgeleitet. || <tt>iservchk&nbsp;-q&nbsp;&>&nbsp;~/iservchk.log&nbsp;&</tt>
 
|-
 
|-
| <tt>make</tt>
+
| <tt>nohup&nbsp;''Befehl''&nbsp;&</tt> || Führt den Befehl <tt>''Befehl''</tt> im Hintergrund aus und verhindert, dass der Prozess bei der Abmeldung beendet wird. <br/> Dies ist zum Beispiel praktisch, wenn man große Downloads mit <tt>wget</tt> durchführen möchte<ref>Beispiel für den Download des Service Pack 2 für Windows XP: <br/> <tt><nowiki>nohup wget "http://download.microsoft.com/download/9/6/4/96442257-721a-4cd5-9006-10a40cbb45cb/WindowsXP-KB835935-SP2-DEU.exe" &</nowiki></tt></ref>. || &nbsp;
 
|-
 
|-
| <tt>make install</tt>
+
| <tt>[STRG+Z]</tt> || Schickt den Prozess, der momentan im Vordergrund ist, in den Hintergrund und stoppt ihn. || &nbsp;
 
|-
 
|-
 
|}
 
|}
  
== Netzwerk ==
+
;Jobs referenzieren
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>ifconfig</tt> || <tt>ifconfig</tt> || Gibt Informationen über die vorhandenen und aktivierten Netzwerkadapter aus. || &nbsp;
+
| <tt>%''Nummer''</tt> || Referenziert Job ''Nummer''. || <tt>%1</tt>
 
|-
 
|-
| <tt>ifconfig</tt> || <tt>ifconfig -a</tt> || Gibt Informationen über alle vorhandenen Netzwerkadapter aus. || &nbsp;
+
| <tt>%''Substring''</tt> || Referenziert den Job, dessen Name mit ''Substring'' beginnt. Wenn das auf mehr als auf einen Job zutrifft, gibt es eine Fehlermeldung. || <tt>"%man&nbsp;bash"</tt>
 
|-
 
|-
| <tt>ifconfig</tt> || <tt>ifconfig ''Interface'' up</tt> || Aktiviert das Netzwerkinterface ''Interface''. || <tt>ifconfig eth0 up</tt>
+
| <tt>%?''Substring''</tt> || Referenziert den Job, in dessen Name ''Substring'' vorkommt. Wenn das auf mehr als auf einen Job zutrifft, gibt es eine Fehlermeldung. || <tt>%?iserv</tt>
 
|-
 
|-
| <tt>ifconfig</tt> || <tt>ifconfig ''Interface'' down</tt> || Deaktiviert das Netzwerkinterface ''Interface''. || <tt>ifconfig eth0 down</tt>
+
|}
 +
 
 +
;Jobs verwalten
 +
{| class="wikitable" width="100%"
 +
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>ping</tt> || <tt>ping ''Host''</tt> || Versucht, den Host ''Host'' im Netzwerk zu pingen. || <tt>ping c21-pc01</tt>
+
| <tt>jobs</tt> || <tt>jobs</tt> || Zeigt die Jobs an, die momentan in Hintergrund laufen. || &nbsp;
 
|-
 
|-
| <tt>iptraf</tt> || <tt>iptraf</tt> || Interaktive Monitorsoftware, die Netzwerkstatistiken anzeigt. || &nbsp;
+
| <tt>fg</tt> || <tt>fg&nbsp;''Job''</tt> || Bringt den ''Job'' in den Vordergrund. || <tt>fg&nbsp;%1</tt>
 
|-
 
|-
| <tt>ftp</tt> || <tt>ftp</tt> || &nbsp; || &nbsp;
+
| <tt>bg</tt> || <tt>bg&nbsp;''Job''</tt> || Setzt einen pausierten ''Job'' im Hintergrund fort. || <tt>bg&nbsp;%1</tt>
 
|-
 
|-
| <tt>ssh</tt> || <tt>ssh</tt> || &nbsp; || &nbsp;
+
| <tt>kill</tt> || <tt>kill&nbsp;''Job''</tt> || Beendet den ''Job''. || <tt>kill&nbsp;%1</tt>
 
|-
 
|-
| <tt>smbclient</tt> || <tt>smbclient</tt> || &nbsp; || &nbsp;
 
|-
 
| <tt>wget</tt> || <tt>wget ''URL''</tt> || Lädt eine Datei aus dem Internet herunter und speichert sie ab. || <tt>wget <nowiki>http://test.de/test.txt</nowiki></tt>
 
|-
 
| <tt>GET</tt> || <tt>GET ''URL'' </tt> || Lädt eine Datei aus dem Internet herunter und gibt sie aus. || <tt>GET www.google.de</tt>
 
 
|}
 
|}
  
== Kernel ==
+
=== Wichtige Tastenkombinationen ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Syntax !! Bedeutung !! Beispiel
+
! Tastenkombination !! Beschreibung
 
|-
 
|-
| <tt>lsmod</tt> || <tt>lsmod</tt> || Zeigt alle geladenen Module an. || &nbsp;
+
| <tt>[SHIFT+BILD-HOCH]</tt> || Konsole nach oben scrollen.
 +
|-
 +
| <tt>[SHIFT+BILD-RUNTER]</tt> || Konsole nach unten scrollen.
 +
|-
 +
| <tt>[ALT+F1]</tt> bis <tt>[ALT+F6]</tt> || Lokale Konsole: Schaltet zwischen den virtuellen Konsolen um.
 +
|-
 +
| <tt>[STRG+C]</tt> || <tt>bash</tt>: Bricht den aktuellen Vorgang in der Shell ab.
 +
|-
 +
| <tt>[STRG+Z]</tt> || <tt>bash</tt>: Schickt den Prozess, der momentan im Vordergrund ist, in den Hintergrund und stoppt ihn. Siehe auch: [[Kommandozeilenreferenz#Jobs|Abschnitt Jobs]]
 +
|-
 +
| <tt>[STRG+R]</tt> || <tt>bash</tt>: Öffnet einen speziellen Prompt, in dem die Befehlshistory durchsucht werden kann, um einen bereits ausgeführten Befehl erneut ausführen zu können. Für den jeweils nächsten Treffer noch einmal <tt>[STRG+R]</tt> drücken.
 +
|-
 +
| <tt>[STRG+D]</tt> || <tt>bash</tt>: Beendet die aktuelle Sitzung, gleichbedeutend mit <tt>[[#Herunterfahren_.26_Neu_starten|logout]]</tt>
 +
|-
 +
| <tt>[STRG+L]</tt> || <tt>bash</tt>: Löscht den Bildschirm, z.&nbsp;B. um sicherheitsrelevante Daten zu vernichten.
 +
|-
 +
| <tt>[STRG+S]</tt> || <tt>bash</tt>: Pausiert die Bildschirmausgabe.
 +
|-
 +
| <tt>[STRG+Q]</tt> || <tt>bash</tt>: Setzt die Bildschirmausgabe fort.
 +
|-
 +
| <tt>[STRG+H]</tt> || <tt>bash</tt>: Löscht das letzte Zeichen (falls Backspace nicht funktioniert).
 +
|-
 +
| <tt>[STRG+W]</tt> || <tt>bash</tt>: Löscht das letzte Wort.
 +
|-
 +
| <tt>[Tab]</tt> || <tt>bash</tt>: Vervollständigt den angefangenen Befehls-, Verzeichnis- oder Dateinamen falls eindeutig.
 +
|-
 +
| 2x <tt>[Tab]</tt> || <tt>bash</tt>: Zeigt alle möglichen Vervollständigungen an.
 +
|-
 +
| <tt>[PFEIL-HOCH]</tt> || <tt>bash</tt>: Vorherigen Befehl aus der History auswählen.
 +
|-
 +
| <tt>[PFEIL-RUNTER]</tt> || <tt>bash</tt>: Nächsten Befehl aus der History auswählen.
 
|-
 
|-
| <tt>modprobe</tt> || <tt>modprobe ''Modul''</tt> || Prüft ob ein Modul geladen ist und lädt es ggf. nach. || <tt>modprobe printer</tt>
+
| <tt>[~]&nbsp;[.]</tt> || <tt>ssh</tt>: Terminiert die Session.
 
|-
 
|-
| <tt>insmod</tt> || <tt>insmod ''Modul''</tt> || Lädt das Modul ''Modul'' ohne vorherige Probe. || <tt>insmod printer</tt>
+
| <tt>[~]&nbsp;[STRG+Z]&nbsp;[STRG+Z]</tt> || <tt>ssh</tt>: Schickt die geöffnete SSH-Session in den Hintergrund und stoppt sie.
 
|-
 
|-
| <tt>uname</tt> || <tt>uname -a</tt> || Gibt die Versionsnummer des geladenen Kernels aus. || &nbsp;
+
| <tt>[STRG+V]&nbsp;[ESC]&nbsp;[c]&nbsp;[ENTER]</tt> || Setzt das Terminal zurück, wenn es z. B. durch Ausgabe von Binärdateien unleserlich geworden ist.
 
|-
 
|-
 
|}
 
|}
  
== Dienste steuern ==
+
=== Struktur des Dateisystems ===
 
{| class="wikitable"
 
{| class="wikitable"
! Befehl !! Beschreibung !! Beispiel
+
! Verzeichnis
 +
! Beschreibung
 +
|-
 +
| <tt>/bin</tt>
 +
| Systemprogramme für alle Benutzer
 +
|-
 +
| <tt>/boot</tt>
 +
| Dateien für den Boot-Vorgang
 +
|-
 +
| <tt>/dev</tt>
 +
| Geräte-Dateien
 +
|-
 +
| <tt>/etc</tt>
 +
| Konfigurationsdateien
 +
|-
 +
| <tt>/group</tt>
 +
| Gruppenverzeichnisse (IServ spezifisch)
 +
|-
 +
| <tt>/home</tt>
 +
| Homeverzeichnisse
 +
|-
 +
| <tt>/initrd</tt>
 +
| Leer
 +
|-
 +
| <tt>/lib</tt>
 +
| Systembibliotheken
 +
|-
 +
| <tt>/lost+found</tt>
 +
| Bei Dateisystemreparatur wieder hergestellte Dateien
 +
|-
 +
| <tt>/media</tt>
 +
| Zum Einbinden von entfernbaren Datenträgern
 +
|-
 +
| <tt>/mnt</tt>
 +
| Zum Einbinden beliebiger Datenträger
 +
|-
 +
| <tt>/old</tt>
 +
| Verbleibende Dateien einer IServ 1 Installation nach Upgrade (IServ spezifisch)
 +
|-
 +
| <tt>/opt</tt>
 +
| Zusatzprogramme (nicht an Debian angepasst)
 +
|-
 +
| <tt>/proc</tt>
 +
| Informationen über Kernel und Prozesse
 +
|-
 +
| <tt>/root</tt>
 +
| Homeverzeichnis von root
 +
|-
 +
| <tt>/sbin</tt>
 +
| Systemprogramme für root
 +
|-
 +
| <tt>/srv</tt>
 +
| Netzwerkfreigaben für andere Rechner
 +
|-
 +
| <tt>/sys</tt>
 +
| Zusätzliche Informationen über Hardware
 
|-
 
|-
| <tt>/etc/init.d/<service> <arg></tt> || Steuert den Dienst <service>, häufige Argumente: <tt>start</tt>, <tt>stop</tt>, <tt>restart</tt> und <tt>reload</tt> || <tt>/etc/init.d/httpd stop</tt>
+
| <tt>/tmp</tt>
 +
| Temporäre Dateien (werden automatisch gelöscht)
 +
|-
 +
| <tt>/usr</tt>
 +
| Programme (mit Bibliotheken, Dokumentation...)
 +
|-
 +
| <tt>/var</tt>
 +
| Daten (Datenbank, Mails, Logs, Backups, Caches...)
 
|-
 
|-
 
|}
 
|}
 +
Siehe auch: Filesystem Hierarchy Standard (http://www.pathname.com/fhs/pub/fhs-2.3.html)
  
 
+
=== Logdateien ===
== Diverses ==
 
 
 
=== Wichtige Tastenkombinationen ===
 
 
{| class="wikitable"
 
{| class="wikitable"
! Tastenkombination !! Bedeutung
+
! Verzeichnis
 +
! Datei
 +
! Speicherdauer
 +
! Beschreibung
 
|-
 
|-
| <tt>[STRG+C]</tt> || <tt>bash</tt>: Bricht den aktuellen Vorgang in der Shell ab.
+
| <tt>/var/log</tt> || || || Systemlogs
 +
|-
 +
| || <tt>alternatives.log</tt> || 12 Monate || Paketverwaltung (update-alternatives)
 +
|-
 +
| || <tt>apcupsd.events</tt> || 10 kB || USV
 +
|-
 +
| || <tt>aptitude</tt> || 6 Monate || Paketverwaltung (aptitude)
 +
|-
 +
| || <tt>auth.log</tt> || 4 Wochen || Anmeldungen am System (lokal, ssh, cron)
 +
|-
 +
| || <tt>btmp</tt> || unbekannt || Fehlgeschlagene Logins an der Systemkonsole
 +
|-
 +
| || <tt>daemon.log</tt> || 4 Wochen || Systemdienste (u. a. atftpd, dhcpd, iserv, named, ntpd, pptpd, smbd)
 +
|-
 +
| || <tt>debug</tt> || 4 Wochen || Kernel: Debug-Meldungen
 +
|-
 +
| || <tt>dmesg</tt> || 5 Neustarts || Kernel: Meldungen des letzten Boot-Vorgangs
 +
|-
 +
| || <tt>dpkg.log</tt> || 12 Monate || Paketverwaltung (dpkg)
 +
|-
 +
| || <tt>fail2ban.log</tt> || 4 Wochen || Firewall (fail2ban)
 +
|-
 +
| || <tt>faillog</tt> || unbekannt || Fehlgeschlagene Logins an der Systemkonsole
 +
|-
 +
| || <tt>fontconfig.log</tt> || unbekannt || Schrift-Cache
 +
|-
 +
| || <tt>iptables.log</tt> || 7 Tage || Firewall (iptables)
 +
|-
 +
| || <tt>iservbackup</tt> || unbegrenzt || Backup-Status
 +
|-
 +
| || <tt>kern.log</tt> || 4 Wochen || Kernel: Meldungen
 +
|-
 +
| || <tt>lastlog</tt> || unbekannt || Letze Logins an der Systemkonsole
 +
|-
 +
| || <tt>mail.*</tt> || 4 Wochen || Mailserver (Cyrus, Exim)
 +
|-
 +
| || <tt>messages</tt> || 4 Wochen || Systemdienste (iserv, kernel, sessauthd)
 +
|-
 +
| || <tt>monit.log</tt> || 4 Wochen || Monitoring der Systemdienste (monit)
 +
|-
 +
| || <tt>rkhunter.log</tt> || 7 Tage || Virenscanner (rkhunter)
 +
|-
 +
| || <tt>syslog</tt> || 7 Tage || Systemdienste (u. a. atftpd, cron, cyrus, dhcpd, iserv, kernel, named, sessauthd, smbd, spamd)
 +
|-
 +
| || <tt>user.log</tt> || 4 Wochen || Systemdienste (u. a. iserv, regdns, sessauthd)
 +
|-
 +
| || <tt>wtmp</tt> || unbekannt || Letze Logins an der Systemkonsole
 +
|-
 +
| <tt>/var/log/apache2</tt> || || || Webserver (apache2)
 +
|-
 +
| || <tt>access.log</tt> || 30 Tage || Zugriffe (IP-Adresse, Zeitstempel, Anfrage, Status-Code, Größe, Referrer, Browser)
 +
|-
 +
| || <tt>error.log</tt> || 30 Tage || Fehler (Zeitstempel, Schweregrad, IP, Meldung)
 +
|-
 +
| || <tt>other_vhosts_access.log</tt> || 30 Tage || Zugriffe auf andere Ports oder Hostnames
 +
|-
 +
| || <tt>ssl_request.log</tt> || 30 Tage || Zugriffe per SSL
 +
|-
 +
| <tt>/var/log/apt</tt> || || || Paketverwaltung (apt)
 +
|-
 +
| || <tt>history.log</tt> || 12 Monate || Aktivitätsprotokoll
 +
|-
 +
| || <tt>term.log</tt> || 12 Monate || Bildschirmausgabe
 +
|-
 +
| <tt>/var/log/clamav</tt> || || || Virenscanner (clamav)
 +
|-
 +
| || <tt>clamav.log</tt> || 12 Wochen || Mailscans
 +
|-
 +
| || <tt>freshclam.log</tt> || 12 Wochen || Updates
 +
|-
 +
| <tt>/var/log/cups</tt> || || || Drucksystem
 +
|-
 +
| || <tt>access_log</tt> || 7 Tage || Zugriffe
 +
|-
 +
| || <tt>error_log</tt> || 7 Tage || Fehler
 +
|-
 +
| || <tt>page_log</tt> || 7 Tage || Druckjobs
 +
|-
 +
| <tt>/var/log/deploy</tt> || || || Softwareverteilung
 +
|-
 +
| || <tt>auto_*.log</tt> || unbegrenzt || Automatische Updates von Windows-Clients
 +
|-
 +
| <tt>/var/log/etherpad-lite</tt> || || || Etherpad-Server
 +
|-
 +
| || <tt>etherpad-lite.log</tt> || 3 MB || Warnungen und Fehler
 +
|-
 +
| <tt>/var/log/exim4</tt> || || || Mailserver (exim4)
 +
|-
 +
| || <tt>mainlog</tt> || 10 Tage || Zugestellte E-Mails (Zeitstempel, Absender, Empfänger, IP-Adresse, Protokoll)
 +
|-
 +
| || <tt>paniclog</tt> || 10 Tage || Schwerwiegende Fehler (Zeitstempel, Meldung)
 +
|-
 +
| || <tt>rejectlog</tt> || 10 Tage || Abgewiesene E-Mails (Zeitstempel, Absender, IP-Adresse, Fehlermeldung)
 +
|-
 +
| <tt>/var/log/fsck</tt> || || || Dateisystemprüfungen
 +
|-
 +
| || <tt>check*</tt> || 1 Aufruf || Programmausgabe
 +
|-
 +
| <tt>/var/log/letsencrypt</tt> || || || Zertifikatserstellung (letsencrypt)
 +
|-
 +
| || <tt>letsencrypt.log</tt> || 10 Aufrufe || Programmausgabe
 +
|-
 +
| <tt>/var/log/iservupd</tt> || || || Systemupdate
 +
|-
 +
| || <tt>log</tt> || 30 Tage || Programmausgabe
 +
|-
 +
| <tt>/var/log/nginx</tt> || || || Proxy für Windows-Updates (nginx)
 +
|-
 +
| || <tt>cache.log</tt> || 52 Wochen || Cache-Nutzung
 +
|-
 +
| || <tt>error.log</tt> || 52 Wochen || Fehler
 +
|-
 +
| || <tt>ranger-default.log</tt> || 52 Wochen || Abfragen
 +
|-
 +
| <tt>/var/log/php</tt> || || || Weboberfläche IServ
 +
|-
 +
| || <tt>*</tt> || 30 Tage || Fehlerberichte (Zeitstempel, Speicherinhalt des Programms beim Abbruch)
 +
|-
 +
| <tt>/var/log/php/deploy</tt> || || || Softwareverteilung
 +
|-
 +
| || <tt>*.bootimage.log</tt> || 5 Jahre || Bootvorgang
 +
|-
 +
| || <tt>*.clientconnect.log</tt> || 10 Tage || Status-Update
 +
|-
 +
| || <tt>*.instlog.log</tt> || 3 Monate || Programminstallation
 +
|-
 +
| <tt>/var/log/php/web</tt> || || || Weboberfläche IServ 3
 +
|-
 +
| || <tt>dev.log</tt> || 30 Tage || Fehler (Testsystem)
 +
|-
 +
| || <tt>prod.log</tt> || 30 Tage || Fehler (Produktivsystem)
 +
|-
 +
| <tt>/var/log/postgresql</tt> || || || Datenbank-Server (postgresql)
 +
|-
 +
| || <tt>postgresql-*-main.log</tt> || 10 Wochen || Warnungen und Fehler
 +
|-
 +
| <tt>/var/log/proftpd</tt> || || || FTP-Server
 +
|-
 +
| || <tt>proftpd.log</tt> || 7 Wochen || Logins (Zeitstempel, IP-Adresse, Benutzer)
 +
|-
 +
| || <tt>sql.log</tt> || unbegrenzt || Datenbankzugriffe
 +
|-
 +
| || <tt>tls.log</tt> || unbegrenzt || Zugriffe per SSL
 +
|-
 +
| || <tt>write.log</tt> || 7 Tage || Schreibzugriffe (IP-Adresse, Benutzer, Zeitstempel, Datei, Status-Code, Größe)
 +
|-
 +
| || <tt>xferlog</tt> || 7 Monate || Datenübertragungen
 +
|-
 +
| <tt>/var/log/samba</tt> || || || Dateiserver für Windows (samba)
 +
|-
 +
| || <tt>log.nmbd</tt> || 7 Wochen || Dienst zur Namensauflösung
 +
|-
 +
| || <tt>log.smbd</tt> || 7 Wochen || Dienst für Dateiserver
 +
|-
 +
| || <tt>write.log</tt> || 7 Tage || Schreibzugriffe (Zeitstempel, Benutzer, IP-Adresse, Freigabe, Aktion, Dateiname)
 +
|-
 +
| <tt>/var/log/squid</tt> || || || Webproxy (squid)
 +
|-
 +
| || <tt>access.log</tt> || 7 Tage || Zugriffe (IP-Adresse, Zeitstempel, Anfrage, Status-Code, Größe, Referrer, Browser)
 +
|-
 +
| || <tt>cache.log</tt> || 7 Tage || Cacheverwaltung
 +
|-
 +
| || <tt>squidGuard.log</tt> || 7 Tage || Webfilter
 +
|-
 +
| || <tt>store.log</tt> || 7 Tage || Cacheverwaltung
 
|-
 
|-
| <tt>[STRG+Z]</tt> || <tt>bash</tt>: Schickt den Prozess, der momentan im Vordergrund ist, in den Hintergrund und stoppt ihn. Siehe auch: [[Kommandozeilenreferenz#Jobs]]
+
| || andere || 7 Tage || Zugriffe auf gesperrte Seiten
 
|-
 
|-
| <tt>[STRG+R]</tt> || <tt>bash</tt>: Öffnet einen speziellen Prompt, in dem die Befehlshistory durchsucht werden kann, um einen bereits ausgeführten Befehl erneut ausführen zu können. Für den jeweils nächsten Treffer noch einmal <tt>[STRG+R]</tt> drücken.
+
| <tt>/var/log/squidguard</tt> || || || Webfilter (squidguard)
 
|-
 
|-
| <tt>[~] [.]</tt> || <tt>ssh</tt>: Terminiert die Session.
+
| || <tt>squidGuard.log</tt> || 30 Tage || Webfilter
 
|-
 
|-
| <tt>[~] [STRG+Z] [STRG+Z]</tt> || <tt>ssh</tt>: Schickt die geöffnete SSH-Session in den Hintergrund und stoppt sie.
+
| <tt>/var/lib/iserv/chat</tt> || || || IServ Chat
 
|-
 
|-
| <tt>[STRG+V] [ESC] [c] [ENTER]</tt> || Setzt das Terminal zurück, wenn es z. B. durch Ausgabe von Binärdateien unleserlich geworden ist.
+
| || <tt>group/*</tt> || 90 Tage || Gruppenräume
 
|-
 
|-
 +
| || <tt>public/*</tt> || 90 Tage || Öffentliche Räume
 
|}
 
|}
  
 
=== Wichtige Dateien ===
 
=== Wichtige Dateien ===
 
{| class="wikitable"
 
{| class="wikitable"
! Dateiname !! Beschreibung
+
! Dateiname
 +
! Beschreibung
 +
|-
 +
| <tt>/etc/aliases</tt>
 +
| E-Mail-Adressverteiler, hier können Aliasnamen für verschiedene Benutzer angelegt werden. Nach dem Editieren muss der Befehl <tt>newaliases</tt> ausgeführt werden, um die Änderungen zu übernehmen.
 +
|-
 +
| <tt>/etc/bash.bashrc</tt>
 +
| Skript, das bei der Anmeldung eines Benutzers auf der Konsole ausgeführt wird. Nur von <tt>bash</tt> genutzt. <tt>bash</tt> liest bei der Anmeldung weiterhin die Dateien <tt>~/.bashrc</tt> und <tt>~/.bash_profile</tt> ein. ''Siehe auch: <tt>/etc/profile</tt>''.
 +
|-
 +
| <tt>/etc/crontab</tt>
 +
| Zeitplan des [[Steuern des cron-Daemons|cron-Daemons]].
 +
|-
 +
| <tt>/etc/dhcp3/dhcpd.conf</tt>
 +
| Konfigurationsdatei des [[DHCP-Server]]s.
 +
|-
 +
| <tt>/etc/fstab</tt>
 +
| Legt fest, welche Dateisystem in welche Mountpoints eingehängt werden.
 +
|-
 +
| <tt>/etc/group</tt>
 +
| Enthält eine Auflistung aller Gruppen und deren Mitglieder auf dem Server. In jeder Zeile steht eine Gruppe mit ihren jeweiligen Mitgliedern, daher ist die Datei gut mit <tt>cat</tt> und <tt>grep</tt> durchsuchbar.
 +
|-
 +
| <tt>/etc/gshadow</tt>
 +
| Äquivalent zur <tt>shadow</tt>-Datei (s.&nbsp;u.), jedoch für Gruppen.
 +
|-
 +
| <tt>/etc/iserv/</tt>
 +
| Enthält die zentralen Konfigurationsdateien von IServ.
 +
|-
 +
| <tt>/etc/network/interfaces</tt>
 +
| Konfiguration der Netzwerkschnittstellen von Debian.
 +
|-
 +
| <tt>/etc/passwd</tt>
 +
| Die Benutzerdatenbank von Linux; sie enthält den Benutzernamen, die UID und weitere Informationen aller [[Linux-Benutzer]]. Für alle Benutzer lesbar, nur für [[root]] schreibbar.
 +
|-
 +
| <tt>/etc/profile</tt>
 +
| Skript, das bei der Anmeldung eines Benutzers auf der Konsole ausgeführt wird. ''Siehe auch: <tt>/etc/bashrc</tt>''.
 +
|-
 +
| <tt>/etc/resolv.conf</tt>
 +
| Enthält rudimentäre Informationen über die Netzwerk-Namensauflösung; etwa, welcher Server der Nameserver ist. Diese Datei wird allerdings vom <tt>resolvconf</tt>-{{WP|Daemon}} automatisch aktualisiert, der Inhalt wird aus den Dateien in <tt>/etc/resolvconf/resolv.conf.d/</tt> und den Skripten in <tt>/etc/resolvconf/update.d/</tt> zusammengestellt. Eigene Änderungen an <tt>/etc/resolv.conf</tt> direkt werden also überschrieben!
 +
|-
 +
| <tt>/etc/samba/netlogon</tt>
 +
| [[Netlogon]]-Ordner; als <tt>\\iserv\netlogon</tt> [[Share|freigegeben]] (IServ-spezifisch).
 +
|-
 +
| <tt>/etc/samba/smbpasswd</tt>
 +
| Äquivalent zur <tt>shadow</tt>-Datei (s.&nbsp;u.), jedoch für Samba-Benutzerkonten.
 +
|-
 +
| <tt>/etc/shadow</tt>
 +
| Die Passwortdatenbank von Linux; sie enthält die {{WP|Hash|gehashten}} Passwörter aller [[Linux-Benutzer]]. Nur für [[root]] lesbar und schreibbar.
 
|-
 
|-
| <tt>/var/lib/dhcp/dhcpd.leases</tt> || Enthält eine Auflistung aller DHCP-Leases, die der Server vergeben hat.
+
| <tt>/proc/cpuinfo</tt>
 +
| Enthält Informationen über die CPU. Nur lesbar.
 
|-
 
|-
| <tt>/proc/filesystems</tt> || Enthält eine Auflistung aller Dateisysteme, die unterstützt werden.
+
| <tt>/proc/filesystems</tt>
 +
| Enthält eine Auflistung aller Dateisysteme, die unterstützt werden. Nur lesbar.
 
|-
 
|-
| <tt>/proc/cpuinfo</tt> || Enthält Informationen über die CPU.
+
| <tt>/proc/mdstat</tt>
 +
| Enthält Statusinformationen des Software-RAID-Treibers. Nur lesbar.
 
|-
 
|-
| <tt>/proc/pci</tt> || Enthält Informationen zu allen Geräten, die am PCI-Bus des Computers angeschlossen sind.
+
| <tt>/proc/pci</tt>
 +
| Enthält Informationen zu allen Geräten, die am PCI-Bus des Computers angeschlossen sind. Nur lesbar.
 
|-
 
|-
| <tt>/etc/group</tt> || Enthält eine Auflistung aller Gruppen und deren Mitglieder auf dem Server. In jeder Zeile steht eine Gruppe mit ihren jeweiligen Mitgliedern, daher ist die Datei gut mit <tt>cat</tt> und <tt>grep</tt> durchsuchbar.
+
| <tt>/usr/share/iserv/</tt>
 +
| Enthält wichtige statische (Dateien, die sich ohne manuellen Eingriff oder ein Update nicht ändern) IServ-Dateien, unter anderem den gesamten [[IDesk]].
 
|-
 
|-
 +
| <tt>/var/lib/dhcp/dhcpd.leases</tt>
 +
| Enthält eine Auflistung aller DHCP-Leases, die der Server vergeben hat.
 
|}
 
|}
  
Zeile 465: Zeile 1.315:
 
! Zeichen !! Syntax !! Beschreibung !! Beispiel
 
! Zeichen !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>;</tt> || <tt>''Befehl1''; ''Befehl2''</tt> || Führt mehrere Befehle in der angegebenen Reihenfolge aus. || <tt>iservcfg; iservchk</tt>
+
| <tt>;</tt> || <tt>''Befehl1'';&nbsp;''Befehl2''</tt> || Führt mehrere Befehle in der angegebenen Reihenfolge aus. || <tt>iservcfg;&nbsp;iservchk</tt>
 
|-
 
|-
| <tt>&&</tt> || <tt>''Befehl1'' && ''Befehl2''</tt> || Führt ''Befehl1'' aus. Gibt dieser Befehl einen Erfolgscode zurück (<nowiki>$? = 0</nowiki>), dann wird ''Befehl2'' ebenfalls ausgeführt. Auf diese Art und Weise können beliebig viele Befehle verkettet werden. || <tt>iservchk && shutdown -r now</tt>
+
| <tt>&&</tt> || <tt>''Befehl1''&nbsp;&&&nbsp;''Befehl2''</tt> || Führt ''Befehl1'' aus. Gibt dieser Befehl einen Erfolgscode zurück (<nowiki>$? = 0</nowiki>), dann wird ''Befehl2'' ebenfalls ausgeführt. Auf diese Art und Weise können beliebig viele Befehle verkettet werden. || <tt>iservchk&nbsp;&&&nbsp;shutdown -r now</tt>
 
|-
 
|-
| <tt><nowiki> ||  || </nowiki></tt> || <tt>''Befehl1'' <nowiki> ||  || </nowiki> ''Befehl2''</tt> || Führt ''Befehl1'' aus. Gibt dieser Befehl einen Fehlercode zurück (<nowiki>$? != 0</nowiki>), dann wird ''Befehl2'' ebenfalls ausgeführt. Auf diese Art und Weise können beliebig viele Befehle verkettet werden. || <tt>iservchk <nowiki> ||  || </nowiki> shutdown -r now</tt>
+
| <tt><nowiki>||</nowiki></tt> || <tt>''Befehl1''&nbsp;<nowiki>||</nowiki>&nbsp;''Befehl2''</tt> || Führt ''Befehl1'' aus. Gibt dieser Befehl einen Fehlercode zurück (<nowiki>$? != 0</nowiki>), dann wird ''Befehl2'' ebenfalls ausgeführt. Auf diese Art und Weise können beliebig viele Befehle verkettet werden. || <tt>iservchk&nbsp;<nowiki>||</nowiki>&nbsp;shutdown&nbsp;-r&nbsp;now</tt>
 
|-
 
|-
| <tt><nowiki>|</nowiki></tt> || <tt>''Befehl1'' <nowiki>|</nowiki> ''Befehl2''</tt> || Leitet die <tt>stdout</tt>-Ausgaben von ''Befehl1'' in den <tt>stdin</tt>-Kanal von ''Befehl2''. || <tt>export <nowiki>|</nowiki> grep PATH=</tt>
+
| <tt><nowiki>|</nowiki></tt> || <tt>''Befehl1''&nbsp;<nowiki>|</nowiki>&nbsp;''Befehl2''</tt> || Leitet die <tt>stdout</tt>-Ausgaben von ''Befehl1'' in den <tt>stdin</tt>-Kanal von ''Befehl2''. || <tt>export&nbsp;<nowiki>|</nowiki>&nbsp;grep&nbsp;PATH=</tt>
 
|-
 
|-
| <tt>></tt> <br/> <tt>1></tt> || <tt>''Befehl'' > ''Datei''</tt> || Leitet die <tt>stdout</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, wird sie überschrieben. || <tt>grep ^root /etc/passwd > ./datei.log</tt>
+
| <tt>></tt> <br/> <tt>1></tt> || <tt>''Befehl''&nbsp;>&nbsp;''Datei''</tt> || Leitet die <tt>stdout</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, wird sie überschrieben. || <tt>grep&nbsp;^root&nbsp;/etc/passwd&nbsp;>&nbsp;./datei.log</tt>
 
|-
 
|-
| <tt>2></tt> || <tt>''Befehl'' 2> ''Datei''</tt> || Leitet die <tt>stderr</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, wird sie überschrieben. || &nbsp;
+
| <tt>2></tt> || <tt>''Befehl''&nbsp;2>&nbsp;''Datei''</tt> || Leitet die <tt>stderr</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, wird sie überschrieben. || &nbsp;
 
|-
 
|-
| <tt><nowiki>>></nowiki></tt> || <tt>''Befehl'' <nowiki>>></nowiki> ''Datei''</tt> || Leitet die <tt>stdout</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, werden die Ausgaben an das Ende angehängt. || &nbsp;
+
| <tt><nowiki>>></nowiki></tt> || <tt>''Befehl''&nbsp;<nowiki>>></nowiki>&nbsp;''Datei''</tt> || Leitet die <tt>stdout</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, werden die Ausgaben an das Ende angehängt. || &nbsp;
 
|-
 
|-
| <tt><nowiki>2>></nowiki></tt> || <tt>''Befehl'' <nowiki>2>></nowiki> ''Datei''</tt> || Leitet die <tt>stderr</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, werden die Ausgaben an das Ende angehängt. || &nbsp;
+
| <tt><nowiki>2>></nowiki></tt> || <tt>''Befehl''&nbsp;<nowiki>2>></nowiki>&nbsp;''Datei''</tt> || Leitet die <tt>stderr</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, werden die Ausgaben an das Ende angehängt. || &nbsp;
 
|-
 
|-
| <tt>&></tt> <br/> <tt>>&</tt> || <tt>''Befehl'' &> ''Datei''</tt> || Leitet die <tt>stdout</tt>-Ausgaben und die <tt>stderr</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, wird sie überschrieben. || <tt>iservchk &> iservchk.log</tt>
+
| <tt>&></tt> <br/> <tt>>&</tt> || <tt>''Befehl''&nbsp;&>&nbsp;''Datei''</tt> || Leitet die <tt>stdout</tt>-Ausgaben und die <tt>stderr</tt>-Ausgaben des ''Befehls'' in eine ''Datei'' um. Existiert die Datei bereits, wird sie überschrieben. || <tt>iservchk&nbsp;&>&nbsp;iservchk.log</tt>
 
|-
 
|-
| <tt><</tt> || <tt>''Befehl'' < ''Datei''</tt> || Leitet den Inhalt der ''Datei'' in den <tt>stdin</tt>-Kanal des ''Befehls''. || &nbsp;
+
| <tt><</tt> || <tt>''Befehl''&nbsp;<&nbsp;''Datei''</tt> || Leitet den Inhalt der ''Datei'' in den <tt>stdin</tt>-Kanal des ''Befehls''. Es liegt am jeweiligen Befehl, ob dies unterstützt wird. || &nbsp;
 
|-
 
|-
 
|}
 
|}
Zeile 489: Zeile 1.339:
 
Weitere Informationen zur Umleitung von Datenströmen finden sich im [http://www.thomashertweck.de/redir.html Tutorial von Thomas Hertweck].
 
Weitere Informationen zur Umleitung von Datenströmen finden sich im [http://www.thomashertweck.de/redir.html Tutorial von Thomas Hertweck].
  
<br/>
+
{{Fußnoten}}
----
 
<references/>
 
  
 
[[Kategorie:Spickzettel]]
 
[[Kategorie:Spickzettel]]

Aktuelle Version vom 7. November 2017, 21:46 Uhr

Hilfe

Befehl Syntax Beschreibung Beispiel
man man Befehl Zeigt[1] die Dokumentation (Manual) zum dem Befehl Befehl an; das Manual enthält jedoch auch Dokumentation zur Linux-API, Perl-Funktionen etc. man ls
man -k Stichwort[2]
Durchsucht den Index der Hilfeseiten nach dem Stichwort Stichwort. Sehr nützlich, wenn man den Befehl für eine bestimmte Tätigkeit sucht. man -k apt
whatis whatis Stichwort Dieselbe Funktion wie man -k Stichwort; findet jedoch nur Zeilen, in denen Stichwort als ganzes Wort vorkommt. whatis apt
info info Befehl Zeigt das TexInfo-Manual zu dem Befehl Befehl an; im Gegensatz zu man-Hilfeseiten können diese Dokumente Hyperlinks enthalten. Beendet wird info mit der Taste q. info ls
Befehl --help
Befehl -h
Befehl help
Zeigt einen Hilfetext an, der im Programm selbst gespeichert ist. Diese Dokumentation ist von man, less und Manualdateien etc. völlig unabhängig; ob sie jedoch überhaupt vorhanden ist und wie sie aufgerufen wird, hängt von dem jeweiligen Programm ab. ls --help

Dateisystem

Navigation

Befehl Syntax Beschreibung Beispiel
cd cd / Wechselt in das Wurzelverzeichnis.  
cd ..[3] Wechselt eine Verzeichnisebene höher.  
cd - Wechselt in das vorherige Verzeichnis[4] (vergleichbar mit dem Zurück-Button im Browser).  
cd ~ Wechselt in das Icon Wikipedia De.gifBenutzerverzeichnis des aktuellen Benutzers.  
cd Verzeichnis Wechselt in das angegebene Verzeichnis. cd /tmp
ls ls Gibt den Inhalt des aktuellen Verzeichnisses aus.  
ls Suchausdruck Gibt alle Einträge des aktuellen Verzeichnisses aus, auf die der Suchausdruck zutrifft. ls *.txt
ls Verzeichnis Gibt den Inhalt des angegebenen Verzeichnisses aus. ls /usr/share/iserv
ls -d Verzeichnis Gibt den nicht den Inhalt des angegebenen Verzeichnisses aus, sondern listet den Verzeichniseintrag im aktuellen Verzeichnis auf. ls -d /usr/share/iserv/*
ls -l Eine dir-ähnliche Listenansicht benutzen.  
ls -A Auch versteckte Dateien anzeigen.  
ls --color=auto Zeigt die Auflistung mit hilfreichen farblichen Hervorhebungen an.  
pwd pwd Gibt den vollständigen Pfad des aktuellen Verzeichnisses aus.  
du du -sh Verzeichnis Gibt die Größe des angegebenen Verzeichnisses inklusive der Unterverzeichnisse aus. du -sh .
du -sh Verzeichnis/* Gibt die Größe aller Unterverzeichnisse des angegebenen Verzeichnisses aus.
df df -h Gibt den insgesamten und den verfügbaren Speicherplatz von allen gemounteten Laufwerken aus.  
df -h Laufwerk Gibt den insgesamten und den verfügbaren Speicherplatz von dem gemounteten Laufwerk aus. df -h /dev/hda1
lsof lsof Zeigt alle geöffneten Dateien an. lsof | grep /mnt
lsof -c Programm Zeigt alle von Programm geöffneten Dateien an. lsof -c rsync

Manipulation

Information Objekte im Dateisystem können nur manipuliert werden, wenn der angemeldete Benutzer die benötigten Rechte auf das Quell- bzw. Zielobjekt besitzt.
Befehl Syntax Beschreibung Beispiel
cp cp Quelle Ziel Kopiert die Quell-Datei in die Ziel-Datei oder den Ziel-Ordner. cp 123.txt /tmp
cp -a Quelle Ziel Kopiert die Datei bzw. den Ordner Quelle nach Ziel unter Beibehaltung sämtlicher Dateiattribute wie Änderungszeitpunkt, Besitzer, Gruppe und Rechte. cp -a /etc /backup/etc
mv mv Quelle Ziel Verschiebt die Quell-Datei in die Ziel-Datei oder den Ziel-Ordner.
Oder: Verschiebt den Quell-Ordner in den Ziel-Ordner.
mv 123.txt /tmp
mv AlterName NeuerName Benennt die Datei oder den Ordner AlterName zu NeuerName um. mv 123.txt 456.txt
rm rm Datei1 [Datei2] [...] Löscht ein oder mehrere Dateien. rm /tmp/123.txt /tmp/234.txt
rm -rf[5] Verzeichnis Löscht das gesamte angegebene Verzeichnis - auch dann, wenn es nicht leer ist. rm -rf /tmp/
ln ln -s Ziel Datei Erstellt einen symbolischen Link auf Ziel unter dem Dateinamen Datei. ln -s /sbin/reboot /sbin/neustart
ln Ziel Datei Erstellt einen Hardlink auf Ziel unter dem Dateinamen Datei. Sollte normalerweise nicht verwendet werden.
mkdir mkdir Verzeichnis Erstellt das angegebene Verzeichnis. mkdir /home/test
rmdir rmdir Verzeichnis Löscht das angegebene Verzeichnis - aber nur, wenn es leer ist. rmdir /home/test
touch touch Datei Erzeugt eine leere Datei.
Oder: Ändert Erstellungs- und Zugriffszeit der vorhandenen Datei.
touch 123.txt
chmod chmod Rechte Name Setzt die angegebenen Rechte auf die Datei oder den Ordner Name. chmod 0700 test.txt
chown chown Benutzer Name Legt den angegebenen Benutzer als Besitzer der Datei/des Ordners Name fest. chown martin test.txt
chown Benutzer:Gruppe Name Legt den angegebenen Benutzer als Besitzer und die angegebene Gruppe als Besitzergruppe der Datei/des Ordners Name fest. chown martin:admins test.txt
gzip gzip Datei Komprimiert Datei und benennt sie nach Datei.gz um. gzip messages
gunzip gunzip Datei.gz Entkomprimiert Datei.gz und benennt sie nach Datei um. gunzip messages.1.gz
bzip2 bzip2 Datei Komprimiert Datei und benennt sie nach Datei.bz2 um. Der bzip2-Algorithmus erzeugt normalerweise kleinere Ausgabedateien als gzip, ist jedoch deutlich langsamer. bzip2 messages
bunzip2 bunzip2 Datei.bz2 Entkomprimiert Datei.bz2 und benennt sie nach Datei um. bunzip2 messages.1.bz2

Dateiverarbeitung

Die meisten dieser Befehle lassen sich sowohl auf Dateien als auch auf Datenströme anwenden.

Befehl Syntax Beschreibung Beispiel
cat cat Datei Gibt den Inhalt einer Datei aus. cat 123.txt
Datenstrom | cat Gibt den Inhalt des Datenstromes aus.
cat -n Gibt die Daten mit Zeilennummern aus.
zcat zcat Datei Wie cat für gzip komprimierte Dateien. zcat 123.txt.gz
less less Datei Zeigt den Inhalt einer Datei seitenweise an[6]. less 123.txt
Datenstrom | less Zeigt den Datenstrom seitenweise an. ls -lA | less
zless zless Datei Wie less für gzip komprimierte Dateien. zless 123.txt.gz
grep grep Zeichenkette Datei Durchsucht die Datei nach Zeilen, die die Zeichenkette enthalten. grep "httpd" /var/log/messages
grep Zeichenkette Verzeichnis/* Durchsucht alle Dateien in der ersten Ebene des Verzeichnisses nach Zeilen, die die Zeichenkette enthalten.
grep -r Zeichenkette Verzeichnis Durchsucht alle Dateien in Verzeichnis und dessen Unterverzeichnissen nach Zeilen, die die Zeichenkette enthalten.
Datenstrom | grep Zeichenkette Durchsucht den Datenstrom nach Zeilen, die die Zeichenkette enthalten. cat /var/log/messages | grep httpd
grep -v Zeichenkette Sucht nach Zeilen, die die Zeichenkette nicht enthalten.  
grep -i Zeichenkette Sucht nach Zeilen, die die Zeichenkette enthalten; die Groß- und Kleinschreibung wird ignoriert.  
grep ^Zeichenkette Sucht nach Zeilen, die mit der Zeichenkette beginnen.  
grep Zeichenkette$ Sucht nach Zeilen, die mit der Zeichenkette enden.  
zgrep zgrep Zeichenkette Datei Wie grep für gzip komprimierte Dateien. zgrep "httpd" /var/log/messages.1.gz
sed sed -s "s/von/nach/g" Datei Datei ausgeben und dabei die Zeichenkette von durch nach ersetzen. Die Zeichenkette von wird als regulärer Ausdruck angegeben. sed -s "s/alt/neu/g" text.cfg
sed -is "s/von/nach/g" Datei In Datei die Zeichenkette von durch nach ersetzen. sed -is "s/alt/neu/g" text.cfg
wc wc Datei Zählt die Anzahl der Zeichen, Wörter und Zeilen in Datei
cut cut Datei Schneidet einzelne Spalten aus Texttabellen. cut -d: -f1 /etc/passwd
tr Datenstrom | tr von nach Ersetzt in Datenstrom die Zeichen von durch nach. ll | tr a-z A-Z
sort sort Datei Sortiert die Zeilen einer Datei alphabetisch und gibt sie auf stdout aus. Die Datei wird dabei natürlich nicht verändert.  
Datenstrom | sort Sortiert die Zeilen eines Datenstroms alphabetisch und gibt sie auf stdout aus. cat Wörterliste.txt | sort
sort -r Sortiert die Zeilen eines Datenstroms umgekehrt alphabetisch.  
sort -n Numerisch sortieren.
tee Datenstrom | tee Datei Speichert einen Datenstrom in einer Datei und gibt ihn gleichzeitig auf stdout aus. iservchk | tee iservchk.log
uniq Datenstrom | uniq Entfernt identische Zeilen aus einem Datenstrom, so dass nur jeweils eine Zeile über bleibt. cat Wörterliste.txt | uniq
uniq -c Zählt, wie oft eine Zeile nacheinander vorkommt. cat Wörterliste.txt | sort | uniq -c | sort -n
diff diff Datei1 Datei2 Zeigt zeilenweise die Unterschiede zwischen Datei1 und Datei2 an. diff datei.alt datei.neu
diff -u Datei1 Datei2 Zeigt zeilenweise die Unterschiede zwischen Datei1 und Datei2 im "Unified Diff"-Format an. diff datei.alt datei.neu
diff -r Verzeichnis1 Verzeichnis2 Zeigt zeilenweise die Unterschiede zwischen Verzeichnis1 und Verzeichnis2 an. diff -r /home /backup/home
vimdiff vimdiff Datei1 Datei2 Zeigt die Unterschiede zwischen Datei1 und Datei2 in einer übersichtlichen grafischen Oberfläche an.
wdiff wdiff Datei1 Datei2 Zeigt wortweise die Unterschiede zwischen Datei1 und Datei2 an. wdiff datei.alt datei.neu
file file Datei Dateityp von Datei an Hand des Inhalts erraten. file /bin/bash
file -s Gerät Datenstruktur von Gerät an Hand des Inhalts erraten. file -s /dev/sda
strings strings Datei Lesbaren Text aus Binärdatei Datei extrahieren. strings /bin/bash
xxd xxd Datei Inhalt von Datei hexadezimal ausgeben. xxd /bin/bash
head head Datei Gibt die ersten zehn Zeilen der Datei aus. head /var/log/messages
head -n Zeilen Datei Gibt die angegebene Anzahl Zeilen vom Anfang der Datei aus. head -n 5 /var/log/messages
head -c Bytes Datei Gibt die angegebene Anzahl Bytes vom Anfang der Datei aus. head -c 20 /var/log/messages
tail tail Datei Gibt die letzten zehn Zeilen der Datei aus. tail /var/log/messages
tail -n Zeilen Datei Gibt die angegebene Anzahl Zeilen vom Ende der Datei aus. tail -n 5 /var/log/messages
tail -c Bytes Datei Gibt die angegebene Anzahl Bytes vom Ende der Datei aus. tail -c 20 /var/log/messages
tail -f Datei Gibt fortlaufend neu hinzukommende Zeilen der Datei aus. Sehr vorteilhaft bei Diagnosen. tail -f /var/log/messages
tac Wie cat, gibt die Zeilen jedoch in umgekehrter Reihenfolge aus. Der n-Parameter von cat wird nicht unterstützt, stattdessen kann man die Ausgabe von tac einfach durch cat -n pipen:

tac Dateiname | cat -n

rev Gibt die Zeichen innerhalb einer Zeile rückwärts aus.
md5sum md5sum Datei Berechnet die MD5-Checksumme von Datei. md5sum /bin/bash > MD5
md5sum -c Liste Prüft die MD5-Checksummen aus Liste. md5sum -c MD5

Editoren

Information Um Systemdateien zu ändern, werden root-Rechte benötigt.
Editor Syntax Beschreibung
mcedit mcedit Datei Öffnet die Datei zum Bearbeiten im Editor von mc. mcedit entspricht vor allem bei der Bedienung fast vollständig den Standardeditoren von Windows und ist daher mit Abstand der benutzerfreundlichste und einfachste Editor.
vim vim Datei Öffnet die Datei zum Bearbeiten im Editor vim. vim ist quasi der Standardeditor von Linux und daher eigentlich bei fast allen Distributionen vorhanden. Eigentlich ist vim nur eine erweiterte Version von vi; vim ist die Abkürzung für vi improved.
vi vi Datei Öffnet die Datei zum Bearbeiten im Editor vi. vi gehört zum POSIX-Standard und ist daher auf jeder Linux-Distribution zu finden. Bei Distributionen, die vim enthalten, ist vi ein Alias auf vim.

Archivierung

Befehl Syntax Beschreibung Beispiel
tar tar -xzf[7] Datei Entpackt eine Tar-Datei mit gzip-Komprimierung (Erweiterung .tar.gz). tar -xzf project.tar.gz
tar -xjf[8] Datei Entpackt eine Tar-Datei mit bzip2-Komprimierung (Erweiterung .tar.bz2). tar -xjf project.tar.bz2

Suchen

Befehl Syntax Beschreibung Beispiel
locate locate Datei Sucht eine Datei mithilfe der Index-Datenbank[9]; Dateien, die man aufgrund mangelnder Berechtigungen nicht lesen darf, werden ausgeblendet. Solche Suchen gehen sehr schnell; die Datenbank wird jedoch nur nächtlich aktualisiert. locate dhcpd.leases
find find Verzeichnis -name Datei Sucht die Datei Datei in dem Verzeichnis Verzeichnis. find . -name 123.txt
whereis whereis Programm Sucht nach dem Programm Programm; berücksichtigt werden nur ganz bestimmte, in whereis festgelegte Suchpfade. whereis iservchk
which which Datei Sucht nach dem Programm Programm; als Suchpfad wird die $PATH-Variable verwendet. which iservchk
updatedb updatedb Führt eine manuelle Aktualisierung der locate-Datenbank durch. updatedb &

Dateisysteme

Information Standardmäßig dürfen Dateisysteme nur vom root-Benutzer ein- und ausgehängt werden, ebenso darf auch nur der root-Benutzer Dateisysteme überprüfen.
Befehl Syntax Beschreibung Beispiel
mount mount Gibt eine Liste aller gemounteten Dateisysteme aus.
mount Quelle Ziel Mountet Quelle nach Ziel. mount /dev/hda1 /mnt
mount -r Quelle Ziel Mountet schreibgeschützt. mount /dev/sdb1 /mnt/dest
mount -o loop Datei Ziel Mountet Image eines Dateisystems (z. B. ISO-Datei). mount -o loop /root/debian.iso /mnt
mount -t smbfs -o username=Benutzer Quelle Ziel Mountet die Windows-Freigabe Quelle mit dem Benutzer Benutzer. Quelle hat das Format //Server/Freigabe. mount -t smbfs -o username=test.user //iserv/home /mnt
sshfs sshfs Quelle Ziel Mountet ein Verzeichnis von einem anderen Linux-Rechner. Auf dem Server muss nur ein ssh-Server ohne besondere Einstellungen laufen. Quelle hat das Format Server:Pfad. sshfs 192.168.0.2:/root/ /mnt/
umount umount Laufwerk Unmountet ein gemountetes Laufwerk. umount /dev/fd0
umount Mount-Point Unmountet ein gemountetes Laufwerk anhand des Mount-Points. umount /mnt/floppy
mkfs Formatiert einen Datenträger. Ich kann es hier nur schlecht testen und muss daher auf die Manpage verweisen.
fsck fsck Laufwerk Überprüft das Laufwerk auf Fehler. Das Laufwerk sollte dabei nicht gemountet sein. fsck /dev/hdc1

Systemverwaltung

Information Die Vielzahl der Befehle in diesem Abschnitt können nur vom Systemvewalter root ausgeführt werden.

IServ

Hinweis: Die Befehle zur IServ-Benutzerverwaltung finden sich im Abschnitt Benutzerverwaltung.
Befehl Syntax Beschreibung Beispiel
iservcfg iservcfg Ruft das Konfigurationsmenü von IServ auf.  
iservchk iservchk Führt eine Systemdiagnose durch. Fehler werden, soweit möglich, vollautomatisch behoben.  
iservchk -v Gibt detaillierte Informationen aus, was gerade überprüft wird. Nützlich, wenn iservchk sich aufhängt.  
iconf iconf Befehl Datei iconf ist ein Tool von IServ, mit dem die Integrität von Systemdateien sichergestellt wird. iconf save /etc/nat
chkact chkact Konsistenz der Benutzerdatenbanken prüfen. Eine automatische Reparatur ist nicht möglich.  
chkhomes chkhomes Dateirechte aller Home- und Gruppenverzeichnisse reparieren.  
  chkhomes Account Dateirechte des angegebenen Accounts reparieren. chkhomes test.user
chkload chkload Aktuell laufende Prozesse anzeigen.  
chklan chklan Rechner im lokalen Netzwerk anpingen.  
chkinet chkinet Internetverbindung auf IP-Ebene testen (ohne DNS).  
chkmbox chkmbox Mailbox Index-Strukturen der angegebenen Mailordner reparieren. chkmbox user/test.user
chkmboxacl chkmboxacl Rechte aller Mailordner reparieren.  
genmboxdb genmboxdb Datenbank aller Mailordner neu generieren.  
chkdeploy chkdeploy Abgleichen der Softwarepakete mit der Datenbank.  
cronsim cronsim Datei Das angegebene Skript wird mit den gleichen Umgebungsvariablen aufgerufen, wie sie in Cron gesetzt sind. cronsim /etc/cron.daily/test
myip myip Öffentliche IP des Servers anzeigen.  

Prozessmanagement

Befehl Syntax Beschreibung Beispiel
kill kill PID Beendet den Prozess mit der ID PID. Nur der Benutzer, der den Prozess gestartet habt, kann ihn auch beenden (Ausnahme: root kann alle Prozesse beenden). kill 1067
kill -SIG PID Sendet an den Prozess mit der ID PID das Signal SIG. Wenn das Signal 9 gesendet wird, wird der Prozess zwangsweise beendet (wenn er sich z. B. aufgehängt hat) kill -9  1067
killall killall Prozessname Beendet alle Prozesse mit dem Prozessnamen Prozessname. Nur der Benutzer, der den Prozess gestartet habt, kann ihn auch beenden (Ausnahme: root kann alle Prozesse beenden). killall firefox
killall -SIG Prozessname Sendet das Signal SIG an alle Prozesse mit dem Prozessnamen Prozessname. killall -9 firefox
top top Zeigt die Prozesse mit der höchsten CPU-Auslastung an.  
ps ps Gibt Informationen über die Prozesse aus, die dem angemeldeten Benutzer gehören.  
ps -A Gibt Informationen über alle laufenden Prozesse aus.  
ps fax Gibt Informationen über alle laufenden Prozesse hierarchisch strukturiert aus.  

Herunterfahren & Neu starten

Befehl/Tastenkombination Beschreibung
logout Beendet die aktuelle Sitzung auf der aktuellen Konsole und meldet den Benutzer ab.
exit
shutdown -h now Fährt den Computer herunter.
init 0 (nicht empfohlen[10])
shutdown -r now Fährt den Computer herunter und startet ihn neu.
init 6 (nicht empfohlen[10])
halt -f Hält den Computer an, ohne ihn vorher herunterzufahren.
reboot -f Startet den Computer neu, ohne ihn vorher herunterzufahren.
[STRG+ALT+ENTF] Fährt den Computer herunter und startet ihn neu. Für die Eingabe dieser Tastenkombination ist kein Login nötig; daher werden logischerweise auch keine root-Rechte benötigt. Berechtigt ist jeder, der physikalischen Zugang zum Server hat.

Benutzerverwaltung

Befehl Syntax Beschreibung Beispiel
id id Gibt Informationen zum eigenen Account (Accountname, UID, GID) und zu den eigenen Gruppenmitgliedschaften aus.  
whoami whoami Gibt den eigenen Benutzernamen aus.  
w w Gibt eine tabellarische Liste aller Benutzer aus, die momentan lokal oder über SSH am Server angemeldet sind. Zusätzlich werden Konsole, Uhrzeit der Anmeldung und ggf. der Remotehost angegeben.  
users users Gibt eine Liste aller Benutzer aus, die momentan lokal oder über SSH am Server angemeldet sind. Die einzelnen Benutzernamen sind durch Leerzeichen getrennt, es werden keine weiteren Informationen ausgegeben. Die Ausgabe von users eignet sich damit hervorragend für Scripts.  
groups groups Gibt eine Liste der Gruppen aus, in denen der aktuell angemeldete Benutzer Mitglied ist.  
groups Benutzername Gibt eine Liste der Gruppen aus, in denen der Benutzer Mitglied ist. groups vorname.nachname
groupadd groupadd Gruppe Erzeugt die Linux-Gruppe Gruppe. Stattdessen sollte der Befehl iservgroupadd verwendet werden.  
groupdel groupdel Gruppe Löscht die Linux-Gruppe Gruppe. Stattdessen sollte der Befehl iservgroupdel verwendet werden.  
useradd useradd -m Benutzer Erzeugt den Linux-Benutzer Benutzer und legt ein Homeverzeichnis für diesen Benutzer an. Stattdessen sollte der Befehl iservuseradd verwendet werden.  
userdel userdel -r Benutzer Löscht den Linux-Benutzer Benutzer und dessen Homeverzeichnis. Stattdessen sollte der Befehl iservuserdel verwendet werden.  
passwd passwd Ändert das Passwort des momentan angemeldeten Benutzers, im Normalfall das root-Passwort.  
passwd Benutzer Ändert das Passwort des Benutzers Benutzer. Erfordert root-Rechte. Stattdessen sollte der Befehl iservpasswd verwendet werden.  
iservgroupadd iservgroupadd Gruppe Erzeugt die IServ-Gruppe Gruppe. iservgroupadd "Test Gruppe"
iservgroupdel iservgroupdel Gruppe Löscht die IServ-Gruppe Gruppe. iservgroupdel test.gruppe
iservuseradd iservuseradd Benutzer Erzeugt den IServ-Benutzer Benutzer[11]. iservuseradd "Test Benutzer"
iservuserdel iservuserdel Benutzer Löscht den IServ-Benutzer Benutzer[12]. iservuserdel test.benutzer
iservpasswd iservpasswd Benutzer Ändert das Passwort des Benutzers Benutzer. iservpasswd test.benutzer
iservmembers iservmembers -a Benutzer Gruppe Benutzer einer Gruppe hinzufügen. iservmember -a test.benutzer testgruppe
iservmembers iservmembers -d Benutzer Gruppe Benutzer aus einer Gruppe entfernen. iservmember -d test.benutzer testgruppe

Anwendungsverwaltung

Paketmanagement

Befehl Syntax Beschreibung Beispiel
aptitude aptitude update Aktualisiert die lokale Paketdatenbank. Muss nach Änderungen an der Liste der Paketquellen (/etc/apt/sources.list*) ausgeführt werden. aptitude update
aptitude dist-upgrade Führt ein Systemupdate durch. Dabei werden auch IServ-Pakete aktualisiert. aptitude dist-upgrade
aptitude install Paket Installiert ein Paket. aptitude install mysql
aptitude remove Paket Deinstalliert ein Paket. aptitude remove mysql
aptitude purge Paket Deinstalliert ein Paket inklusive aller Daten- und Konfigurationsdateien. aptitude purge mysql
aptitude search Stichwort Durchsucht die Paketdatenbank nach Paketen, die Stichwort im Namen oder der Beschreibung enthalten. aptitude search iserv
aptitude search ~i Zeigt eine Liste aller installierten Pakete an. Ein großes A vor dem Paketnamen gibt an, dass das Paket automatisch installiert wurde, um Abhängigkeiten anderer Pakete zu erfüllen. Falls diese wieder deinstalliert werden, wird es automatisch mit entfernt.
dpkg dpkg -l Zeigt eine Liste aller aktuell oder vormals installierten Pakete mit Versionsnummern an.
dpkg -L Paket Listet alle Dateien auf, die Paket enthält. dpkg -L bash
dpkg -S Datei Zeigt an, in welchem Paket Datei enthalten ist. dpkg -S /bin/bash
debsums debsums -s Prüft alle installierten Pakete auf fehlerhafte bzw. veränderte Dateien.

Suchmaschine für Debian-Pakete: http://packages.debian.org

Kompilieren

Falls möglich sollte zusätzliche Software immer über Debian-Pakete installiert werden. Selbst kompilierte Programme stellen ein Sicherheitsrisiko dar, da Sicherheitsupdates nicht automatisch installiert werden können. Außerdem ist eine saubere Deinstallation nicht in jedem Fall möglich.

Alle Befehle dieses Abschnittes müssen im Verzeichnis eines dafür gedachten Quelltextpaketes ausgeführt werden.

Befehl Beschreibung
./configure Bereitet den Quelltext eines Programmes für die Kompilierung vor (legt eine Makedatei an, die speziell an den Computer und das Betriebssystem angepasst ist).
make Kompiliert das Programm. Dieser Schritt erfordert für gewöhnlich, dass ./configure bereits erfolgreich ausgeführt wurde.
make install Installiert die Dateien des kompilierten Programmes auf dem Computer. Dieser Schritt erfordert für gewöhnlich, dass make bereits erfolgreich ausgeführt wurde.

Netzwerk

Befehl Syntax Beschreibung Beispiel
ifconfig ifconfig Gibt Informationen über die vorhandenen und aktivierten Netzwerkadapter aus.  
ifconfig ifconfig -a Gibt Informationen über alle vorhandenen Netzwerkadapter aus.  
ifconfig ifconfig Interface up Aktiviert das Netzwerkinterface Interface. ifconfig eth0 up
ifconfig ifconfig Interface down Deaktiviert das Netzwerkinterface Interface. ifconfig eth0 down
ifup ifup Interface Aktiviert das Netzwerkinterface Interface mit den Einstellungen aus /etc/network/interfaces. ifup eth0
ifdown ifdown Interface Deaktiviert das Netzwerkinterface Interface mit den Einstellungen aus /etc/network/interfaces. ifdown eth0
route route Zeigt die Routing-Tabelle an.
mii-tool mii-tool Zeigt den Verbindungsstatus der Netzwerkkarten an. (Funktioniert bei Gigabit u. U. nur eingeschränkt.)
ethtool ethtool Interface Zeigt den Verbindungsstatus für Interface an. ethtool eth0
host host Host Ermittelt zu einem angegebenen Hostname die IP-Adresse und umgekehrt. host iserv.eu
ping ping Host Versucht, den Host Host im Netzwerk zu pingen. ping c21-pc01
links links URL Öffnet einen Webbrowser im Textmodus mit der angegebenen URL. links iserv.eu
nc nc Host Port Stellt eine interaktive Verbindung zu einem Netzwerkdienst auf dem Server Host auf Port Port her. nc mail.gmx.de 25
scp scp Quelle Ziel Kopiert Dateien zwischen verschiedenen Servern. Quelle oder Ziel können dabei das Format Server:Pfad haben. scp -r iserv.eu:/root/ /tmp/
rsync rsync Quelle Ziel Kopiert Dateien zwischen verschiedenen Servern. Im Gegensatz zu scp werden nur die Unterschiede übertragen. rsync -a iserv.eu:/root/ /tmp/
netstat netstat Zeigt die offenen Netzwerkverbindungen an.
netstat -lp Zeigt an, welche laufenden Dienste übers Netzwerk erreichbar sind.
nmap nmap Host Führt einen Portscan auf Host durch und zeigt alle erreichbaren Ports an. nmap iserv.eu
tcpdump tcpdump -i Interface Zeigt alle übertragenen Netzwerkpakete auf Interface an. tcpdump -i eth0
iptraf iptraf Interaktive Monitorsoftware, die Netzwerkstatistiken anzeigt.  

Mailserver

Befehl Syntax Beschreibung Beispiel
mailq mailq Mailwarteschlange anzeigen.
exim exim -q -v Warteschlange abarbeiten.
exim -Mvh ID Nachrichten-Header anzeigen. exim -Mvh 1LvwrD-0003OF-Er
exim -Mvl ID Nachrichten-Log anzeigen. exim -Mvl 1LvwrD-0003OF-Er
exim -Mt ID Nachricht "auftauen" (nach fatalem Fehler erneut versuchen). exim -Mt 1LvwrD-0003OF-Er
exim -Mrm ID Nachricht löschen. exim -Mrm 1LvwrD-0003OF-Er

Ausgehende Mails von einem bestimmten Benutzer einfrieren

Praktisch, wenn jemand eine sehr große Mail an viele externe Mail-Adressen versendet hat, die jetzt den Upload der DSL-Leitung verstopfen. Die eingefrorenen Mails bleiben so lange unausgeliefert in der Queue, bis sie wieder aufgetaut oder gelöscht werden.

root
exiqgrep -fi "vorname\.nachname" | xargs exim -Mf

Eingefrorene Mails auftauen

root
exiqgrep -zi | xargs exim -M

Eingefrorene Mails löschen

root
exiqgrep -zi | xargs exim -Mrm

Datenbank

Befehl Syntax Beschreibung Beispiel
psql psql Interaktive Datenbank-Shell für PostgreSQL.
psql -l Listet vorhandene Datenbanken auf.
chkdb chkdb Unterschiede zwischen aktueller Datenbankstruktur und den Vorgaben von IServ in /usr/share/iserv/db anzeigen.
chkdb -r Aktuelle Datenbankstruktur an die Vorgaben von IServ anpassen.
pg_dump pg_dump Datenbank als Text exportieren.
pg_backup pg_backup Komplette IServ-Datenbank als Text nach /var/backups/postgresql sichern. Wird täglich ausgeführt.

Kernel

Befehl Syntax Beschreibung Beispiel
lsmod lsmod Zeigt alle geladenen Module an.  
modprobe modprobe Modul Lädt ein Modul und dessen Abhängigkeiten mithilfe von insmod in den Kernel. modprobe printer
modprobe -r Modul Entfernt ein Modul und nicht mehr benötigte Abhängigkeiten mithilfe von rmmod aus dem Kernel. modprobe -r printer
insmod insmod Modul Lädt das ein Modul in den Kernel. Anstatt dieses Befehls sollte besser modprobe verwendet werden. insmod printer
rmmod rmmod Modul Entfernt ein Modul aus dem Kernel. Anstatt dieses Befehls sollte besser modprobe -r verwendet werden. rmmod printer
uname uname -a Gibt die Versionsnummer des geladenen Kernels aus.  

Daemons steuern

Ein Daemon ist ein Dienst, der unsichtbar für den Benutzer Arbeiten im Hintergrund verrichtet.

Befehl Syntax Beschreibung Beispiel
/etc/init.d/Daemon Befehl Sendet einen Befehl an einen Daemon. Wichtige Befehle: start (starten), stop (stoppen), restart (neustarten), reload (Konfiguration neu einlesen) /etc/init.d/httpd stop.
service Daemon Befehl service squid reload

Diverses

Kommunikation mit anderen Computern

Befehl Syntax Beschreibung Beispiel
ftp ftp Client für das Icon Wikipedia De.gifFile Transfer Protocol  
ftp user@host Baut eine FTP-Verbindung zum Rechner host mit dem Benutzer user auf. ftp testbenutzer@mein-iserv.de
smbclient smbclient share Baut eine Verbindung zu einem Service des Icon Wikipedia De.gifServer Message Blocks auf, der für Dateifreigaben unter Windows benutzt wird, und bietet eine FTP-ähnliche Kommandozeile smbclient //iserv/Home
smbclient share -U username Baut die Verbindung zum Server mit dem Benutzernamen username auf smbclient //iserv/Home -U testbenutzer
ssh ssh Client für die Icon Wikipedia De.gifSecure Shell  
ssh user@host Baut eine SSH-Verbindung zum Rechner host mit dem Benutzer user auf. ssh testbenutzer@mein-iserv.de
wget wget URL Lädt eine Datei aus dem Internet herunter und speichert sie ab. wget http://test.de/test.txt
wget -c URL Setzt einen abgebrochenen Download an der Stelle fort, an der er unterbrochen wurde. wget -c http://test.de/test.txt
GET GET URL Lädt eine Datei aus dem Internet herunter und gibt sie aus. GET www.google.de

Diverse Befehle

Befehl Syntax Beschreibung Beispiel
env env Zeigt die Umgebungsvariablen an.  
export export Variable=Wert Setzt eine Umgebungsvariable Variable für alle innerhalb der aktuellen Shell aufgerufenen Programme auf Wert. export LANG=C
uptime uptime Gibt die Systembetriebszeit aus.  
arch arch Gibt die Bezeichnung der Computerarchitektur (z. B. i586) aus.  
lsof lsof | grep Pfad Zeigt offene Dateien in dem Pfad Pfad an. lsof | grep /etc
dmesg dmesg Gibt Informationen über Kernelaktivitäten aus.  
dmesg | grep Laufwerksart Gibt Informationen über alle Laufwerke des Typs Laufwerksart aus;
dies kann z. B. hd (Festplatten) oder fd (Diskettenlaufwerke) sein.
dmesg | grep hd
date date Gibt Datum und Zeit aus.  
free free Gibt Informationen über die Ausnutzung des Arbeitsspeichers aus.  
lspci lspci Gibt Informationen über vorhandene PCI-Komponenten aus.  
lsdev lsdev Gibt Informationen über installiere Hardwarekomponenten aus.  
reset reset Leert die aktuelle Konsole.  
time time Befehl Führt den Befehl Befehl aus, und gibt anschließend aus, wie viel Zeit die Ausführung des Befehls in Anspruch nahm. time sleep 1
history history Zeigt eine Liste der zuletzt eingegebenen Befehle an.  
history -c Leert die Liste der zuletzt eingegebenen Befehle[13].
su su Benutzer Öffnet eine neue Icon Linuxwiki.gif Shell, die aber nicht unter dem aktuellen Benutzerkontext, sondern im Kontext von Benutzer ausgeführt wird. Ist der aktuelle Benutzer ein unprivilegierter Benutzer, muss er das Passwort von Benutzer eingeben, ist er root, muss er kein Passwort eingeben. Wird kein Benutzer angegeben, verwendet su "root" als Benutzernamen. su root
su - Benutzer Öffnet die Icon Linuxwiki.gif Shell als Loginshell. Wird kein Benutzer angegeben, verwendet su "root" als Benutzernamen. su - root
sudo sudo Befehl Führt einen Befehl mit root-Rechte aus. Ggf. muss das eigene Passwort eingegeben werden. sudo aptitude update
screen screen Öffnet eine neue Shell in einer virtuellen Konsole, die unabhängig von der aktuellen Anmeldung im Hintergrund läuft. Um die virtuelle Konsole zu verlassen, ohne das laufende Programm zu beenden, erst [STRG+A] und dann die Taste [d] drücken.  
screen -x Verbindet sich mit einer bestehenden virtuellen Konsole. Es können auch gleichzeitig mehrere Benutzer in einer virtuellen Konsole zusammen arbeiten.
psql psql Dienstprogramm zur Administration der PostgreSQL-Datenbank.

Jobs

Jobs erzeugen
Syntax Beschreibung Beispiel
Befehl & Befehl wird als Job im Hintergrund ausgeführt; die Ausgaben des Befehls werden jedoch trotzdem auf der Konsole ausgegeben! updatedb &
Befehl &> Logdatei & Befehl wird als Job im Hintergrund ausgeführt; stdout als auch stderr werden in die Datei Logdatei umgeleitet. iservchk -q &> ~/iservchk.log &
nohup Befehl & Führt den Befehl Befehl im Hintergrund aus und verhindert, dass der Prozess bei der Abmeldung beendet wird.
Dies ist zum Beispiel praktisch, wenn man große Downloads mit wget durchführen möchte[14].
 
[STRG+Z] Schickt den Prozess, der momentan im Vordergrund ist, in den Hintergrund und stoppt ihn.  
Jobs referenzieren
Syntax Beschreibung Beispiel
%Nummer Referenziert Job Nummer. %1
%Substring Referenziert den Job, dessen Name mit Substring beginnt. Wenn das auf mehr als auf einen Job zutrifft, gibt es eine Fehlermeldung. "%man bash"
%?Substring Referenziert den Job, in dessen Name Substring vorkommt. Wenn das auf mehr als auf einen Job zutrifft, gibt es eine Fehlermeldung. %?iserv
Jobs verwalten
Befehl Syntax Beschreibung Beispiel
jobs jobs Zeigt die Jobs an, die momentan in Hintergrund laufen.  
fg fg Job Bringt den Job in den Vordergrund. fg %1
bg bg Job Setzt einen pausierten Job im Hintergrund fort. bg %1
kill kill Job Beendet den Job. kill %1

Wichtige Tastenkombinationen

Tastenkombination Beschreibung
[SHIFT+BILD-HOCH] Konsole nach oben scrollen.
[SHIFT+BILD-RUNTER] Konsole nach unten scrollen.
[ALT+F1] bis [ALT+F6] Lokale Konsole: Schaltet zwischen den virtuellen Konsolen um.
[STRG+C] bash: Bricht den aktuellen Vorgang in der Shell ab.
[STRG+Z] bash: Schickt den Prozess, der momentan im Vordergrund ist, in den Hintergrund und stoppt ihn. Siehe auch: Abschnitt Jobs
[STRG+R] bash: Öffnet einen speziellen Prompt, in dem die Befehlshistory durchsucht werden kann, um einen bereits ausgeführten Befehl erneut ausführen zu können. Für den jeweils nächsten Treffer noch einmal [STRG+R] drücken.
[STRG+D] bash: Beendet die aktuelle Sitzung, gleichbedeutend mit logout
[STRG+L] bash: Löscht den Bildschirm, z. B. um sicherheitsrelevante Daten zu vernichten.
[STRG+S] bash: Pausiert die Bildschirmausgabe.
[STRG+Q] bash: Setzt die Bildschirmausgabe fort.
[STRG+H] bash: Löscht das letzte Zeichen (falls Backspace nicht funktioniert).
[STRG+W] bash: Löscht das letzte Wort.
[Tab] bash: Vervollständigt den angefangenen Befehls-, Verzeichnis- oder Dateinamen falls eindeutig.
2x [Tab] bash: Zeigt alle möglichen Vervollständigungen an.
[PFEIL-HOCH] bash: Vorherigen Befehl aus der History auswählen.
[PFEIL-RUNTER] bash: Nächsten Befehl aus der History auswählen.
[~] [.] ssh: Terminiert die Session.
[~] [STRG+Z] [STRG+Z] ssh: Schickt die geöffnete SSH-Session in den Hintergrund und stoppt sie.
[STRG+V] [ESC] [c] [ENTER] Setzt das Terminal zurück, wenn es z. B. durch Ausgabe von Binärdateien unleserlich geworden ist.

Struktur des Dateisystems

Verzeichnis Beschreibung
/bin Systemprogramme für alle Benutzer
/boot Dateien für den Boot-Vorgang
/dev Geräte-Dateien
/etc Konfigurationsdateien
/group Gruppenverzeichnisse (IServ spezifisch)
/home Homeverzeichnisse
/initrd Leer
/lib Systembibliotheken
/lost+found Bei Dateisystemreparatur wieder hergestellte Dateien
/media Zum Einbinden von entfernbaren Datenträgern
/mnt Zum Einbinden beliebiger Datenträger
/old Verbleibende Dateien einer IServ 1 Installation nach Upgrade (IServ spezifisch)
/opt Zusatzprogramme (nicht an Debian angepasst)
/proc Informationen über Kernel und Prozesse
/root Homeverzeichnis von root
/sbin Systemprogramme für root
/srv Netzwerkfreigaben für andere Rechner
/sys Zusätzliche Informationen über Hardware
/tmp Temporäre Dateien (werden automatisch gelöscht)
/usr Programme (mit Bibliotheken, Dokumentation...)
/var Daten (Datenbank, Mails, Logs, Backups, Caches...)

Siehe auch: Filesystem Hierarchy Standard (http://www.pathname.com/fhs/pub/fhs-2.3.html)

Logdateien

Verzeichnis Datei Speicherdauer Beschreibung
/var/log Systemlogs
alternatives.log 12 Monate Paketverwaltung (update-alternatives)
apcupsd.events 10 kB USV
aptitude 6 Monate Paketverwaltung (aptitude)
auth.log 4 Wochen Anmeldungen am System (lokal, ssh, cron)
btmp unbekannt Fehlgeschlagene Logins an der Systemkonsole
daemon.log 4 Wochen Systemdienste (u. a. atftpd, dhcpd, iserv, named, ntpd, pptpd, smbd)
debug 4 Wochen Kernel: Debug-Meldungen
dmesg 5 Neustarts Kernel: Meldungen des letzten Boot-Vorgangs
dpkg.log 12 Monate Paketverwaltung (dpkg)
fail2ban.log 4 Wochen Firewall (fail2ban)
faillog unbekannt Fehlgeschlagene Logins an der Systemkonsole
fontconfig.log unbekannt Schrift-Cache
iptables.log 7 Tage Firewall (iptables)
iservbackup unbegrenzt Backup-Status
kern.log 4 Wochen Kernel: Meldungen
lastlog unbekannt Letze Logins an der Systemkonsole
mail.* 4 Wochen Mailserver (Cyrus, Exim)
messages 4 Wochen Systemdienste (iserv, kernel, sessauthd)
monit.log 4 Wochen Monitoring der Systemdienste (monit)
rkhunter.log 7 Tage Virenscanner (rkhunter)
syslog 7 Tage Systemdienste (u. a. atftpd, cron, cyrus, dhcpd, iserv, kernel, named, sessauthd, smbd, spamd)
user.log 4 Wochen Systemdienste (u. a. iserv, regdns, sessauthd)
wtmp unbekannt Letze Logins an der Systemkonsole
/var/log/apache2 Webserver (apache2)
access.log 30 Tage Zugriffe (IP-Adresse, Zeitstempel, Anfrage, Status-Code, Größe, Referrer, Browser)
error.log 30 Tage Fehler (Zeitstempel, Schweregrad, IP, Meldung)
other_vhosts_access.log 30 Tage Zugriffe auf andere Ports oder Hostnames
ssl_request.log 30 Tage Zugriffe per SSL
/var/log/apt Paketverwaltung (apt)
history.log 12 Monate Aktivitätsprotokoll
term.log 12 Monate Bildschirmausgabe
/var/log/clamav Virenscanner (clamav)
clamav.log 12 Wochen Mailscans
freshclam.log 12 Wochen Updates
/var/log/cups Drucksystem
access_log 7 Tage Zugriffe
error_log 7 Tage Fehler
page_log 7 Tage Druckjobs
/var/log/deploy Softwareverteilung
auto_*.log unbegrenzt Automatische Updates von Windows-Clients
/var/log/etherpad-lite Etherpad-Server
etherpad-lite.log 3 MB Warnungen und Fehler
/var/log/exim4 Mailserver (exim4)
mainlog 10 Tage Zugestellte E-Mails (Zeitstempel, Absender, Empfänger, IP-Adresse, Protokoll)
paniclog 10 Tage Schwerwiegende Fehler (Zeitstempel, Meldung)
rejectlog 10 Tage Abgewiesene E-Mails (Zeitstempel, Absender, IP-Adresse, Fehlermeldung)
/var/log/fsck Dateisystemprüfungen
check* 1 Aufruf Programmausgabe
/var/log/letsencrypt Zertifikatserstellung (letsencrypt)
letsencrypt.log 10 Aufrufe Programmausgabe
/var/log/iservupd Systemupdate
log 30 Tage Programmausgabe
/var/log/nginx Proxy für Windows-Updates (nginx)
cache.log 52 Wochen Cache-Nutzung
error.log 52 Wochen Fehler
ranger-default.log 52 Wochen Abfragen
/var/log/php Weboberfläche IServ
* 30 Tage Fehlerberichte (Zeitstempel, Speicherinhalt des Programms beim Abbruch)
/var/log/php/deploy Softwareverteilung
*.bootimage.log 5 Jahre Bootvorgang
*.clientconnect.log 10 Tage Status-Update
*.instlog.log 3 Monate Programminstallation
/var/log/php/web Weboberfläche IServ 3
dev.log 30 Tage Fehler (Testsystem)
prod.log 30 Tage Fehler (Produktivsystem)
/var/log/postgresql Datenbank-Server (postgresql)
postgresql-*-main.log 10 Wochen Warnungen und Fehler
/var/log/proftpd FTP-Server
proftpd.log 7 Wochen Logins (Zeitstempel, IP-Adresse, Benutzer)
sql.log unbegrenzt Datenbankzugriffe
tls.log unbegrenzt Zugriffe per SSL
write.log 7 Tage Schreibzugriffe (IP-Adresse, Benutzer, Zeitstempel, Datei, Status-Code, Größe)
xferlog 7 Monate Datenübertragungen
/var/log/samba Dateiserver für Windows (samba)
log.nmbd 7 Wochen Dienst zur Namensauflösung
log.smbd 7 Wochen Dienst für Dateiserver
write.log 7 Tage Schreibzugriffe (Zeitstempel, Benutzer, IP-Adresse, Freigabe, Aktion, Dateiname)
/var/log/squid Webproxy (squid)
access.log 7 Tage Zugriffe (IP-Adresse, Zeitstempel, Anfrage, Status-Code, Größe, Referrer, Browser)
cache.log 7 Tage Cacheverwaltung
squidGuard.log 7 Tage Webfilter
store.log 7 Tage Cacheverwaltung
andere 7 Tage Zugriffe auf gesperrte Seiten
/var/log/squidguard Webfilter (squidguard)
squidGuard.log 30 Tage Webfilter
/var/lib/iserv/chat IServ Chat
group/* 90 Tage Gruppenräume
public/* 90 Tage Öffentliche Räume

Wichtige Dateien

Dateiname Beschreibung
/etc/aliases E-Mail-Adressverteiler, hier können Aliasnamen für verschiedene Benutzer angelegt werden. Nach dem Editieren muss der Befehl newaliases ausgeführt werden, um die Änderungen zu übernehmen.
/etc/bash.bashrc Skript, das bei der Anmeldung eines Benutzers auf der Konsole ausgeführt wird. Nur von bash genutzt. bash liest bei der Anmeldung weiterhin die Dateien ~/.bashrc und ~/.bash_profile ein. Siehe auch: /etc/profile.
/etc/crontab Zeitplan des cron-Daemons.
/etc/dhcp3/dhcpd.conf Konfigurationsdatei des DHCP-Servers.
/etc/fstab Legt fest, welche Dateisystem in welche Mountpoints eingehängt werden.
/etc/group Enthält eine Auflistung aller Gruppen und deren Mitglieder auf dem Server. In jeder Zeile steht eine Gruppe mit ihren jeweiligen Mitgliedern, daher ist die Datei gut mit cat und grep durchsuchbar.
/etc/gshadow Äquivalent zur shadow-Datei (s. u.), jedoch für Gruppen.
/etc/iserv/ Enthält die zentralen Konfigurationsdateien von IServ.
/etc/network/interfaces Konfiguration der Netzwerkschnittstellen von Debian.
/etc/passwd Die Benutzerdatenbank von Linux; sie enthält den Benutzernamen, die UID und weitere Informationen aller Linux-Benutzer. Für alle Benutzer lesbar, nur für root schreibbar.
/etc/profile Skript, das bei der Anmeldung eines Benutzers auf der Konsole ausgeführt wird. Siehe auch: /etc/bashrc.
/etc/resolv.conf Enthält rudimentäre Informationen über die Netzwerk-Namensauflösung; etwa, welcher Server der Nameserver ist. Diese Datei wird allerdings vom resolvconf-Icon Wikipedia De.gifDaemon automatisch aktualisiert, der Inhalt wird aus den Dateien in /etc/resolvconf/resolv.conf.d/ und den Skripten in /etc/resolvconf/update.d/ zusammengestellt. Eigene Änderungen an /etc/resolv.conf direkt werden also überschrieben!
/etc/samba/netlogon Netlogon-Ordner; als \\iserv\netlogon freigegeben (IServ-spezifisch).
/etc/samba/smbpasswd Äquivalent zur shadow-Datei (s. u.), jedoch für Samba-Benutzerkonten.
/etc/shadow Die Passwortdatenbank von Linux; sie enthält die Icon Wikipedia De.gifgehashten Passwörter aller Linux-Benutzer. Nur für root lesbar und schreibbar.
/proc/cpuinfo Enthält Informationen über die CPU. Nur lesbar.
/proc/filesystems Enthält eine Auflistung aller Dateisysteme, die unterstützt werden. Nur lesbar.
/proc/mdstat Enthält Statusinformationen des Software-RAID-Treibers. Nur lesbar.
/proc/pci Enthält Informationen zu allen Geräten, die am PCI-Bus des Computers angeschlossen sind. Nur lesbar.
/usr/share/iserv/ Enthält wichtige statische (Dateien, die sich ohne manuellen Eingriff oder ein Update nicht ändern) IServ-Dateien, unter anderem den gesamten IDesk.
/var/lib/dhcp/dhcpd.leases Enthält eine Auflistung aller DHCP-Leases, die der Server vergeben hat.

Spezielle Zeichen

Zeichen Syntax Beschreibung Beispiel
; Befehl1Befehl2 Führt mehrere Befehle in der angegebenen Reihenfolge aus. iservcfg; iservchk
&& Befehl1 && Befehl2 Führt Befehl1 aus. Gibt dieser Befehl einen Erfolgscode zurück ($? = 0), dann wird Befehl2 ebenfalls ausgeführt. Auf diese Art und Weise können beliebig viele Befehle verkettet werden. iservchk && shutdown -r now
|| Befehl1 || Befehl2 Führt Befehl1 aus. Gibt dieser Befehl einen Fehlercode zurück ($? != 0), dann wird Befehl2 ebenfalls ausgeführt. Auf diese Art und Weise können beliebig viele Befehle verkettet werden. iservchk || shutdown -r now
| Befehl1 | Befehl2 Leitet die stdout-Ausgaben von Befehl1 in den stdin-Kanal von Befehl2. export | grep PATH=
>
1>
Befehl > Datei Leitet die stdout-Ausgaben des Befehls in eine Datei um. Existiert die Datei bereits, wird sie überschrieben. grep ^root /etc/passwd > ./datei.log
2> Befehl 2> Datei Leitet die stderr-Ausgaben des Befehls in eine Datei um. Existiert die Datei bereits, wird sie überschrieben.  
>> Befehl >> Datei Leitet die stdout-Ausgaben des Befehls in eine Datei um. Existiert die Datei bereits, werden die Ausgaben an das Ende angehängt.  
2>> Befehl 2>> Datei Leitet die stderr-Ausgaben des Befehls in eine Datei um. Existiert die Datei bereits, werden die Ausgaben an das Ende angehängt.  
&>
>&
Befehl &> Datei Leitet die stdout-Ausgaben und die stderr-Ausgaben des Befehls in eine Datei um. Existiert die Datei bereits, wird sie überschrieben. iservchk &> iservchk.log
< Befehl < Datei Leitet den Inhalt der Datei in den stdin-Kanal des Befehls. Es liegt am jeweiligen Befehl, ob dies unterstützt wird.  

Weitere Informationen zur Umleitung von Datenströmen finden sich im Tutorial von Thomas Hertweck.



  1. Genau genommen lädt man nur die Hilfetexte in einen Pager; dies ist üblicherweise less. Daher treffen alle Bedienungshinweise für less auch auf man zu.
  2. apropos erfüllt den gleichen Zweck, ist aber schwieriger zu tippen ;)
  3. nicht cd..!
  4. nicht eine Verzeichnisebene höher!
  5. r = recursive, f = force
  6. Die Anzeige lässt sich mit den Pfeiltasten, PgUp/PgDown-Tasten und der Leertaste (identisch mit PgDown) scrollen. Mit der der Eingabe /Text wird eine Suche nach der Zeichenfolge Text gestartet; Vorwärtssuchen mit der Taste n, Rückwärtssuche mit der Taste N. Beendet wird less mit der Taste q.
  7. x = extract, z = gzip, f = file
  8. x = extract, j = bzip2, f = file
  9. /var/lib/slocate/slocate.db
  10. 10,0 10,1 Im Gegensatz zu shutdown gibt ein direkter Aufruf von init keine Warnmeldung an andere Benutzer heraus und sperrt auch den Login nicht.
  11. Im Gegensatz zu useradd legt iservuseradd Homeverzeichnis, E-Mail-Account etc. automatisch an.
  12. Im Gegensatz zu userdel löscht iservuserdel Homeverzeichnis, E-Mail-Account etc. automatisch.
  13. Dieser Befehl sollte immer dann ausgeführt werden, wenn ein Passwort als Parameter an ein Programm übergeben wurde.
  14. Beispiel für den Download des Service Pack 2 für Windows XP:
    nohup wget "http://download.microsoft.com/download/9/6/4/96442257-721a-4cd5-9006-10a40cbb45cb/WindowsXP-KB835935-SP2-DEU.exe" &