Teil von SELFHTML aktuell Teil von Artikel Teil von Serverkonfiguration

Linux für Webworker - Kommandoreferenz

Inhalt dieser Seite:

nach unten Allgemeines zu dieser Kommandoreferenz
nach unten ls - Verzeichnisinhalt ausgeben
nach unten chmod - Dateirechte setzen
nach unten mkdir - Verzeichnis erstellen
nach unten mv - Dateien verschieben oder umbenennen
nach unten cp - Dateien kopieren
nach unten rm - Dateien löschen
nach unten cat - Dateiinhalte ausgeben
nach unten more - Ausgabe rollen
nach unten less - opposite of more
nach unten ln - Links im Dateisystem erzeugen
nach unten tar - Archive verarbeiten
nach unten wget - Webseiten herunterladen

Navigation (alle Artikelseiten):

Seite Hauptartikel
Seite Kommandoreferenz (diese Seite)
Seite SSH-Software
Seite Anhang

Allgemeines zu dieser Kommandoreferenz

Die meisten Linux-Kommandoe wirken auf den ersten Blick eher unscheinbar und einfach. Doch oft verbirgt sich hinter einem Kommando aus zwei Buchstaben eine schier unüberschaubare Optionsvielfalt. In dieser kleinen Referenz sind die wichtigsten Optionen der Kommandos aus dem Hauptartikel zusammengefasst. Ausserdem sind, wo es sinnvoll erschien, weitere Optionen beschrieben.

Die Referenz ist weder in Hinblick auf die Kommandozahl, noch auf deren Optionen vollständig! Es werden nur die gebräuchlichsten und für den Zusammenhang der Web-Projektverwaltung wichtigsten beschrieben! Vollständige Dokumentationen der Kommandos erhalten Sie meist durch die eingebauten Seite Hilfefunktionen.

nach obennach unten

ls - Verzeichnisinhalt ausgeben

ls [Optionen] [Namen]

Zeigt den Inhalt von Verzeichnissen an. Ohne Angabe von Namen werden Dateien aus dem aktuellen Verzeichnis aufgelistet. Bei Angabe von einem oder mehreren Namen wird entweder der Inhalt aus den Verzeichnissen Name gelistet, oder alle Dateien des Arbeitsverzeichnisses auf die Name passt.

Sehr nützliche Optionen sind -l, -a, --color oder -R.

Option Alias Erläuterung
-a   Listet alle Dateien auf. Auch normalerweise versteckte, welche mit einem Punkt beginnen (z.B. auch .htaccess wird nur bei Verwendung dieses Schalters angezeigt).
--color --colour Dateinamen werden in Abhängigkeit ihres Dateityps eingefärbt.
--full-time   Zeitstempel der Verzeichniseinträge werden voll angegeben. Normalerweise werden Abkürzungen verwendet.
-k --kilobytes Gibt die Dateigrößen in Kilobytes aus.
-l --format=long Gibt den Inhalt im erweiterten Format aus. Unter anderem werden Zugriffsrechte, Besitzer, Länge und Änderungszeitpunkt ausgegeben.
-r --reverse Kehrt Sortierreihenfolge um.
-t --sort=time Sortiert anhand der letzten Änderung. Neueste werden zuerst angezeigt.
-F --classify Dateitypen werden mit folgenden Zeichen markiert: / für Verzeichnisse, * für Programme und @ für symbolische Links. Es gibt auch noch | für sog. FIFOs und = für Sockets.
-R --recursive Der Inhalt von Unterverzeichnissen wird rekursiv wiedergegeben.
-S --sort=size Sortierung nach Größe, beginnend mit den größten Dateien.

nach obennach unten

chmod - Dateirechte setzen

chmod [Optionen] Modus Dateien

Option Alias(e) Erläuterung
-c --changes Für jede geänderte Datei wird eine Meldung ausgegeben.
-R --recursive Steigt rekursiv in Unterverzeichnisse ab und ändert dort Dateien, auf die das Muster passt.
-v --verbose Gibt Meldungen für jede Datei aus, auch wenn diese nicht verändert wurden.

Im Hauptartikelteil unter Seite Rechte im Dateisystem wurde schon die Angabe des Modus mittels einer dreistelligen Oktalzahl erklärt. Es gibt noch eine weitere Möglichkeit, die Rechte in der Form Wer Operator Was anzugeben. Die Optionen werden in den folgenden Tabellen erläutert:

Wer

Option Bedeutung
u Benutzer
g Gruppe
o Andere
a Alle (default)

Operator

Operator Bedeutung
+ Recht hinzufügen.
- Recht abziehen.
= Recht explizit zuweisen und andere Rechte entfernen.

Was (Zugriffsrechte)

Option Bedeutung
r Lesen
w Schreiben
x Ausführen
u aktuelle Rechte des Benutzers
g aktuelle Rechte der Gruppe
o aktuelle Rechte aller anderen

Beispiele:

1: chmod 755 Datei<ENTER>
2: chmod u=rwx,g=rx,o=rx Datei<ENTER>
3: chmod g=u Datei<ENTER>

Erläuterung:

Im ersten Beispiel wird Datei für den Benutzer das Lese-, Schreib- und Ausführungsrecht, der Gruppe und allen anderen das Lese- und Ausführungsrecht explizit zugewiesen. Das zweite Beispiel macht genau dasselbe in der Optionsschreibweise. In der dritten Zeile werden der Gruppe die Rechte des Besitzers zugewiesen.

nach obennach unten

mkdir - Verzeichnis erstellen

mkdir [Optionen] Verzeichnisse

Erstellt ein oder mehrere Verzeichnisse. Um ein Verzeichnis zu erstellen, benötigen Sie Schreibrechte im Mutterverzeichnis. Sie können die Rechte im aktuellen Verzeichnis durch die Eingabe von ls -la | grep "\.$" überprüfen. Der Eintrag mit dem einzelnen Punkt ist das aktuelle Verzeichnis.

Option Alias(e) Erläuterung
-p --parents Unterverzeichnisse in nicht existierenden Verzeichnissen erstellen.
--verbose   Meldungen für erzeugte Verzeichnisse ausgeben.

Beispiel:

mkdir -p website/foo/bar

Erläuterung:

Mit dem -p-Schalter wird ein kleiner Verzeichnisbaum auf einmal erstellt. Erzeugt wird zuerst das Verzeichnis "website", danach innerhalb dessen "foo" und darunter "bar".

nach obennach unten

mv - Dateien verschieben oder umbenennen

mv [Optionen] Quellen Ziel

Bewegt Quellen nach Ziel. Wenn Ziel eine Datei im selben Verzeichnis wie Quellen ist, entspricht dies einem Umbenennen. Wenn Sie als Quellen mehrere Dateien (z.B. *.html) angeben, muss Ziel ein existierendes Verzeichnis sein.

Option Alias(e) Erläuterung
-b --backup Erstellt Sicherungskopien, bevor evtl. existierende Zieldateien überschrieben werden.
-i --interactive Verlangt eine Bestätigung, bevor existierende Zieldateien überschrieben werden.
-v --verbose Gibt den Namen jeder verschobenen Datei aus.

Tipp:

mv -v *.foo zielverzeichnis/ > move.log<ENTER>

Erläuterung:

Dieses Kommando bewegt alle Dateien mit der Endung "foo" in das Zielverzeichnis. Dabei werden alle Vorgänge in der Datei move.log aufgezeichnet. Damit kann man immer kontrollieren, was man gerade "angestellt" hat.

nach obennach unten

cp - Dateien kopieren

cp [Optionen] Quellen Ziel

Kopiert eine oder mehrere Dateien von Quellen nach Ziel. Sind Quelle und Ziel einzelne Dateien, so wird von Quellen ein Duplikat namens Ziel erstellt. Wenn Sie als Quellen mehrere Dateien (z.B. *.html) angeben, muss Ziel ein existierendes Verzeichnis sein.

Option Alias(e) Erläuterung
-i --interactive Verlangt eine Bestätigung, bevor existierende Zieldateien überschrieben werden.
-r --recursive Kopiert Dateien und Verzeichnisse rekursiv.
-v --verbose Gibt die Namen der kopierten Dateien aus.

nach obennach unten

rm - Dateien löschen

rm [Optionen] Dateien

Löscht eine oder mehrere Dateien. Um Dateien zu löschen, benötigen Sie das Schreibrecht für das Verzeichnis, in dem die Datei enthalten ist. Für die Datei selbst benötigen Sie es nicht, Sie müssen allerdings das Löschen bestätigen, falls Sie kein Schreibrecht für die Datei besitzen.

Option Alias(e) Erläuterung
-i --interactive Erwartet vor dem Löschen jeder Datei eine Bestätigung.
-r --recursive Wenn Sie ein Verzeichnis angegeben haben, wird das Verzeichnis samt Inhalt komplett gelöscht.
-v --verbose Meldung ausgeben, bevor eine Datei gelöscht wird.

Wichtiger Hinweis!

Es gibt unter Linux standardmäßig keine Möglichkeit, gelöschte Dateien "mal eben aus dem Papierkorb zu holen". Was gelöscht ist, ist verloren. Seien Sie also vorsichtig, wenn Sie rm benutzen. Prüfen Sie insbesondere beim Einsatz des -r-Schalters Ihre Eingaben auf Richtigkeit! Ein einzelner Punkt oder ein Slash zuviel kann fatale Folgen haben!

nach obennach unten

cat - Dateiinhalte ausgeben

cat [Optionen] [Dateien]

Gibt den Inhalt von einer oder mehrerer Dateien auf der Standardausgabe aus. Dateien ist tatsächlich optional, denn cat kann auch von der Standardeingabe lesen (z.B. in einem Pipe-Kontext).

Option Alias(e) Erläuterung
-n --number Numeriert Ausgabezeilen durch.
-v --show-nonprinting Gibt Steuerzeichen (nicht-druckbare) mit aus.

Beispiele:

1: cat -n Datei<ENTER>
2: cat foo.txt bar.txt > foobar.txt<ENTER>
3: ls -l *.gif | cat -n -<ENTER>
4: cat > neu.txt << STOP<ENTER>

Erläuterung:

Das erste Kommando gibt die Datei mit durchnummerierten Zeilen auf dem Bildschirm aus. Das zweite erstellt eine neue Datei foobar.txt mit den Inhalten von foo.txt und bar.txt. Das dritte Konstrukt ist etwas komplizierter: Die Ausgabe des nach oben ls-Kommandos wird an cat weitergereicht (gepiped). cat liest in diesem Fall von der Standardeingabe, was durch den Strich (-, kann auch weggelassen werden, ist aber korrekter!) symbolisiert wird. Diese wird dann durch den -n-Schalter durchnummeriert. Das Ergebnis ist also eine durchnumerierte Liste aller gif-Dateien im Verzeichnis. In der vierten Zeile wird eine neue Datei erzeugt. Und zwar werden Ihre Tastatureingaben so lange gelesen und in die Datei geschrieben, bis Sie STOP<ENTER> eingeben.

nach obennach unten

more - Ausgabe rollen

more [Optionen] [Dateien]

Dieser Pager besitzt zwar einige Optionen, allerdings keine nennenswerten. Meistens wird more ohne Optionen aufgerufen und dann im interaktiven Modus (während der Dateianzeige) gesteuert. Die wichtigsten Tastaturkommandos folgen hier auf einen Blick (in spitzen Klammer stehen die zu drückenden Tasten):

Kommando Wirkung
<SPACE> Zeigt die nächste Textseite an.
<q> Abbrechen, Beenden.
<b> Zeigt vorige Textseite an.
</>muster Sucht nach muster und springt ersten Treffer an.
<n> Wiederholt die letzte Suche.

Tipp:

ls -lR / | more<ENTER>

Erläuterung:

Wenn Ihre Kommandos längere Ausgaben vermuten lassen, sollten Sie immer einen Pager wie more oder auch nach unten less die Ausgabe seitenweise darstellen lassen. Das Kommando im Beispiel würde z.B. alle Dateien rekursiv ab dem Stammverzeichnis ausgeben. Die Pipe zum Pager verhindert dabei schlimmere Augenverletzungen beim Durchscrollen ;-].

nach obennach unten

less - opposite of more

less [Optionen] [Dateien]

Bei less handelt es sich nicht etwa um keinen Pager, die Beschreibung "opposite of more" wurde vielmehr gewählt, weil less die vielen Mängel von more ausgleichen sollte (das tut es auch). Wenn Sie less auf Ihrem Rechner installiert haben, sollten Sie es more vorziehen. Die grundlegenden Kommandos sind gleich, jedoch können Sie mit diesem Pager, z.B. problemlos mit den Cursortasten vor- und zurückblättern. Ausserdem werden Suchtreffer hervorgehoben.

less bietet noch viele weitere interessante Kommandos, die aber den Rahmen dieser Referenz sprengen würden. Weitere Infos finden Sie z.B. durch die Eingabe von man less.

nach obennach unten

ln - Links im Dateisystem erzeugen

ln [Optionen] Quellname [Zielname]

Erzeugt einen Link mit Namen Zielname auf die Datei Quellname. Wird das Ziel weggelassen, so wird der Link im aktuellen Verzeichnis angelegt. Ist das Ziel ein Verzeichnis, wird ein gleichnamiger Link darin angelegt. Existierende Dateien werden durch Zielname überschrieben! Die erzeugten Links können genau wie ihre Quelldateien angesprochen werden. Änderungen wirken sich auf die Quelldateien aus!

Option Alias(e) Erläuterung
-i --interactive Fragt nach, bevor evtl. Dateien überschrieben werden.
-s --symbolic Erstellt einen symbolischen Link. Erlaubt damit Verknüpfungen zu Verzeichnissen. Der Name der Zieldatei ist durch die Ausgabe von ls -l sichtbar.

Hinweis:

Lesen Sie auch den Abschnitt Seite Arbeiten mit Links im Hauptartikel.

nach obennach unten

tar - Archive verarbeiten

tar [Optionen] Tardatei Dateien

Kopiert Dateien aus oder in Tardatei. Tatsächlich ist die Angabe von Dateien optional, auf diese Verwendungsweise wird hier aber nicht weiter eingegangen.

Option Alias(e) Erläuterung
-c --create Neues Archiv anlegen.
-r --append Dateien an das Ende des Archivs anfügen.
-t --list Ausgabe von Dateien, wenn sie im Archiv gespeichert sind.
-x --extract Dateien aus dem Archiv extrahieren.

Die obigen Schalter sind "Funktionsoptionen". Einer davon (und nur einer) wird bei jeder tar-Operation benötigt.

Option Alias(e) Erläuterung
-v --verbose Dateinamen, die an Aktionen beteiligt sind, ausgeben.
-z   Dateien komprimieren bzw. dekomprimieren.
-W --verify Archiv nach dem Anlegen auf seine Integrität prüfen.
-X Datei --exclude Datei Dateien aus Datei beim Archivieren bzw. Extrahieren nicht berücksichtigen.

Beispiele:

Obwohl tar eigentlich ein Programm zur Bandsicherung ist, wird es häufig verwendet, um Archivdateien (sog. tarballs) zu erzeugen und verarbeiten. Hier die beiden geläufigsten Anwendungen:

1: tar cvfz tarchiv.tgz *
2: tar xvfz tarchiv.tgz *.html

Erläuterung:

Das erste Kommando sichert alle Dateien des aktuellen Verzeichnisses (auch Unterordner) in ein komprimiertes Archiv. Mit dem zweiten werden aus diesem Archiv alle HTML-Dateien wieder ins Arbeitsverzeichnis kopiert. Wenn Sie ein komprimiertes Archiv (-z-Schalter) erzeugen wollen, sollten Sie als Dateiendung .tgz oder .tar.gz benutzen, um dies anzuzeigen.

Der -f-Schalter in Verbindung mit einem Archivnamen ist erforderlich, wenn Sie in eine Datei sichern, oder Dateien aus einer Datei extrahieren möchten.

nach obennach unten

wget - Webseiten herunterladen

wget [Optionen] URL

Lädt ggf. komplette Webseiten herunter und speichert sie im aktuellen Arbeitsverzeichnis. wget kann, falls erwünscht, einen evtl. abgebrochenen Download an der Abbruchstelle wieder fortsetzen. Der Funktionsumfang von wget ist gewaltig. Es empfiehlt sich also auch die manpage man wget zu durchforsten.

Option Alias(e) Erläuterung
-q --quiet Unterdrückt sämtliche Ausgaben.
-nv --non-verbose Es werden nur Fehlermeldungen und wichtige Informationen angezeigt.
-i Datei --input-file=Datei Die zu holenden URLs werden aus Datei gelesen, wobei Datei auch ein HTML-Dokument sein kann.
-c --continue Ein evtl. abgebrochener Download wird an der Abbruchstelle durch erneutes Aufrufen des wget-Kommandos fortgesetzt.
-U string --user-agent=string Sendet die Clientkennung string an den Server. Diese Kennung erscheint i.d.R. in den Webserverlogfiles.
--passive-mode   Wird meist für ftp hinter Firewalls benötigt.
-r --recursive Lädt HTML-Dokumente rekursiv herunter, d.h. es werden alle verlinkten Dokumente geladen.
-l Tiefe --level=Tiefe Steigt bei rekursiven Downloads maximal bis zu Tiefe Ebenen ab.
-k --convert Konvertiert HTML-Links so, daß ein offline-Lesen des Dokuments möglich wird.
-p --page-requisites Lädt auch die Bilder, Stylesheets oder Sounds, die zu HTML-Dokumenten gehören mit herunter.
-O Datei --output-document Datei Schreibt alle geholten Inhalte in Datei. Wenn Datei ein Strich ist (-) werden die Inhalte auf die Standardausgabe geschrieben.

Beispiel:

Die folgende Codezeile ist eigentlich mehr als ein Beispiel für wget. Es zeigt sehr schön, dass Linux ein richtiges Baukastenbetriebssystem ist, mit dem man sich aus einzelnen kleinen Kommandos eine komplexe Funktion basteln kann.

wget -q -O - http://forum.de.selfhtml.org/ | grep "(PERL)" | lynx -stdin<ENTER>

Erläuterung:

Dieses Kommando enthält drei durch Pipesymbole (|) getrennte Abschnitte. Zunächst wird mit wget der aktuelle Stand des SELFHTML-Forums geholt. Der Schalter -q unterdrückt dabei jegliche Ausgabe. Der -O-Schalter in Verbindung mit dem Strich (-) bewirkt das Schreiben des HTML-Inhalts auf die Standardausgabe. Durch das Pipe-Symbol wird nun grep dazu veranlasst, die Standardeingabe (also die Forumshauptdatei) zu verarbeiten. Der Ausdruck "(PERL)" bewirkt, daß nur Zeilen, die "(PERL)" enthalten zurückgegeben werden. Dadurch wird zwar auch der Rest des HTML-Dokuments verworfen, aber für dieses Beispiel reicht es. Nun ist nämlich lynx dran, der durch den Schalter -stdin dazu gebracht wird, die Standardeingabe zu lesen und als HTML darzustellen. Das Ergebnis ist die Anzeige aller Threads zum Thema PERL.

weiter Seite SSH-Software

zurück Seite Hauptteil

Teil von SELFHTML aktuell Teil von Artikel Teil von Serverkonfiguration

© 2007 bereichsübergreifende Seite Impressum, für diese Seite: E-Mail selfeature@speedesign.de