Cp: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''cp''' ('''c'''o'''p'''y) kopiert Dateien und Verzeichnisse.
{{DISPLAYTITLE:cp}}
'''cp''' ('''c'''o'''p'''y) kopiert Dateien und Verzeichnisse


= Beschreibung =
== Beschreibung ==
= Installation =
Der Befehl '''cp''' kopiert eine oder mehrere Dateien in das angegebene Verzeichnis
= Syntax =
* Existiert die Datei schon im Zieldirectory, wird sie überschrieben
* <code>cp [Option] QUELLE ZIEL</code> um eine Datei zu kopieren.
* Dateien, die mit einem Punkt beginnen, müssen explizit angegeben werden
* <code>cp -r [Option] QUELLE ZIEL</code> um ein Verzeichnis zu kopieren.
* <code>cp [Option] QUELLE1 QUELLE2 QUELLE3... ZIEL</code> um mehrere Quellen zu kopieren.


== Parameter ==
== Installation ==
== Optionen ==
== Anwendung ==
{| class="wikitable"
=== Datei kopieren ===
* Falls das Ziel ein Dateipfad ist, wird die Quelle diesen Pfad haben. Existierende Dateien werden überschrieben.
* Falls das Ziel ein Verzeichnis ist, wird die Quelle darein platziert.
 
=== Verzeichnis kopieren ===
* Verzeichnisse können nur mit der <code>-r</code> (rekursiv) Option kopiert werden.
* Um ein Verzeichnis zu kopieren, muss das Ziel ein vorhandenes Verzeichnis sein.
* Verzeichnisse werden in das Ziel kopiert.
 
Sollen mehrere Dateien kopiert werden, muss das Ziel ein Verzeichnis sein. Das gleiches gilt für den Fall, dass ein Verzeichnis kopiert wird.
 
=== Beispiele ===
Eine Quelldatei in eine Zieldatei im aktuellen Verzeichnis kopieren:
cp datei.txt datei_kopie.txt
 
Eine Quelldatei aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:
cp datei.txt /home/user/dokumente/2020
 
Mehrere Quelldateien in ein Zielverzeichnis kopieren:
cp datei.txt datei.odt /home/user/dokumente/2020
 
Ein Quellverzeichnis aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:
cp verzeichnis1 /home/user/dokumente/2020
 
=== Beispiele ===
* Die Datei '''datei.txt''' aus dem aktuellen Verzeichnis nach '''/Dokumente''' kopieren, falls diese neuer ist als die bestehende:
cp -u datei.txt /Dokumente/datei.txt
 
* Die Dateien '''datei.txt''', '''dokument.odt''' nach '''/Dokumente''' kopieren, wenn neuer als bestehende, und Kopierfortschritt anzeigen
cp -uv datei.txt dokument.odt /Dokumente
 
* Dateien mit bestimmtem Anfangsbuchstaben '''da*.txt''', '''do*.odt''' kopieren, wenn neuer als bestehende, und Kopierfortschritt anzeigen
cp -uv da*.txt do*.odt /Dokumente
 
* Im letzten Beispiel werden alle Dateien aus '''/home/Otto''' samt der verstecken Einstellungsdateien rekursiv ins Verzeichnis '''Sicherungen''' kopiert, welches sich auf dem [http://wiki.ubuntuusers.de/mount eingehängten] Laufwerk '''sda9''' befindet.
cp -a /home/Otto/. /media/sda9/Sicherungen
 
=== Dateien/Ordner ausschließen ===
'''cp''' enthält keine --exclude-Option, jedoch biete die [http://wiki.ubuntuusers.de/Shell Shell] einen Weg, der es ermöglicht Muster auszuschließen.
* Dazu muss z.&nbsp;B.&nbsp;in bash die Shell-Option extglob gesetzt werden, die den erweiterten Musterabgleich aktiviert (extended [http://en.wikipedia.org/wiki/globbing globbing]):
* shopt -s extglob
* Der Befehl muss jedesmal ausgeführt werden oder man trägt ihn in die [http://wiki.ubuntuusers.de/Bash/bashrc bashrc] ein.
* Im Folgenden der angewandte cp-Befehl:
 
cp -av /QUELLE/!(Datei1.txt|Festplattenabbild*|Ordner/Unterordner1) /ZIEL/
 
* Durch das Muster !() werden alle Dateien '''und Ordner''', die mit ''"Datei1.txt''", ''"Festplattenabbild''" und ''"Unterorder1''" beginnen, ausgeschlossen. Darüber hinaus werden alle Dateien und Ordner von QUELLE nach ZIEL kopiert.
 
=== Fortschrittsanzeigen ===
Einige Distribution bieten '''cp''' mit der Option -g an. Bei größeren Kopierzeiten wird ein Statusbalken angezeigt. Um dies in zu erreichen, muss der ''progress bar''-Patch eingepflegt sein. Oder man greift auf Skripte oder [http://wiki.ubuntuusers.de/rsync rsync] zurück.
 
==== rsync ====
* Statt cp kann rsync zum Kopieren verwendet werden. rsync --progress -ah" zu verwenden.
* Das funktioniert zwar, ist aber kein vollwertiger Ersatz für "cp" mit allen seinen Aufrufparametern.
 
rsync -auh --partial --stats –progress quelle ziel
rsync -auh --partial --stats –progress quelle/ ziel/
 
==== Pipe Viewer ====
Auch der [http://www.ivarch.com/programs/pv.shtml Pipe Viewer] implementiert eine Fortschrittsanzeige, die sich in vielerlei Weise einsetzen lässt, aber er arbeitet nach dem Pipe-Prinzip, liest und schreibt also von den Standard-Kanälen.
$ '''pv Datei > neueDatei'''
 
==== gcp ====
* Die beste Lösung für das Problem scheint ein Programm namens "[http://wiki.goffi.org/wiki/Gcp/en gcp]" zu sein, das in Python geschrieben ist und zumindest Teil der Ubuntu- und Debian-Distributionen ist.
* Es zeigt den Fortschritt beim Kopieren an, bietet die wichtigsten Aufrufparameter von "cp" und noch ein paar weitere praktische Features wie die Anpassung von Dateinamen mit Sonderzeichen, Logging und Übertragungslisten.
* Seit 2003 das Patent EP0394160 ausgelaufen ist, das den Fortschrittsbalken patentiert, ist gcp patent-frei.
 
==== Advanced Copy ====
* Besonders nahtlos fügt sich Advanced Copy (http://beatex.org/web/advancedcopy.html) in den altbekannten Unix-Werkzeugkasten ein, denn es verändert die GNU-Tools "mv" und "cp" aus den Coreutils, die zumindest auf Linux-Distributionen zum Standardumfang gehören.
* Das Problem dabei ist, dass man die Coreutils selbst übersetzen muss. Schwierig ist das nicht, aber danach hat man zwei Binaries auf der Platte liegen, die nicht mehr Bestandteil der Paketverwaltung sind.
 
== Aufruf ==
$ '''cp·[Optionen]·QUELLE ZIEL'''
 
=== Optionen ===
{| class="wikitable options"
|-
|-
! Option !! Beschreibung
! Option !! Beschreibung
Zeile 46: Zeile 120:
'''Zusatz Info:''' Im Gegensatz zum COPY-Befehl von DOS muß diesem Befehl immer ein Ziel angegeben werden. Sollen mehrere Dateien kopiert werden, so muß das Ziel ein Verzeichnis sein.
'''Zusatz Info:''' Im Gegensatz zum COPY-Befehl von DOS muß diesem Befehl immer ein Ziel angegeben werden. Sollen mehrere Dateien kopiert werden, so muß das Ziel ein Verzeichnis sein.


{| class="wikitable sortable"   
{| class="wikitable sortable options"   
|-
|-
| | '''-a--archive '''
| | '''-a--archive '''
Zeile 73: Zeile 147:
|-
|-
| >'''-p '''
| >'''-p '''
| | (''preserve'') erhält die Zugriffsrechte und Eigentümer des Originals (nicht die SUID und SGID Bits)  
| | (''preserve'') erhält die Zugriffsrechte und Eigentümer des Originals (nicht die SUID und SGID Bit)  
|-
|-
| >--no-dereference '''
| >--no-dereference '''
Zeile 110: Zeile 184:
* Die Versionskontrolle kann mit --backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind:  
* Die Versionskontrolle kann mit --backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind:  


{| class="wikitable sortable"   
{| class="wikitable sortable options"   
|-
|-
| | '''none, off'''
| | '''none, off'''
Zeile 126: Zeile 200:
|}
|}


= Konfiguration =
=== Parameter ===
== Dateien ==
=== Umgebung ===
=== Rückgabewert ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Page ===
=== Info-Pages ===


= Anwendungen =
== Siehe auch ==
== Datei kopieren ==
# [[dd]]
* Falls das Ziel ein Dateipfad ist, wird die Quelle diesen Pfad haben. Existierende Dateien werden überschrieben.
* Falls das Ziel ein Verzeichnis ist, wird die Quelle darein platziert.
 
== Verzeichnis kopieren ==
* Verzeichnisse können nur mit der <code>-r</code> (rekursiv) Option kopiert werden.
* Um ein Verzeichnis zu kopieren, muss das Ziel ein vorhandenes Verzeichnis sein.
* Verzeichnisse werden in das Ziel kopiert.


Sollen mehrere Dateien kopiert werden, muss das Ziel ein Verzeichnis sein. Das gleiches gilt für den Fall, dass ein Verzeichnis kopiert wird.
== Links ==
 
=== Projekt ===
=Beispiele=
=== Weblinks ===
Eine Quelldatei in eine Zieldatei im aktuellen Verzeichnis kopieren:
 
cp datei.txt datei_kopie.txt
 
 
Eine Quelldatei aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:
 
cp datei.txt /home/user/dokumente/2020
 
 
Mehrere Quelldateien in ein Zielverzeichnis kopieren:
 
cp datei.txt datei.odt /home/user/dokumente/2020
 
 
Ein Quellverzeichnis aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:
 
cp verzeichnis1 /home/user/dokumente/2020
 
= Dokumentation =
== Man-Pages ==
== Info-Pages ==
= Links =
== Intern ==
# [[Linux:Befehl:dd]]
== Weblinks ==
# https://wiki.ubuntuusers.de/cp/
# https://wiki.ubuntuusers.de/cp/


= Kontrollfragen =
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


= Kopieren (cp) =
cp·[-Optionen]·Quelle·Ziel
(''copy'') Kopiert eine oder mehrere Dateien in das angegebene Verzeichnis. Existiert die Datei schon im Zieldirectory, wird sie überschrieben.
* Dateien, die mit einem Punkt beginnen, müssen explizit angegeben werden
{| class="wikitable sortable" 
|-
| >"'''
| | kopiert nur diejenigen Dateien, die nicht mit einem Punkt beginnen;
|-
| >"'''
| | kopiert alle Dateien
|-
|}
== Beispiele ==
* Die Datei '''datei.txt''' aus dem aktuellen Verzeichnis nach '''/Dokumente''' kopieren, falls diese neuer ist als die bestehende:
cp -u datei.txt /Dokumente/datei.txt
* Die Dateien '''datei.txt''', '''dokument.odt''' nach '''/Dokumente''' kopieren, wenn neuer als bestehende, und Kopierfortschritt anzeigen
cp -uv datei.txt dokument.odt /Dokumente
* Dateien mit bestimmtem Anfangsbuchstaben '''da*.txt''', '''do*.odt''' kopieren, wenn neuer als bestehende, und Kopierfortschritt anzeigen
cp -uv da*.txt do*.odt /Dokumente
* Im letzten Beispiel werden alle Dateien aus '''/home/Otto''' samt der verstecken Einstellungsdateien rekursiv ins Verzeichnis '''Sicherungen''' kopiert, welches sich auf dem [http://wiki.ubuntuusers.de/mount eingehängten] Laufwerk '''sda9''' befindet.
cp -a /home/Otto/. /media/sda9/Sicherungen
== Dateien/Ordner ausschließen ==
'''cp''' enthält keine --exclude-Option, jedoch biete die [http://wiki.ubuntuusers.de/Shell Shell] einen Weg, der es ermöglicht Muster auszuschließen.
* Dazu muss z.B. in bash die Shell-Option extglob gesetzt werden, die den erweiterten Musterabgleich aktiviert (extended [http://en.wikipedia.org/wiki/globbing globbing]):
* shopt -s extglob
* Der Befehl muss jedesmal ausgeführt werden oder man trägt ihn in die [http://wiki.ubuntuusers.de/Bash/bashrc bashrc] ein.
* Im Folgenden der angewandte cp-Befehl:
cp -av /QUELLE/!(Datei1.txt|Festplattenabbild*|Ordner/Unterordner1) /ZIEL/
* Durch das Muster !() werden alle Dateien '''und Ordner''', die mit ''"Datei1.txt''", ''"Festplattenabbild''" und ''"Unterorder1''" beginnen, ausgeschlossen. Darüber hinaus werden alle Dateien und Ordner von QUELLE nach ZIEL kopiert.
== Fortschrittsanzeigen ==
Einige Distribution bieten '''cp''' mit der Option -g an. Bei größeren Kopierzeiten wird ein Statusbalken angezeigt. Um dies in zu erreichen, muss der ''progress bar''-Patch eingepflegt sein. Oder man greift auf Skripte oder [http://wiki.ubuntuusers.de/rsync rsync] zurück.
=== rsync ===
* Statt cp kann rsync zum Kopieren verwendet werden. rsync --progress -ah" zu verwenden.
* Das funktioniert zwar, ist aber kein vollwertiger Ersatz für "cp" mit allen seinen Aufrufparametern.
rsync -auh --partial --stats –progress quelle ziel
rsync -auh --partial --stats –progress quelle/ ziel/
=== Pipe Viewer ===
Auch der [http://www.ivarch.com/programs/pv.shtml Pipe Viewer] implementiert eine Fortschrittsanzeige, die sich in vielerlei Weise einsetzen lässt, aber er arbeitet nach dem Pipe-Prinzip, liest und schreibt also von den Standard-Kanälen.
$ '''pv Datei > neueDatei'''
=== gcp ===
* Die beste Lösung für das Problem scheint ein Programm namens "[http://wiki.goffi.org/wiki/Gcp/en gcp]" zu sein, das in Python geschrieben ist und zumindest Teil der Ubuntu- und Debian-Distributionen ist.
* Es zeigt den Fortschritt beim Kopieren an, bietet die wichtigsten Aufrufparameter von "cp" und noch ein paar weitere praktische Features wie die Anpassung von Dateinamen mit Sonderzeichen, Logging und Übertragungslisten.
* Seit 2003 das Patent EP0394160 ausgelaufen ist, das den Fortschrittsbalken patentiert, ist gcp patent-frei.
=== Advanced Copy ===
* Besonders nahtlos fügt sich Advanced Copy (http://beatex.org/web/advancedcopy.html) in den altbekannten Unix-Werkzeugkasten ein, denn es verändert die GNU-Tools "mv" und "cp" aus den Coreutils, die zumindest auf Linux-Distributionen zum Standardumfang gehören.
* Das Problem dabei ist, dass man die Coreutils selbst übersetzen muss. Schwierig ist das nicht, aber danach hat man zwei Binaries auf der Platte liegen, die nicht mehr Bestandteil der Paketverwaltung sind.


[[Category:Linux:Befehl]]
[[Kategorie:Linux/Befehl]]
[[Category:Linux:Dateien]]
[[Kategorie:Linux/Datei/Verwaltung]]
[[Category:Linux:Coreutils]]
[[Kategorie:Coreutils]]
{{DEFAULTSORT:cp}}

Aktuelle Version vom 12. November 2024, 18:41 Uhr

cp (copy) kopiert Dateien und Verzeichnisse

Beschreibung

Der Befehl cp kopiert eine oder mehrere Dateien in das angegebene Verzeichnis

  • Existiert die Datei schon im Zieldirectory, wird sie überschrieben
  • Dateien, die mit einem Punkt beginnen, müssen explizit angegeben werden

Installation

Anwendung

Datei kopieren

  • Falls das Ziel ein Dateipfad ist, wird die Quelle diesen Pfad haben. Existierende Dateien werden überschrieben.
  • Falls das Ziel ein Verzeichnis ist, wird die Quelle darein platziert.

Verzeichnis kopieren

  • Verzeichnisse können nur mit der -r (rekursiv) Option kopiert werden.
  • Um ein Verzeichnis zu kopieren, muss das Ziel ein vorhandenes Verzeichnis sein.
  • Verzeichnisse werden in das Ziel kopiert.

Sollen mehrere Dateien kopiert werden, muss das Ziel ein Verzeichnis sein. Das gleiches gilt für den Fall, dass ein Verzeichnis kopiert wird.

Beispiele

Eine Quelldatei in eine Zieldatei im aktuellen Verzeichnis kopieren:

cp datei.txt datei_kopie.txt

Eine Quelldatei aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:

cp datei.txt /home/user/dokumente/2020

Mehrere Quelldateien in ein Zielverzeichnis kopieren:

cp datei.txt datei.odt /home/user/dokumente/2020

Ein Quellverzeichnis aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:

cp verzeichnis1 /home/user/dokumente/2020

Beispiele

  • Die Datei datei.txt aus dem aktuellen Verzeichnis nach /Dokumente kopieren, falls diese neuer ist als die bestehende:
cp -u datei.txt /Dokumente/datei.txt
  • Die Dateien datei.txt, dokument.odt nach /Dokumente kopieren, wenn neuer als bestehende, und Kopierfortschritt anzeigen
cp -uv datei.txt dokument.odt /Dokumente
  • Dateien mit bestimmtem Anfangsbuchstaben da*.txt, do*.odt kopieren, wenn neuer als bestehende, und Kopierfortschritt anzeigen
cp -uv da*.txt do*.odt /Dokumente
  • Im letzten Beispiel werden alle Dateien aus /home/Otto samt der verstecken Einstellungsdateien rekursiv ins Verzeichnis Sicherungen kopiert, welches sich auf dem eingehängten Laufwerk sda9 befindet.
cp -a /home/Otto/. /media/sda9/Sicherungen

Dateien/Ordner ausschließen

cp enthält keine --exclude-Option, jedoch biete die Shell einen Weg, der es ermöglicht Muster auszuschließen.

  • Dazu muss z. B. in bash die Shell-Option extglob gesetzt werden, die den erweiterten Musterabgleich aktiviert (extended globbing):
  • shopt -s extglob
  • Der Befehl muss jedesmal ausgeführt werden oder man trägt ihn in die bashrc ein.
  • Im Folgenden der angewandte cp-Befehl:
cp -av /QUELLE/!(Datei1.txt|Festplattenabbild*|Ordner/Unterordner1) /ZIEL/
  • Durch das Muster !() werden alle Dateien und Ordner, die mit "Datei1.txt", "Festplattenabbild" und "Unterorder1" beginnen, ausgeschlossen. Darüber hinaus werden alle Dateien und Ordner von QUELLE nach ZIEL kopiert.

Fortschrittsanzeigen

Einige Distribution bieten cp mit der Option -g an. Bei größeren Kopierzeiten wird ein Statusbalken angezeigt. Um dies in zu erreichen, muss der progress bar-Patch eingepflegt sein. Oder man greift auf Skripte oder rsync zurück.

rsync

  • Statt cp kann rsync zum Kopieren verwendet werden. rsync --progress -ah" zu verwenden.
  • Das funktioniert zwar, ist aber kein vollwertiger Ersatz für "cp" mit allen seinen Aufrufparametern.
rsync -auh --partial --stats –progress quelle ziel
rsync -auh --partial --stats –progress quelle/ ziel/

Pipe Viewer

Auch der Pipe Viewer implementiert eine Fortschrittsanzeige, die sich in vielerlei Weise einsetzen lässt, aber er arbeitet nach dem Pipe-Prinzip, liest und schreibt also von den Standard-Kanälen.

$ pv Datei > neueDatei

gcp

  • Die beste Lösung für das Problem scheint ein Programm namens "gcp" zu sein, das in Python geschrieben ist und zumindest Teil der Ubuntu- und Debian-Distributionen ist.
  • Es zeigt den Fortschritt beim Kopieren an, bietet die wichtigsten Aufrufparameter von "cp" und noch ein paar weitere praktische Features wie die Anpassung von Dateinamen mit Sonderzeichen, Logging und Übertragungslisten.
  • Seit 2003 das Patent EP0394160 ausgelaufen ist, das den Fortschrittsbalken patentiert, ist gcp patent-frei.

Advanced Copy

  • Besonders nahtlos fügt sich Advanced Copy (http://beatex.org/web/advancedcopy.html) in den altbekannten Unix-Werkzeugkasten ein, denn es verändert die GNU-Tools "mv" und "cp" aus den Coreutils, die zumindest auf Linux-Distributionen zum Standardumfang gehören.
  • Das Problem dabei ist, dass man die Coreutils selbst übersetzen muss. Schwierig ist das nicht, aber danach hat man zwei Binaries auf der Platte liegen, die nicht mehr Bestandteil der Paketverwaltung sind.

Aufruf

$ cp·[Optionen]·QUELLE ZIEL

Optionen

Option Beschreibung
-a oder --archive Steht für „archive“. Mit diesem Schalter werden Zeitstempel, Besitzer, Gruppen, Dateirechte wie von der Quelle beibehalten.
-b oder --backup Sichert Dateien vor dem Überschreiben, wenn diese unterschiedlich sind.
-d erhält symbolische Links, folgt ihnen aber nicht beim Kopieren (entspricht -P --preserve=links)
-f (force) Erzwinge Kopieren und entferne Zieldatei, falls nötig.
-i oder --interactive fragt vor Überschreiben nach.
-H symbolischen Verknüpfungen, die auf Kommandozeile als QUELLE angegeben folgen (Standardeinstellung)
-l oder --link kopiert nicht, sondern erstellt harten Link.
-n oder --no-clobber niemals vorhandene Dateien überschreiben (-i wird wirkungslos)
-p (klein) erhält Standard-Dateiattribute wie Zeitpunkt des letzten Schreibzugriffs.
-P (groß) Symbolische Links als symbolische Links kopieren, statt den Links in der Quelle zu folgen.
-r oder -R oder --recursive Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien kopiert. Also ganze Verzeichnisbäume.
-s oder --symbolic-link kopiert nicht, sondern erstellt symbolischen Link.
-u oder --update kopiert nur, wenn Zieldatei älter als Quelldatei.
-v oder --verbose Steht für “verbose” und Zeigt alle Tätigkeiten an was der Befehl cp gerade durchführt.
-x (one file-system) Ignoriert Unterverzeichnisse, die in anderen Partitionen angesiedelt sind.

Zusatz Info: Im Gegensatz zum COPY-Befehl von DOS muß diesem Befehl immer ein Ziel angegeben werden. Sollen mehrere Dateien kopiert werden, so muß das Ziel ein Verzeichnis sein.

-a--archive Beibehaltung von Besitzer-, Gruppen- und Zugriffsrechten und Erstellungs-, Modifikations- und Zugriffsdaten (entspricht -dR --preserve=all)
-b--backup Sichert Dateien vor dem Überschreiben, wenn diese unterschiedlich sind
-d (no-dereference) erhält symbolische Links, folgt ihnen aber nicht beim Kopieren (entspricht -P --preserve=links)
-f (force) Dateien im Zielverzeichnis werden überschrieben
-i --interactive (interactive) erwartet Bestätigung vor dem Überschreiben bereits existierender Dateien
-l --link (link) erstellt harte macht Links anstelle von Kopien (nur bei normalen Dateien)
-n--no-clobber niemals vorhandene Dateien überschreiben (-i wird wirkungslos)
>-P (path) die Quelldateien werden mit Pfad relativ zum Zielverzeichnis kopiert
>-p (preserve) erhält die Zugriffsrechte und Eigentümer des Originals (nicht die SUID und SGID Bit)
>--no-dereference niemals symbolischen Links in der Quelle folgen
>--preserve=mode,ownership,timestamps erhält Standard-Dateiattribute, wie Zeitpunkt des letzten Schreibzugriffs
-r -R

--recursive

(recursive) kopiert rekursiv alle Dateien der Unterverzeichnisse (auch Devices und Links) wie normale Dateien
-s
-S Endung (suffix) sichert die Dateien vor dem Überschreiben durch Umbenennung mit der Endung; Voreinstellung ist `~'
-s --symbolic-link (symbolic link) erstellt symbolische Links anstelle von Kopien (absolute Pfadnamen)
-u --update (update) kopiert (überschreibt) nur, wenn Zieldatei älter als Quelldatei
-v --verbose zeigt den Kopierfortschritt an
-x (one file-system) ignoriert Unterverzeichnisse, die in anderen Dateisystemen angesiedelt sind
  • cp kennt noch eine Reihe von weiteren Optionen, die man mit Hilfe der Option --help aufrufen kann. Oder man schaut in die Manpages von cp.
  • Der Anhang für Sicherheitskopien ist ~, außer wenn er --suffix oder SIMPLE_BACKUP_SUFFIX gesetzt wurde.
  • Die Versionskontrolle kann mit --backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind:
none, off Niemals Sicherung erzeugen (selbst wenn --backup angegeben wurde)
numbered, t Erzeugen von nummerierten Sicherheitskopien
existing, nil Nummeriert wenn nummerierte Backups existieren, sonst einfach.
Simple, never Immer einfache Sicherheitskopien erzeugen

Parameter

Umgebung

Rückgabewert

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Page

Info-Pages

Siehe auch

  1. dd

Links

Projekt

Weblinks

  1. https://wiki.ubuntuusers.de/cp/