FAQ
Häufige Linux / Unix Kommandos
Um Ihren Server über die ssh Shell zu bedienen und einzustellen, brauchen Sie nur wenige UNIX-/LINUX-Kenntnisse. Mit den richtigen Befehlen können Sie nahezu alle Arbeiten an Ihrem Server schnell und einfach ausführen. Wir haben hier die wichtigsten Befehle aufgelistet und zeigen Ihnen, wie leicht sie benutzt werden können.
Wenn Sie über einen Befehl mehr erfahren möchten, so geben Sie am Shell-Prompt einfach dies ein:
man Befehl
Wobei 'Befehl' für den entsprechenden Befehl, z.B. 'pwd' steht.
cd | pwd | ls | cat |
mkdir | rmdir | cp | mv |
rm | grep | tar | zip |
unzip | which | sudo | su |
chmod | chown |
cd [Verzeichnis]
Der cd-Befehl bewegt Sie in das gewünschte Verzeichnis, oder in Ihr Home-Verzeichnis, wenn Sie den Verzeichnisnamen weglassen.
Bsp.:
cd www
bewegt Sie in das Unterverzeichnis www des aktuellen Ordners
pwd
Dieses Kommando gibt den Namen Ihres momentanen Verzeichnisses als gesamten Path wieder (present working directory - das aktuelle Arbeitsverzeichnis)
Bsp.:
pwd
ls [Verzeichnis]
Dieser Befehl listet Ihnen alle Dateien und Unterverzeichnisse des Verzeichnisses [Verzeichnis] auf. Geben Sie keinen Verzeichnisnamen an, so erscheint eine Auflistung aller Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis.
Bsp.:
ls -Fal
Sie können einige Zusätze mit angeben, um die Darstellung der Auflistung zu verändern:
ls -F hängt ein / an jedes Verzeichnis in der Auflistung, damit Sie sie schnell von den Dateien unterscheiden können.
ls -a zeigt auch alle versteckten Dateien an, z.B. .htaccess
ls -l gibt Ihnen zu allen Dateien und Verzeichnissen auch Informationen über Besitzer, Zugriffsrechte, Größe und Datum der letzten Änderung.
ls -t sortiert die Dateien und Ordner nach Datum
Sie können auch die Schalter miteinander mischen. ls -aF gibt Ihnen eine Auflistung aller Dateien (auch der versteckten) und stellt ein / hinter jedes Verzeichnis.
cat [Dateiname]
cat gibt den Inhalt einer Datei auf dem Bildschirm aus. Wenn die Datei sehr groß ist, können Sie auch cat [Dateiname] | more eingeben; dadurch wird jeweils eine Bildschirmlänge Text gezeigt, bis Sie eine Taste drücken. Ein Druck auf die Tase q bricht die Ausgabe auch mitten in einer Datei ab (manchmal will man nicht bis zum Ende warten). Sie könnten auch nur more [Dateiname] eingeben.
Bsp.:
cat httpd.conf
mkdir [Verzeichnis]
Mit diesem Befehl erstellen Sie ein neues Verzeichnis. Geben Sie einfach den Befehl ein und drücken Sie return.
Bsp:
mkdir neuheiten
erstellt ein neues Verzeichnis 'neuheiten' im aktuellen Ordner (siehe pwd).
rmdir [Verzeichnis]
rmdir löscht das benannte, leere(!) Verzeichnis.
Bsp.:
rmdir neuheiten
cp [Quell-Datei] [Ziel-Datei]
Der Befehl cp kopiert Dateien. Sie können auch Pfadangaben als Teil des Dateinamens angeben - die Position der Datei wird entsprechend sein. Existiert die Ziel-Datei, so wird sie überschrieben. Dieses Verhalten kann je nach Schaltern und Quell/Ziel Datei(en) unterschiedlich sein.
Bsp.:
cp info.txt /home/httpd/docs/info.txt
kopiert die Datei 'info.txt' aus dem aktuellen Verzeichnis auf die Datei '/home/httpd/docs/info.txt' und überschreibt diese, wenn sie vorhanden ist.
mv [Quell-Datei] [Ziel-Datei]
Der mv Befehl benennt eine Datei um (beim Verschieben ins selbe Verzeichnis) oder verschiebt sie an eine neue Stelle. Wenn die Zieldatei existiert, wird sie überschrieben.
Bsp.:
mv info.txt /home/httpd/docs/info.txt
verschiebt die Datei 'info.txt' aus dem aktuellen Verzeichnis auf die Datei '/home/httpd/docs/info.txt' und überschreibt diese, wenn sie vorhanden ist.
rm [Dateiname]
Dieser Befehl löscht eine bestehende Datei. Sie werden vor dem endgültigen Löschen vom System nach einer Bestätigung gefragt. Mit dem Schalter '-f' löscht der Befehl die Datei ohne(!) Warnung oder Rückfrage.
Bsp.:
rm /home/httpd/docs/info.txt
grep [Zeichenfolge] [Dateiname(n)]
Dieses Kommando findet Zeilen in Dateien, in denen die gesuchte Zeichenfolge vorkommt. Im Dateinamen können Sie auch Jokerzeichen eingeben. Um z.B. in allen HTML-Dateien eines Verzeichnises nach einem bestimmen Bild zu suchen, geben Sie Folgendes ein und drücken Return:
Bsp.:
grep duffyduck.gif *.htm*
Als Ergebnis bekommen Sie auf Ihrem Bildschirm alle Zeilen der Dokumente ausgedruckt, die duffyduck.gif beinhalten. Wurden wie hier mehrere Dateien durchsucht, beginnen die Zeilen mit dem Namen der Datei.
Dieser Befehl ist sehr mächtig und es gibt ganze Bücher über seine Möglichkeiten. Eine gute Quelle zum finden von typischen, sinnvollen Optionen finden Sie hier.
tar [tar-Datei] [Dateiname(n)|Verzeichnis]
Mit dem tar-Befehl kopiert man Dateien in oder aus einem Archiv. Um beispielsweise alle Dateien im Verzeichnis /docs in ein Archiv zu kopieren, geben Sie
tar -cvf testarchiv.tar /docs
ein. Jetzt befinden sich alle Dateien in der Datei testarchiv.tar.
Um alle Dateien aus einem Archiv zu extrahieren (inkl. Unterverzeichnisse), geben Sie dieses ein:
tar -xvf testarchiv.tar
Um z.B. eine Auflistung aller in einem Archiv befindlichen Dateien zu erhalten, ohne es gleich zu entpacken, geben Sie diese Version ein:
tar -tvf testarchiv.tar
Die Auflistung des Inhalts wird auf dem Bildschirm ausgegeben.
Wenn Sie zu obigen Beispielen den Schalter '-z' hinzufügen, wird das Archiv zustäzlich komprimiert, bzw. ein komprimiertes Archiv entpackt oder angezeigt.
zip [Zip-Datei] [Dateiname(n)]
Mit diesem Kompressionstool können Sie Dateien und Verzeichnisse ins Zip-Format komprimieren. Der Aufruf
zip paket.zip index.htm verkauf.htm support.htm
komprimiert die drei Dateien und packt sie in eine einzige Datei: paket.zip.
Dieses Format kann auf fast allen Betriebssystemen entpackt werden. Um diese Programm auf unseren Managed-Root-Servern zu benutzen, muss 'zip' über 'pkg install zip' zuerst installiert werden.
unzip [Zip-Datei]
Der entsprechende Befehl zum Entpacken von komprimierten Zip-Archiven ist unzip. Er ist kompatibel mit pkzip-Dateien vom DOS-/Windows-PC. Auch für MAC gibt es entsprechende Komprimierer, deren Dateien unzip auf Ihrem Server entpacken kann.
Bsp.:
unzip -aL paket.zip
Die Option -a versucht bei Textdateien das UNiX-Textformat zu erzwingen. -L schreibt alle Dateien mit Kleinbuchstaben (Lowercase) auf den Server. Diese Kombination ist oft hilfreich bei DOS-Archiven.
which [Programmname]
Mit diesem Befehl finden Sie die Position einer gesuchten Anwendung in Ihren PATH Pfaden. Wenn Sie z.B. wissen wollen, wo sich die Anwendung 'varnishd' - ein Proxy Cache - befindet, dann geben Sie
Bsp.:
which varnishd
ein und erhalten (wenn das Programm installiert ist) z.B. folgende Antwort:
/usr/local/sbin/varnishd
Falls die gesuchte Anwendung nicht in Ihren Pfaden ist, erhalten Sie eine entsprechende Fehlermeldung.
sudo [Programmname]
Auf den Managed-Root-Servern haben Sie die Möglichkeit mit diesem Befehl ein einzelnes Programm / Kommando als Superuser 'root' auszuführen.
Bsp.:
sudo service ntpd restart
Dieser Aufruf startet z.B. einen ntpd service neu. Parameter für ein Kommando (hier 'ntpd restart') werden also wie beim Aufruf ohne sudo genutzt.
su
Auf den Managed-Root-Servern haben Sie die Möglichkeit mit diesem Befehl eine sog. 'root-Shell' zu starten:
su
Nach diesem Kommando werden alle weiteren Aufrufe auf der Shell als Superuser 'root' ausgeführt. Dies ist mit besonderer Vorsicht zu nutzen, da durch falsche Eingaben Ihre Serverdaten und Einstellungen gelöscht oder in Ihrer korrekten Funktionalität nachhaltig gestört werden.
Es ist allgemein eine anerkannte und empfohlene Praxis den User 'root' nur dann zu benutzen, wenn es wirklich erforderlich ist und dann wieder einen 'normalen' User, wie 'admin' zu benutzen.
Um eine 'root-Shell' wieder zu verlassen geben Sie einfach:
exit
ein. Danach gelangend Sie wieder auf eine Shell mit den Rechten des vorherigen Benutzers (meist admin).
chmod
Dieser Befehl wird benutzt, um bestimmen Dateien oder Ordnern andere Rechte zuzuweisen. Auf den Managed-Root-Servern ist dies nur dem root-User und dem Besitzer der jeweiligen Datei (oder Ordner) erlaubt, auf den anderen hostNET-Servern mit dem Hauptuser 'admin' ist dieser und der Besitzer in der Lage dazu.
Die 'typischen' Rechte sind 'Lesen' (4), 'Schreiben' (2) und 'Ausführen' (1), die dem 'Besitzer' (u), der 'Gruppe' (g) oder 'Jedem' (o) eingeräumt werden können.
Da die verschiedenen Möglichkeiten sehr unfangreich sind, finden Sie hier mehr Informationen zu Dateirechten.
chown
Dateien und Ordner haben unter Unix/Linux nicht nur bestimmte Rechte, sondern müssen immer einem bestimmten Benutzer (Owner) gehören und einer bestimmten Gruppe (group). Dies ist z.B. hier zu sehen:
-rw-rw-r-- 1 admin vuser 20441 27 Apr 16:20 /etc/apache24/httpd.conf
Diese Datei gehört dem Benutzer 'admin' und der Gruppe 'vuser'. Möchten Sie dies ändern, und z.B. den Benutzer 'web' als zukünfitgen Besitzer dieser Datei setzen, so geben Sie folgendes ein:
chown web /etc/apache24/httpd.conf
Damit ist der neue Besitzer dieser Datei der Benutzer 'web':
-rw-rw-r-- 1 web vuser 20441 27 Apr 16:20 /etc/apache24/httpd.conf
Diese Änderung kann nur vom Superuser 'root' (bzw. 'admin' auf den Reseller/Business Servern) oder dem bisherigen Besitzer ausgeführt werden.
Sie brauchen Hilfe?
0421 4089-000