Kommandozeilenreferenz: Unterschied zwischen den Versionen

Aus dem IServ-Wiki
Zur Navigation springen Zur Suche springen
 
(50 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>[[man]]</tt> || <tt>man&nbsp;''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&nbsp;ls</tt>
+
| <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>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>
Zeile 34: Zeile 34:
 
| || <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>
 
|-
 
|-
| || <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>
 
|-
 
|-
| || <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>
 
|-
 
|-
 
| || <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;
Zeile 49: Zeile 49:
 
|-
 
|-
 
|
 
|
| <tt>du&nbsp;--max-depth=1&nbsp;-h&nbsp;''Verzeichnis''</tt>
+
| <tt>du&nbsp;-sh&nbsp;''Verzeichnis''/*</tt>
 
| Gibt die Größe aller Unterverzeichnisse des angegebenen ''Verzeichnisses'' aus.
 
| Gibt die Größe aller Unterverzeichnisse des angegebenen ''Verzeichnisses'' aus.
 
|
 
|
Zeile 56: Zeile 56:
 
|-
 
|-
 
| || <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>
 
|-
 
|-
 
|}
 
|}
Zeile 67: Zeile 77:
 
| <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>
 
|-
 
|-
| || <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>
Zeile 76: Zeile 86:
 
|-
 
|-
 
| || <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 97: Zeile 117:
 
| Legt den angegebenen ''Benutzer'' als Besitzer und die angegebene ''Gruppe'' als Besitzergruppe der Datei/des Ordners ''Name'' fest.
 
| 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>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>
 
|}
 
|}
  
Zeile 119: Zeile 159:
 
|  
 
|  
 
|-
 
|-
| <tt>tac</tt>
+
| <tt>zcat</tt>
|  
+
| <tt>zcat&nbsp;''Datei''</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:
+
| Wie <tt>cat</tt> für gzip komprimierte Dateien.
<tt>tac&nbsp;''Dateiname''&nbsp;|&nbsp;cat&nbsp;-n</tt>
+
| <tt>zcat&nbsp;123.txt.gz</tt>
|
 
 
|-
 
|-
 
| <tt>less</tt>
 
| <tt>less</tt>
Zeile 134: Zeile 173:
 
| Zeigt den ''[[Datenstrom]]'' seitenweise an.
 
| Zeigt den ''[[Datenstrom]]'' seitenweise an.
 
| <tt>ls&nbsp;-lA&nbsp;<nowiki>|</nowiki>&nbsp;less</tt>
 
| <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>grep</tt>
 
| <tt>grep</tt>
Zeile 174: Zeile 218:
 
| Sucht nach Zeilen, die mit der ''Zeichenkette'' enden.
 
| Sucht nach Zeilen, die mit der ''Zeichenkette'' enden.
 
| &nbsp;
 
| &nbsp;
 +
|-
 +
| <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>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>
 +
|-
 +
|
 +
| <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>
 +
|-
 +
| <tt>wc</tt>
 +
| <tt>wc&nbsp;''Datei''</tt>
 +
| Zählt die Anzahl der Zeichen, Wörter und Zeilen in ''Datei''
 +
|
 +
|-
 +
| <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</tt>
Zeile 187: Zeile 261:
 
|
 
|
 
| <tt>sort&nbsp;-r</tt>
 
| <tt>sort&nbsp;-r</tt>
| Sortiert die Zeilen eines Datenstromes umgekehrt alphabetisch.
+
| Sortiert die Zeilen eines Datenstroms umgekehrt alphabetisch.
 
| &nbsp;
 
| &nbsp;
 +
|-
 +
|
 +
| <tt>sort&nbsp;-n</tt>
 +
| Numerisch sortieren.
 +
|
 
|-
 
|-
 
| <tt>tee</tt>
 
| <tt>tee</tt>
Zeile 197: Zeile 276:
 
| <tt>uniq</tt>
 
| <tt>uniq</tt>
 
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;uniq</tt>
 
| <tt>''Datenstrom''&nbsp;<nowiki>|</nowiki>&nbsp;uniq</tt>
| Entfernt identische Zeilen aus einem ''Datenstrom'', so dass nur jeweils eine Zeile überbleibt.
+
| 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>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</tt>
 
| <tt>diff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
 
| <tt>diff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
| Zeigt die Unterschiede zwischen den Dateien ''Datei1'' und ''Datei2'' im Unified Diff-Format an.
+
| Zeigt zeilenweise die Unterschiede zwischen ''Datei1'' und ''Datei2'' an.
 
| <tt>diff&nbsp;datei.alt&nbsp;datei.neu</tt>
 
| <tt>diff&nbsp;datei.alt&nbsp;datei.neu</tt>
 
|-
 
|-
 
|
 
|
| <tt>diff&nbsp;-r&nbsp;''Dir1''&nbsp;''Dir2''</tt>
+
| <tt>diff&nbsp;-u&nbsp;''Datei1''&nbsp;''Datei2''</tt>
| Zeigt die Unterschiede zwischen den Verzeichnissen ''Dir1'' und ''Dir2'' an.
+
| 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>diff&nbsp;-r&nbsp;/home&nbsp;/backup/home</tt>
 
|-
 
|-
 
| <tt>[[vim#vimdiff|vimdiff]]</tt>
 
| <tt>[[vim#vimdiff|vimdiff]]</tt>
 
| <tt>vimdiff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
 
| <tt>vimdiff&nbsp;''Datei1''&nbsp;''Datei2''</tt>
| Zeigt die Unterschiede zwischen den Dateien ''Datei1'' und ''Datei2'' in einer übersichtlichen grafischen Oberfläche an.
+
| 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</tt>
 
| <tt>file&nbsp;''Datei''</tt>
 
| <tt>file&nbsp;''Datei''</tt>
| Gibt Informationen über das Dateiformat der ''Datei'' aus.
+
| Dateityp von ''Datei'' an Hand des Inhalts erraten.
 
| <tt>file&nbsp;/bin/bash</tt>
 
| <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</tt>
Zeile 254: Zeile 363:
 
| Gibt fortlaufend neu hinzukommende Zeilen der ''Datei'' aus. Sehr vorteilhaft bei Diagnosen.
 
| Gibt fortlaufend neu hinzukommende Zeilen der ''Datei'' aus. Sehr vorteilhaft bei Diagnosen.
 
| <tt>tail&nbsp;-f&nbsp;/var/log/messages</tt>
 
| <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>
 
|-
 
|-
 
|}
 
|}
Zeile 264: Zeile 394:
 
| <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>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>[[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</tt>
Zeile 275: Zeile 405:
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <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>
+
| <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>
 
|-
 
|-
| || <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>
+
| || <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 302: Zeile 432:
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>mount</tt> || <tt>mount</tt> || Gibt eine Liste aller gemounteten Dateisysteme aus.
+
| <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> || || Formatiert einen Datenträger. Ich kann es hier nur schlecht testen und muss daher auf die Manpage verweisen.
 
| <tt>mkfs</tt> || || Formatiert einen Datenträger. Ich kann es hier nur schlecht testen und muss daher auf die Manpage verweisen.
Zeile 332: Zeile 483:
 
| || <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>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</tt> ist ein Tool von IServ, mit dem die Integrität von Systemdateien sichergestellt wird. || &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>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>chkdeploy</tt> || <tt>chkdeploy</tt> || Abgleichen der Softwarepakete mit der Datenbank. || &nbsp;
 +
|-
 +
| <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>myip</tt> || <tt>myip</tt> || Öffentliche IP des Servers anzeigen. || &nbsp;
 
|-
 
|-
 
''Hinweis: Die Befehle zur IServ-Benutzerverwaltung finden sich im Abschnitt [[Kommandozeilenreferenz#Benutzerverwaltung|Benutzerverwaltung]].''
 
''Hinweis: Die Befehle zur IServ-Benutzerverwaltung finden sich im Abschnitt [[Kommandozeilenreferenz#Benutzerverwaltung|Benutzerverwaltung]].''
Zeile 354: Zeile 529:
 
|-
 
|-
 
| || <tt>ps&nbsp;-A</tt> || Gibt Informationen über alle laufenden Prozesse aus. || &nbsp;
 
| || <tt>ps&nbsp;-A</tt> || Gibt Informationen über alle laufenden Prozesse aus. || &nbsp;
 +
|-
 +
| || <tt>ps&nbsp;fax</tt> || Gibt Informationen über alle laufenden Prozesse hierarchisch strukturiert aus. || &nbsp;
 
|-
 
|-
 
|}
 
|}
Zeile 389: Zeile 566:
 
| <tt>whoami</tt> || <tt>whoami</tt> || Gibt den eigenen Benutzernamen aus. || &nbsp;
 
| <tt>whoami</tt> || <tt>whoami</tt> || Gibt den eigenen Benutzernamen aus. || &nbsp;
 
|-
 
|-
| <tt>who</tt> || <tt>who</tt> || Gibt eine Auflistung aus, welche Benutzer seit wann und an welchen Konsolen angemeldet sind. || &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''. || <tt>groupadd&nbsp;test.gruppe</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''. || <tt>groupdel&nbsp;test.gruppe</tt>
+
| <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. || <tt>useradd&nbsp;-m&nbsp;test.benutzer</tt>
+
| <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. || <tt>userdel&nbsp;-r&nbsp;test.benutzer</tt>
+
| <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. Dazu muss man vorher das alte eingeben. || &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. || <tt>passwd&nbsp;test.benutzer</tt>
+
| || <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.gruppe</tt>
+
| <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>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 Benutzer"</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>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>
Zeile 413: Zeile 596:
 
| <tt>iservpasswd</tt> || <tt>iservpasswd&nbsp;''Benutzer''</tt> || Ändert das Passwort des Benutzers ''Benutzer''. || <tt>iservpasswd&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>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>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>
 
|-
 
|-
| <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>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>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>
 
|-
 
|-
 
|}
 
|}
Zeile 425: Zeile 606:
 
=== Anwendungsverwaltung ===
 
=== Anwendungsverwaltung ===
 
==== Paketmanagement ====
 
==== Paketmanagement ====
{| class="prettytable"
+
{| class="wikitable"
 
|-
 
|-
 
! Befehl
 
! Befehl
Zeile 432: Zeile 613:
 
! Beispiel
 
! Beispiel
 
|-
 
|-
| <tt>[[apt-get]]</tt>
+
| <tt>[[aptitude]]</tt>
| <tt>apt-get&nbsp;update</tt>
+
| <tt>aptitude&nbsp;update</tt>
| Aktualisiert die lokale APT-Paketdatenbank. Dieser Befehl sollte vor jedem anderen APT-Befehl ausgeführt werden, damit diese mit den aktuellsten Paketen arbeiten können.
+
| Aktualisiert die lokale Paketdatenbank. Muss nach Änderungen an der Liste der Paketquellen (<tt>/etc/apt/sources.list*</tt>) ausgeführt werden.
| <tt>apt-get&nbsp;update</tt>
+
| <tt>aptitude&nbsp;update</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>aptitude&nbsp;install&nbsp;''Paket''</tt>
 +
| Installiert ein ''Paket''.
 +
| <tt>aptitude&nbsp;install&nbsp;mysql</tt>
 +
|-
 +
|
 +
| <tt>aptitude&nbsp;remove&nbsp;''Paket''</tt>
 +
| Deinstalliert ein ''Paket''.
 +
| <tt>aptitude&nbsp;remove&nbsp;mysql</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>apt-get&nbsp;install&nbsp;''Paket''</tt>
+
| <tt>dpkg&nbsp;-L&nbsp;''Paket''</tt>
| Installiert ein ''Paket''. Die Paketnamen können mithilfe von <tt>apt-cache&nbsp;search</tt> herausgefunden werden.
+
| Listet alle Dateien auf, die ''Paket'' enthält.
| <tt>apt-get&nbsp;install&nbsp;mysql</tt>
+
| <tt>dpkg -L bash</tt>
 
|-
 
|-
 
|
 
|
| <tt>apt-get&nbsp;remove&nbsp;''Paket''</tt>
+
| <tt>dpkg&nbsp;-S&nbsp;''Datei''</tt>
| Deinstalliert ein ''Paket''. Die Paketnamen können mithilfe von <tt>apt-cache&nbsp;search</tt> herausgefunden werden.
+
| Zeigt an, in welchem Paket ''Datei'' enthalten ist.
| <tt>apt-get&nbsp;remove&nbsp;mysql</tt>
+
| <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.
 +
|}
  
|}
+
Suchmaschine für Debian-Pakete: http://packages.debian.org
  
 
==== Kompilieren ====
 
==== 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.''
 
''Alle Befehle dieses Abschnittes müssen im Verzeichnis eines dafür gedachten Quelltextpaketes ausgeführt werden.''
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 473: Zeile 696:
 
| <tt>ifconfig</tt> || <tt>ifconfig&nbsp;-a</tt> || Gibt Informationen über alle vorhandenen Netzwerkadapter aus. || &nbsp;
 
| <tt>ifconfig</tt> || <tt>ifconfig&nbsp;-a</tt> || Gibt Informationen über alle vorhandenen Netzwerkadapter aus. || &nbsp;
 
|-
 
|-
| <tt>ifconfig</tt> || <tt>ifconfig ''Interface'' up</tt> || Aktiviert das Netzwerkinterface ''Interface''. || <tt>ifconfig&nbsp;eth0&nbsp;up</tt>
+
| <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>ifconfig</tt> || <tt>ifconfig ''Interface'' down</tt> || Deaktiviert das Netzwerkinterface ''Interface''. || <tt>ifconfig&nbsp;eth0&nbsp;down</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>ping</tt> || <tt>ping ''Host''</tt> || Versucht, den Host ''Host'' im Netzwerk zu pingen. || <tt>ping&nbsp;c21-pc01</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>ethtool</tt> || <tt>ethtool&nbsp;''Interface''</tt> || Zeigt den Verbindungsstatus für ''Interface'' an. || <tt>ethtool&nbsp;eth0</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>ping</tt> || <tt>ping&nbsp;''Host''</tt> || Versucht, den Host ''Host'' im Netzwerk zu pingen. || <tt>ping&nbsp;c21-pc01</tt>
 +
|-
 +
| <tt>links</tt> || <tt>links&nbsp;''URL''</tt> || Öffnet einen Webbrowser im Textmodus mit der angegebenen ''URL''. || <tt>links iserv.eu</tt>
 +
|-
 +
| <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>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>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>netstat</tt> || <tt>netstat</tt> || Zeigt die offenen Netzwerkverbindungen an. ||
 +
|-
 +
| || <tt>netstat -lp</tt> || Zeigt an, welche laufenden Dienste übers Netzwerk erreichbar sind. ||
 +
|-
 +
| <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>
 +
|-
 +
| <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;
 
| <tt>iptraf</tt> || <tt>iptraf</tt> || Interaktive Monitorsoftware, die Netzwerkstatistiken anzeigt. || &nbsp;
 +
|}
 +
 +
=== Mailserver ===
 +
{| class="wikitable"
 +
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>mailq</tt> || <tt>mailq</tt> || Mailwarteschlange anzeigen. ||
 +
|-
 +
| <tt>exim</tt> || <tt>exim -q -v</tt> || Warteschlange abarbeiten. ||
 +
|-
 +
| || <tt>exim -Mvh ''ID''</tt> || Nachrichten-Header anzeigen. || <tt>exim -Mvh 1LvwrD-0003OF-Er</tt>
 +
|-
 +
| || <tt>exim -Mvl ''ID''</tt> || Nachrichten-Log anzeigen. || <tt>exim -Mvl 1LvwrD-0003OF-Er</tt>
 +
|-
 +
| || <tt>exim -Mt ''ID''</tt> || Nachricht "auftauen" (nach fatalem Fehler erneut versuchen). || <tt>exim -Mt 1LvwrD-0003OF-Er</tt>
 +
|-
 +
| || <tt>exim -Mrm ''ID''</tt> || Nachricht löschen. || <tt>exim -Mrm 1LvwrD-0003OF-Er</tt>
 +
|-
 +
|}
 +
 +
==== 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"
 +
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <tt>psql</tt> || <tt>psql</tt> || Interaktive Datenbank-Shell für PostgreSQL. ||
 +
|-
 +
| || <tt>psql -l</tt> || Listet vorhandene Datenbanken auf. ||
 +
|-
 +
| <tt>chkdb</tt> || <tt>chkdb</tt> || Unterschiede zwischen aktueller Datenbankstruktur und den Vorgaben von IServ in /usr/share/iserv/db anzeigen. ||
 +
|-
 +
| || <tt>chkdb -r</tt> || Aktuelle Datenbankstruktur an die Vorgaben von IServ anpassen. ||
 +
|-
 +
| <tt>pg_dump</tt> || <tt>pg_dump</tt> || Datenbank als Text exportieren. ||
 +
|-
 +
| <tt>pg_backup</tt> || <tt>pg_backup</tt> || Komplette IServ-Datenbank als Text nach /var/backups/postgresql sichern. Wird täglich ausgeführt. ||
 +
|-
 
|}
 
|}
  
Zeile 514: Zeile 811:
 
| colspan="2" | <tt>service&nbsp;''Daemon''&nbsp;''Befehl''</tt>
 
| colspan="2" | <tt>service&nbsp;''Daemon''&nbsp;''Befehl''</tt>
 
| <tt>service&nbsp;squid&nbsp;reload</tt>
 
| <tt>service&nbsp;squid&nbsp;reload</tt>
|-
 
| <tt>chkconfig</tt>
 
| <tt>chkconfig&nbsp;--list&nbsp;''Daemon''</tt>
 
| Zeigt an, in welchen [[Runlevel]]s der ''Daemon'' gestartet wird.
 
| <tt>chkconfig&nbsp;--list&nbsp;httpd</tt>
 
|-
 
|
 
| <tt>chkconfig&nbsp;''Daemon''&nbsp;on</tt>
 
| Legt fest, dass der ''Daemon'' zu den daemonseitig vorgegebenen [[Runlevel]]s gestartet wird.
 
| <tt>chkconfig&nbsp;squid&nbsp;on</tt>
 
|-
 
|
 
| <tt>chkconfig&nbsp;''Daemon''&nbsp;off</tt>
 
| Legt fest, dass der ''Daemon'' zu den daemonseitig vorgegebenen [[Runlevel]]s nicht gestartet wird.
 
| <tt>chkconfig&nbsp;squid&nbsp;off</tt>
 
 
|}
 
|}
  
Zeile 539: Zeile 821:
 
| <tt>ftp</tt> || <tt>ftp</tt> || Client für das {{WP|File Transfer Protocol}} || &nbsp;
 
| <tt>ftp</tt> || <tt>ftp</tt> || Client für das {{WP|File Transfer Protocol}} || &nbsp;
 
|-
 
|-
|              || <tt>ftp&nbsp;''user''@''host''</tt> || Baut eine FTP-Verbindung zum Rechner ''host'' mit dem Benutzer ''user'' auf. || <tt>ftp&nbsp;testbenutzer@mzbs.de</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>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>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>
Zeile 547: Zeile 829:
 
| <tt>ssh</tt> || <tt>ssh</tt> || Client für die {{WP|Secure Shell}} || &nbsp;
 
| <tt>ssh</tt> || <tt>ssh</tt> || Client für die {{WP|Secure Shell}} || &nbsp;
 
|-
 
|-
| || <tt>ssh ''user''@''host''</tt> || Baut eine SSH-Verbindung zum Rechner ''host'' mit dem Benutzer ''user'' auf. || <tt>ssh testbenutzer@mzbs.de</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>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>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>
Zeile 559: Zeile 841:
 
{| class="wikitable"
 
{| class="wikitable"
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 +
|-
 +
| <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>uptime</tt> || <tt>uptime</tt> || Gibt die Systembetriebszeit aus. || &nbsp;
Zeile 578: Zeile 864:
 
| <tt>lsdev</tt> || <tt>lsdev</tt> || Gibt Informationen über installiere Hardwarekomponenten aus. || &nbsp;
 
| <tt>lsdev</tt> || <tt>lsdev</tt> || Gibt Informationen über installiere Hardwarekomponenten aus. || &nbsp;
 
|-
 
|-
| <tt>time</tt> || <tt>time&nbsp;''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&nbsp;sleep&nbsp;1</tt>
+
| <tt>reset</tt> || <tt>reset</tt> || Leert die aktuelle Konsole. || &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>
 
|-
 
|-
 
| <tt>history</tt> || <tt>history</tt> || Zeigt eine Liste der zuletzt eingegebenen Befehle an. || &nbsp;
 
| <tt>history</tt> || <tt>history</tt> || Zeigt eine Liste der zuletzt eingegebenen Befehle an. || &nbsp;
Zeile 593: Zeile 881:
 
| Öffnet die {{LW|Shell}} als Loginshell. Wird kein ''Benutzer'' angegeben, verwendet <tt>su</tt> "[[root]]" als Benutzernamen.
 
| Öffnet die {{LW|Shell}} als Loginshell. Wird kein ''Benutzer'' angegeben, verwendet <tt>su</tt> "[[root]]" als Benutzernamen.
 
| <tt>su&nbsp;-&nbsp;root</tt>
 
| <tt>su&nbsp;-&nbsp;root</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>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>screen -x</tt>
 +
| Verbindet sich mit einer bestehenden virtuellen Konsole. Es können auch gleichzeitig mehrere Benutzer in einer virtuellen Konsole zusammen arbeiten.
 +
|
 
|-
 
|-
 
| <tt>[[psql]]</tt>
 
| <tt>[[psql]]</tt>
Zeile 631: Zeile 931:
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
! Befehl !! Syntax !! Beschreibung !! Beispiel
 
|-
 
|-
| <tt>jobs</tt> || <tt>jobs</tt> || Zeigt die Jobs an, die momentam in Hintergrund laufen. || &nbsp;
+
| <tt>jobs</tt> || <tt>jobs</tt> || Zeigt die Jobs an, die momentan in Hintergrund laufen. || &nbsp;
 
|-
 
|-
 
| <tt>fg</tt> || <tt>fg&nbsp;''Job''</tt> || Bringt den ''Job'' in den Vordergrund. || <tt>fg&nbsp;%1</tt>
 
| <tt>fg</tt> || <tt>fg&nbsp;''Job''</tt> || Bringt den ''Job'' in den Vordergrund. || <tt>fg&nbsp;%1</tt>
Zeile 644: Zeile 944:
 
{| class="wikitable"
 
{| class="wikitable"
 
! Tastenkombination !! Beschreibung
 
! Tastenkombination !! Beschreibung
 +
|-
 +
| <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+C]</tt> || <tt>bash</tt>: Bricht den aktuellen Vorgang in der Shell ab.
Zeile 655: Zeile 961:
 
| <tt>[STRG+L]</tt> || <tt>bash</tt>: Löscht den Bildschirm, z.&nbsp;B. um sicherheitsrelevante Daten zu vernichten.
 
| <tt>[STRG+L]</tt> || <tt>bash</tt>: Löscht den Bildschirm, z.&nbsp;B. um sicherheitsrelevante Daten zu vernichten.
 
|-
 
|-
| <tt>[Tab]</tt>
+
| <tt>[STRG+S]</tt> || <tt>bash</tt>: Pausiert die Bildschirmausgabe.
| <tt>bash</tt>: Vervollständigt den angefangenen Befehls-, Verzeichnis- oder Dateinamen.
+
|-
 +
| <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>[~]&nbsp;[.]</tt> || <tt>ssh</tt>: Terminiert die Session.
 
| <tt>[~]&nbsp;[.]</tt> || <tt>ssh</tt>: Terminiert die Session.
Zeile 664: Zeile 983:
 
| <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.
 
| <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.
 
|-
 
|-
 +
|}
 +
 +
=== Struktur des Dateisystems ===
 +
{| class="wikitable"
 +
! 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>/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 ===
 +
{| class="wikitable"
 +
! Verzeichnis
 +
! Datei
 +
! Speicherdauer
 +
! Beschreibung
 +
|-
 +
| <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
 +
|-
 +
| || andere || 7 Tage || Zugriffe auf gesperrte Seiten
 +
|-
 +
| <tt>/var/log/squidguard</tt> || || || Webfilter (squidguard)
 +
|-
 +
| || <tt>squidGuard.log</tt> || 30 Tage || Webfilter
 +
|-
 +
| <tt>/var/lib/iserv/chat</tt> || || || IServ Chat
 +
|-
 +
| || <tt>group/*</tt> || 90 Tage || Gruppenräume
 +
|-
 +
| || <tt>public/*</tt> || 90 Tage || Öffentliche Räume
 
|}
 
|}
  
 
=== Wichtige Dateien ===
 
=== Wichtige Dateien ===
==== Linux-spezifisch ====
 
 
{| class="wikitable"
 
{| class="wikitable"
 
! Dateiname
 
! Dateiname
Zeile 673: Zeile 1.248:
 
|-
 
|-
 
| <tt>/etc/aliases</tt>
 
| <tt>/etc/aliases</tt>
| E-Mail-Adressverteiler, hier können Aliasnamen für verschiedene Benutzer angelegt werden.
+
| 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/bashrc</tt>
+
| <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>''.
 
| 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>''.
 
|-
 
|-
Zeile 681: Zeile 1.256:
 
| Zeitplan des [[Steuern des cron-Daemons|cron-Daemons]].
 
| Zeitplan des [[Steuern des cron-Daemons|cron-Daemons]].
 
|-
 
|-
| <tt>/etc/dhcpd.conf</tt>
+
| <tt>/etc/dhcp3/dhcpd.conf</tt>
 
| Konfigurationsdatei des [[DHCP-Server]]s.
 
| Konfigurationsdatei des [[DHCP-Server]]s.
 
|-
 
|-
 
| <tt>/etc/fstab</tt>
 
| <tt>/etc/fstab</tt>
| Informationen über die Mountpoints, wo Dateisysteme einzuhängen sind, ebenso über das zu verwendende Dateisystem.
+
| Legt fest, welche Dateisystem in welche Mountpoints eingehängt werden.
 
|-
 
|-
 
| <tt>/etc/group</tt>
 
| <tt>/etc/group</tt>
Zeile 692: Zeile 1.267:
 
| <tt>/etc/gshadow</tt>
 
| <tt>/etc/gshadow</tt>
 
| Äquivalent zur <tt>shadow</tt>-Datei (s.&nbsp;u.), jedoch für Gruppen.
 
| Ä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>
 
| <tt>/etc/passwd</tt>
Zeile 700: Zeile 1.281:
 
|-
 
|-
 
| <tt>/etc/resolv.conf</tt>
 
| <tt>/etc/resolv.conf</tt>
| Enthält rudimentäre Informationen über die Netzwerk-Namensauflösung; etwa, welcher Server der Nameserver ist.
+
| 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>
 
| <tt>/etc/samba/smbpasswd</tt>
Zeile 706: Zeile 1.290:
 
|-
 
|-
 
| <tt>/etc/shadow</tt>
 
| <tt>/etc/shadow</tt>
| Die Passwortdatenbank von Linux; sie enthält die gehashten Passwörter aller [[Linux-Benutzer]]. Nur für [[root]] lesbar und schreibbar.
+
| Die Passwortdatenbank von Linux; sie enthält die {{WP|Hash|gehashten}} Passwörter aller [[Linux-Benutzer]]. Nur für [[root]] lesbar und schreibbar.
 
|-
 
|-
 
| <tt>/proc/cpuinfo</tt>
 
| <tt>/proc/cpuinfo</tt>
| Enthält Informationen über die CPU.
+
| Enthält Informationen über die CPU. Nur lesbar.
 
|-
 
|-
 
| <tt>/proc/filesystems</tt>
 
| <tt>/proc/filesystems</tt>
| Enthält eine Auflistung aller Dateisysteme, die unterstützt werden.
+
| Enthält eine Auflistung aller Dateisysteme, die unterstützt werden. Nur lesbar.
 
|-
 
|-
 
| <tt>/proc/mdstat</tt>
 
| <tt>/proc/mdstat</tt>
| Enthält Statusinformationen des Software-RAID-Treibers.
+
| Enthält Statusinformationen des Software-RAID-Treibers. Nur lesbar.
 
|-
 
|-
 
| <tt>/proc/pci</tt>
 
| <tt>/proc/pci</tt>
| Enthält Informationen zu allen Geräten, die am PCI-Bus des Computers angeschlossen sind.
+
| Enthält Informationen zu allen Geräten, die am PCI-Bus des Computers angeschlossen sind. Nur lesbar.
 +
|-
 +
| <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>
 
| <tt>/var/lib/dhcp/dhcpd.leases</tt>
 
| Enthält eine Auflistung aller DHCP-Leases, die der Server vergeben hat.
 
| Enthält eine Auflistung aller DHCP-Leases, die der Server vergeben hat.
|-
 
| <tt>/var/log/messages</tt>
 
| Eine der wichtigsten Logdateien des Systems, in die nahezu alle Meldungen geschrieben werden.
 
|-
 
| <tt>/var/named/forward.zone</tt>
 
| Forward-Lookup-Zone des DNS-Servers.
 
|-
 
| <tt>/var/named/reverse.zone</tt>
 
| Reverse-Lookup-Zone des DNS-Servers.
 
|}
 
 
==== IServ-spezifisch ====
 
{| class="wikitable"
 
! Dateiname
 
! Beschreibung
 
|-
 
| <tt>/var/iserv/chat</tt>
 
| Log-Dateien des [[Chat]]s.
 
|-
 
| <tt>/var/iserv/netlogon</tt>
 
| [[Netlogon]]-Ordner; als <tt>\\iserv\netlogon</tt> [[Share|freigegeben]].
 
|-
 
| <tt>/opt/iserv</tt>
 
| Enthält praktisch alle ausführbaren Dateien, die zu IServ gehören.
 
|-
 
| <tt>/opt/iserv/idesk</tt>
 
| Enthält die PHP-Dateien, die den [[IDesk]] darstellen.
 
|-
 
| <tt>/var/iserv/sbin</tt>
 
| Enthält die Kommandozeilentools, die zu IServ gehören.
 
|-
 
| <tt>/etc/iserv</tt>
 
| Enthält die zentralen Konfigurationsdateien von IServ.
 
 
|}
 
|}
  

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" &