Cp (Unix)

`cp` (für copy) ist ein interner Befehl einer Unix-Shell zum Kopieren von Dateien bei Unix\- oder unixoiden Betriebssystemen auf Computern.

## Verwendung

[Bearbeiten | Quelltext bearbeiten]

Die Syntax ist sehr einfach gehalten; üblicherweise wird eine Datei von quelldatei zu zieldatei kopiert, in dem man

cp [Optionen] quelldatei zieldatei

eingibt. Mehrere Dateien können kopiert werden, indem alle Dateinamen angegeben werden, anschließend das Zielverzeichnis:

cp [Optionen] quelldatei … zielverzeichnis

Damit ist z. B. die Verwendung von Wildcards möglich, welche moderne Unix-Shells üblicherweise zur Verfügung stellen. So kopiert

cp bild*.jpg ziel/

z. B. die Dateien bild1.jpg, bild234.jpg oder bild_abc.jpg in das Verzeichnis ziel, wenn die verwendete Shell das Wildcard * expandiert.

## Netzwerkfähige Alternativen

[Bearbeiten | Quelltext bearbeiten]

Aus dem traditionellen Unix-Werkzeug haben sich einige Programme entwickelt, die Dateien über das Rechnernetz von einem Unix-Rechner zum nächsten kopieren und sich dabei in ihrer syntaktischen Verwendung stark an das Programm `cp` anlehnen.

### rcp, ssh

[Bearbeiten | Quelltext bearbeiten]

Eine Erweiterung des cp-Programms ist das rcp-Programm, welches für die Verwendung in Netzwerken (remote copy) geschaffen wurde.

Die Syntax ist:

rcp <Dateiname> <entfernter Benutzer@entfernter Rechner:/Verzeichnis/Dateiname>

Aufgrund prinzipbedingter Sicherheitsprobleme – die Dateien werden unverschlüsselt übertragen – wird von rcp dringendst abgeraten und stattdessen die Verwendung des Nachfolgers `scp` aus der SSH-Familie empfohlen.

### rsync

[Bearbeiten | Quelltext bearbeiten]

→ Hauptartikel: rsync

Wenn es darum geht, zwei Verzeichnisse abzugleichen und nur Änderungen zu kopieren, ist rsync ein weit verbreiteter Ersatz für den Befehl cp. Er kann sowohl lokal als auch über das Netzwerk benutzt werden. Beim Kopieren über das Netzwerk kann eine Verschlüsselung mit SSH durchgeführt werden.

## Siehe auch

[Bearbeiten | Quelltext bearbeiten]

* mv (Unix) verschiebt Dateien oder benennt sie um und wird mit weitgehend identischer Syntax aufgerufen …
* … ähnlich ln (Unix) zum Erzeugen von Links.
* Absatz Dateioperationen im Artikel Unix-Kommandos

## Weblinks

[Bearbeiten | Quelltext bearbeiten]

Wikibooks: Linux-Praxisbuch/ cp – Lern- und Lehrmaterialien

* `cp(1)`: copy files – Open Group Base Specification
* `cp(1)`: copy files – OpenBSD General Commands Manual
* `cp(1)`: Dateien und Verzeichnisse kopieren – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite
* `cp.c` Quellcode für GNU/Linux-`cp` aus coreutils 8.13

Unix-Befehle der GNU Core Utilities

Dateien |

chgrp | chown | chmod | cp | dd | df | dir | dircolors | install | ln | ls | mkdir | mkfifo | mknod | mv | rm | rmdir | shred | sync | touch | vdir

|

Text |

awk | cat | cksum | comm | csplit | cut | expand | fmt | fold | head | join | md5sum | nl | od | paste | ptx | pr | sha1sum | sed | sort | split | sum | tac | tail | tr | tsort | unexpand | uniq | wc

Shell |

basename | chroot | date | dirname | du | echo | env | expr | factor | false | groups | hostid | id | link | logname | nice | nohup | pathchk | pinky | printenv | printf | pwd | readlink | seq | sleep | stat | stty | tee | test | true | tty | uname | unlink | users | who | whoami | yes