09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

6.4 Umgang mit Dateien 89<br />

Tabelle 6.3: Optionen für cp<br />

Option<br />

Wirkung<br />

-b (backup) Legt von existierenden Zieldateien Sicherungskopien an, indem an den Namen<br />

eine Tilde angehängt wird<br />

-f (force) Überschreibt bereits existierende Zieldateien ohne Rückfrage<br />

-i (interactive) fragt nach, ob bereits bestehende Dateien überschrieben werden sollen<br />

-p (preserve) Behält möglichst alle Dateiattribute der Quelldatei bei<br />

-R (recursive) Kopiert Verzeichnisse mit allen Unterverzeichnissen und allen darin enthaltenen<br />

Dateien<br />

-u (update) Kopiert nur, wenn die Quelldatei neuer als die Zieldatei ist (oder noch keine<br />

Zieldatei existiert)<br />

-v (verbose) Zeigt alle Aktivitäten auf dem Bildschirm<br />

6.4 Umgang mit Dateien<br />

6.4.1 Kopieren, Verschieben und Löschen – cp und Verwandte<br />

Mit dem Kommando cp (engl. copy, »kopieren«) können Sie beliebige Dateien ko- Dateien kopieren<br />

pieren. Dabei gibt es zwei Vorgehensweisen:<br />

Nennen Sie cp die Namen von Quell- und Zieldatei als Argumente, dann wird<br />

unter dem Zieldateinamen eine 1 ∶ 1-Kopie <strong>des</strong> Inhalts der Quelldatei abgelegt. 1 ∶ 1-Kopie<br />

Standardmäßig fragt cp nicht nach, ob es eine bereits existierende Zieldatei überschreiben<br />

soll, sondern tut dies einfach – hier ist also Vorsicht (oder die Option -i)<br />

angebracht.<br />

Statt eines Zieldateinamens können Sie auch ein Zielverzeichnis angeben. <strong>Die</strong> Zielverzeichnis<br />

Quelldatei wird dann unter ihrem alten Namen in das Verzeichnis hineinkopiert.<br />

$ cp liste liste2<br />

$ cp /etc/passwd .<br />

$ ls -l<br />

-rw-r--r-- 1 hugo users 2500 Oct 4 11:11 liste<br />

-rw-r--r-- 1 hugo users 2500 Oct 4 11:25 liste2<br />

-rw-r--r-- 1 hugo users 8765 Oct 4 11:26 passwd<br />

Im Beispiel haben wir mit cp zunächst eine exakte Kopie der Datei liste unter<br />

dem Namen liste2 erzeugt. Anschließend haben wir noch die Datei /etc/passwd ins<br />

aktuelle Verzeichnis (repräsentiert durch den Punkt als Zielverzeichnis) kopiert.<br />

<strong>Die</strong> wichtigsten der zahlreichen cp-Optionen sind in Tabelle 6.3 aufgelistet.<br />

Statt einer einzigen Quelldatei sind auch eine längere Liste von Quelldatei- Liste von Quelldateien<br />

en oder die Verwendung von Shell-Suchmustern zulässig. Allerdings lassen sich<br />

auf diese Art nicht mehrere Dateien in einem Schritt kopieren und umbenennen,<br />

sondern nur in ein anderes Verzeichnis kopieren. Während in der DOS- und Windows-Welt<br />

mit »COPY *.TXT *.BAK« von jeder Datei mit der Endung TXT eine Sicherungskopie<br />

mit der Endung BAK angelegt wird, versagt unter <strong>Linux</strong> der Befehl »cp<br />

*.txt *.bak« normalerweise unter Ausgabe einer Fehlermeldung.<br />

B<br />

Um dies zu verstehen, müssen Sie sich vergegenwärtigen, wie die Shell diesen<br />

Befehl verarbeitet. Sie versucht zunächst, alle Suchmuster durch die passenden<br />

Dateinamen zu ersetzen, also zum Beispiel *.txt durch brief1.txt<br />

und brief2.txt. Was mit *.bak passiert, hängt davon ab, auf wieviele Namen<br />

*.txt gepasst hat und ob es im aktuellen Verzeichnis Namen gibt, die<br />

auf *.bak passen – allerdings wird fast nie das passieren, was ein DOS-Anwender<br />

erwarten würde! Normalerweise wird es wohl darauf hinauslaufen,<br />

dass die Shell dem cp-Kommando das unersetzte Suchmuster *.bak als letztes<br />

einer Reihe von Argumenten übergibt, und das geht aus der Sicht von cp<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!