{"id":10199,"date":"2021-12-21T10:52:54","date_gmt":"2021-12-21T10:52:54","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=10199"},"modified":"2021-12-21T10:52:54","modified_gmt":"2021-12-21T10:52:54","slug":"befehl-cp","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/grundlagen\/befehl-cp\/","title":{"rendered":"Der Befehl cp"},"content":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl cp kennen, welcher unter Linux- \/ UNIX-Betriebssystemen verwendet wird, um Dateien oder ganze Verzeichnisse zu kopieren. Bei dem Kopieren von Verzeichnissen ist auch sogenanntes rekursives Kopieren m&ouml;glich &ndash; dabei werden auch enthaltene Unterverzeichnisse mit kopiert.<\/p>\n<p>Da der Befehl cp im Paket coreutils enthalten ist, ist er auf jedem System bereits vorinstalliert und kann direkt verwendet werden.<\/p>\n<h2 id=\"t-1639994113060\">Allgemeine Syntax<\/h2>\n<p>Die allgemeine <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Syntax&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;&#8203;Im  Allgemeinen wird unter Syntax ein Regel&#8203;system verstanden, welches zur  Kombination elementarer Zeichen zu zusammengesetzten &#8203;Zeichen in (...)&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/syntax\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Syntax<\/a> des Befehls <strong>cp <\/strong>lautet folgenderma&szlig;en:<\/p>\n<pre>cp [Optionen] [Quelle(n)] [Ziel]<\/pre>\n<p>Bei <strong>Quelle <\/strong>und <strong>Ziel <\/strong>kann es sich jeweils um Verzeichnisse oder Dateien handeln. Die Angabe mehrerer Quellen ist m&ouml;glich &ndash; es kann jedoch immer nur genau ein Ziel geben.<\/p>\n<h2 id=\"t-1639994113061\">Wichtige Optionen<\/h2>\n<p>Die wichtigsten Optionen des Befehls <strong>cp <\/strong>werden im Folgenden behandelt.<\/p>\n<h3 id=\"t-1639994113062\">-a &ndash; Zugriffsrechte und Zeitstempel erhalten<\/h3>\n<p>Durch Angabe der <strong>Option -a<\/strong> k&ouml;nnen <strong>Besitzer-<\/strong>, <strong>Gruppen-<\/strong> und <strong>Zugriffsrechte<\/strong> sowie auch die verschiedenen <strong>Zeitstempel <\/strong>(Erstellung, Modifikation und Zugriff) beibehalten werden.<\/p>\n<pre>cp -a [Quelle(n)] [Ziel]<\/pre>\n<h5>Beispiel: Option -a<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Dieses Beispiel zeigt das Kopieren unter Verwendung der Option -a.<\/span><\/h6>\n<h6>Vorher:<\/h6>\n<p style=\"\">In der folgenden Ausgabe von <strong>ls -l<\/strong> sind Benutzer, Gruppe, Zugriffsrechte sowie Zeitstempel der zu kopierenden Datei &ldquo;hedv.txt&rdquo; zu sehen.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-2\" data-id=\"10286\" width=\"656\" data-init-width=\"1100\" height=\"27\" data-init-height=\"45\" title=\"befehl-cp-beispiel-2\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-2.jpg\" data-width=\"656\" data-height=\"27\"\/><\/span><\/p>\n<h6>Eingabe:<\/h6>\n<p>Die Datei wird nun in das ebenfalls im Arbeitsverzeichnis enthaltene Verzeichnis <strong>&ldquo;profi-tutorials\/&rdquo;<\/strong> kopiert, wobei die gew&uuml;nschte <strong>Option -a<\/strong> angegeben wird.<\/p>\n<p>cp -a hedv.txt profi-tutorials\/<\/p>\n<h6>Nach Ausf&uuml;hrung:<\/h6>\n<p>Das Zielverzeichnis ist im folgenden ebenfalls in Form einer Ausgabe mit <strong>ls -l<\/strong> zu sehen: Die Metainformationen wurden alle &uuml;bernommen.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-3\" data-id=\"10285\" width=\"656\" data-init-width=\"1100\" height=\"28\" data-init-height=\"47\" title=\"befehl-cp-beispiel-3\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-3.jpg\" data-width=\"656\" data-height=\"28\"\/><\/span><\/p>\n<h3 id=\"t-1639994113063\">&ndash;backup &ndash; Dateien vor dem &Uuml;berschreiben sichern<\/h3>\n<p>Die <strong>Option &ndash;backup<\/strong> wird verwendet, um bereits vorhandene Zieldateien zu sichern, bevor diese &uuml;berschrieben werden.<\/p>\n<pre>cp --backup=[simple|numbered|existing] [Quelle(n)] [Ziel]<\/pre>\n<p>Standardm&auml;&szlig;ig, auch wenn hinter der Option keine Parameter mit einem Gleichheitszeichen angegeben wurde, werden <strong>&ldquo;simple&rdquo;<\/strong> Backups durchgef&uuml;hrt (auch durch <strong>Parameter <\/strong><strong>&ldquo;simple&rdquo;<\/strong> zu spezifizieren). Die Zieldatei wird dabei einfach unter <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Konkatenation&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Die Konkatenation ist die Verkn&uuml;pfung zweier Worte zu einem neuen Wort.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/konkatenation\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Konkatenation<\/a> des <strong>Suffix &ldquo;~&rdquo;<\/strong> kopiert. Das n&auml;chste Backup der jeweiligen Datei &uuml;berschreibt bei dieser Option &nbsp;stets das vorherige. Sollen mehrere St&auml;nde erhalten bleiben, so muss der <strong>Parameter <\/strong><strong>&ldquo;numbered&rdquo;<\/strong> &uuml;bergeben werden, um nummerierte Sicherheitskopien zu erstellen. Die Nummerierung wird durch Konkatenation an den Dateinamen angeh&auml;ngt, wobei vor und nach der Nummer ein <strong>&ldquo;~&rdquo;<\/strong> steht. Schlie&szlig;lich ist auch der <strong>Parameter &ldquo;existing&rdquo;<\/strong> m&ouml;glich, welcher nur dann nummerierte Sicherheitskopien anlegt, wenn bereits welche existieren, andernfalls wird <strong>&ldquo;simple&rdquo;<\/strong> verwendet.<\/p>\n<h5>Beispiel: Option &ndash;backup<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel wird eine Datei mehrfach in ein Zielverzeichnis kopiert. Durch Verwendung der&nbsp;<\/span>Option &ndash;backup<span style=\"font-weight: normal;\"> mit dem <\/span>Parameter &ldquo;numbered&rdquo;<span style=\"font-weight: normal;\"> sollen nummerierte Sicherheitskopien erstellt werden.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p style=\"\">Die im Arbeitsverzeichnis befindliche Datei <strong>&ldquo;befehl-cat.txt&rdquo;<\/strong> wird in das bisher leere Verzeichnis <strong>&ldquo;bibo\/&rdquo;<\/strong> kopiert. Der Befehl wird zur Veranschaulichung insgesamt <strong>5 Mal<\/strong> ausgef&uuml;hrt.<\/p>\n<p>cp &ndash;backup=numbered befehl-cat.txt bibo\/<\/p>\n<h6>Ausgabe (ls -l des Zielverzeichnisses):<\/h6>\n<p>Im Zielverzeichnis sind nun insgesamt 5 Dateien enthalten: Einerseits die zuletzt kopierte Version der Datei <strong>&ldquo;befehl-cat.txt&rdquo;<\/strong> und, andererseits, vier aufsteigend nummerierte Sicherheitskopien.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-1\" data-id=\"10273\" width=\"656\" data-init-width=\"1000\" height=\"106\" data-init-height=\"161\" title=\"befehl-cp-beispiel-1\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-1.jpg\" data-width=\"656\" data-height=\"106\"\/><\/span><\/p>\n<h3 id=\"t-1639994113064\">-i &ndash; Abfrage vor dem &Uuml;berschreiben<\/h3>\n<p>Soll vor dem &Uuml;berschreiben jeweils eine interaktive Abfrage erfolgen, so muss die <strong>Option -i<\/strong> angegeben werden:<\/p>\n<pre>cp -i [Quelle(n)] [Ziel]<\/pre>\n<h5>Beispiel: Option -i<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Hier wird die <\/span>Option -i<span style=\"font-weight: normal;\"> verwendet, um eine Abfrage vor dem &Uuml;berschreiben einer Datei zu erhalten.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p style=\"\">Die Datei <strong>&ldquo;befehl-cat.txt&rdquo;<\/strong> soll in das Verzeichnis <strong>&ldquo;bibo\/&rdquo;<\/strong> kopiert werden, existiert dort jedoch bereits.<\/p>\n<p>cp -i befehl-cat.txt bibo\/<\/p>\n<h6>Ausgabe:<\/h6>\n<p>In der Ausgabe ist nun die Abfrage zum &Uuml;berschreiben der bereits vorhandenen Datei <strong>&ldquo;bibo\/befehl-cat.txt&rdquo;<\/strong> zu sehen. Best&auml;tigt wird mit <strong>&ldquo;y&rdquo;<\/strong> (yes), mit <strong>&ldquo;n&rdquo;<\/strong> (no) wird dagegen abgelehnt.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-6\" data-id=\"10319\" width=\"656\" data-init-width=\"1000\" height=\"52\" data-init-height=\"79\" title=\"befehl-cp-beispiel-6\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-6.jpg\" data-width=\"656\" data-height=\"52\"\/><\/span><\/p>\n<h3 id=\"t-1639994113065\">-l &ndash; Harten Link erstellen<\/h3>\n<p>Anstelle einer Kopie wird bei Angabe der <strong>Option -l<\/strong> ein harter Link im Ziel erstellt:<\/p>\n<pre>cp -l [Quelle(n)] [Ziel]<\/pre>\n<h5>Beispiel: Option -l<\/h5>\n<h6>Eingabe:<\/h6>\n<p>cp -lr profi-tutorials\/ \/<\/p>\n<h6>Bedeutung:<\/h6>\n<p>Der gezeigte Befehl erstellt einen harten Link zum Verzeichnis <strong>&ldquo;profi-tutorials&rdquo;<\/strong> im Wurzelverzeichnis <strong>&ldquo;\/&rdquo;<\/strong>. Die <strong>Option -r<\/strong> wurde spezifiziert, da es sich um eine Verzeichnisstruktur handelt.<\/p>\n<h3 id=\"t-1639994113066\">-n &ndash; Niemals &uuml;berschreiben<\/h3>\n<p>Wird die <strong>Option -n<\/strong> angegeben, so &uuml;berschreibt <strong>cp <\/strong>niemals bereits vorhandene Dateien. Die <strong>Option -i<\/strong> wird hierbei wirkungslos.<\/p>\n<pre>cp -n [Quelle(n)] [Ziel]<\/pre>\n<h3 id=\"t-1639994113067\">-r &ndash; Rekursives Kopieren<\/h3>\n<p>Das bereits zu Beginn genannte rekursive Kopieren von Verzeichnissen ist mit der <strong>Option -r<\/strong> m&ouml;glich:<\/p>\n<pre>cp -r [Quelle(n)] [Ziel]<\/pre>\n<p>Beliebig tief verschachtelte Verzeichnisse werden hierbei mitsamt enthaltener Dateien kopiert.<\/p>\n<h5>Beispiel: Option -r<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel soll eine Verzeichnisstruktur rekursiv kopiert werden und die Metainformationen jeweils erhalten bleiben.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p style=\"\">F&uuml;r das rekursive Kopieren wird die <strong>Option -r<\/strong> angegeben. Weiterhin wird auch die <strong>Option -a<\/strong> spezifiziert, um die Metainformationen der kopierten Dateien zu erhalten. Ziel des Kopiervorgangs ist das aktuelle Arbeitsverzeichnis.<\/p>\n<p>cp -ar \/home\/hellberg\/profi-tutorials\/e-business\/ .\/<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Im Folgenden ist die Ausgabe des Befehls <strong>tree <\/strong>zu sehen, welche die kopierte Verzeichnisstruktur zeigt &ndash; sie wurde mitsamt Unterverzeichnissen vollst&auml;ndig kopiert.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-7\" data-id=\"10336\" width=\"656\" data-init-width=\"1000\" height=\"221\" data-init-height=\"337\" title=\"befehl-cp-beispiel-7\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-7.jpg\" data-width=\"656\" data-height=\"221\"\/><\/span><\/p>\n<h3 id=\"t-1639994113068\">-s &ndash; Symbolischen Link erstellen<\/h3>\n<p>Bei Angabe der <strong>Option -s<\/strong> wird anstelle einer Kopie ein symbolischer Link erstellt:<\/p>\n<pre>cp -s [Quelle(n)] [Ziel]<\/pre>\n<h5>Beispiel: Option -s<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel wird die <\/span>Option -s<span style=\"font-weight: normal;\"> gezeigt.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p style=\"\">Es soll eine symbolische Verkn&uuml;pfung zu einer Datei <strong>&ldquo;befehl-top.txt&rdquo;<\/strong> im aktuellen Arbeitsverzeichnis <strong>&ldquo;.\/&rdquo;<\/strong> erstellt werden.<\/p>\n<p>cp -s profi-tutorials\/linux\/administration\/befehl-top.txt .\/<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Im aktuellen Arbeitsverzeichnis ist nun die symbolische Verkn&uuml;pfung vorhanden &ndash; hier mit <strong>ls -l<\/strong> angezeigt.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-4\" data-id=\"10299\" width=\"656\" data-init-width=\"1600\" height=\"18\" data-init-height=\"43\" title=\"befehl-cp-beispiel-4\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-4.jpg\" data-width=\"656\" data-height=\"18\"\/><\/span><\/p>\n<h3 id=\"t-1639994113069\">-u &ndash; Zieldatei nur aktualisieren<\/h3>\n<p>Durch Angabe der <strong>Option -u<\/strong> k&ouml;nnen Sie Dateien nur dann kopieren, wenn die Zieldatei &auml;lter ist als die Quelldatei oder wenn die Quelldatei noch nicht im Ziel existiert:<\/p>\n<pre>cp -u [Quelle(n)] [Ziel]<\/pre>\n<h3 id=\"t-1639994113070\">-v &ndash; Ausf&uuml;hrliche Ausgabe<\/h3>\n<p>Unter Angabe der <strong>Option -v<\/strong> gibt <strong>cp <\/strong>eine ausf&uuml;hrliche Erkl&auml;rung der jeweils durchgef&uuml;hrten Aktionen aus:<\/p>\n<pre>cp -v [Quelle(n)] [Ziel]<\/pre>\n<h5>Beispiel: Option -v<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Dieses Beispiel zeigt die ausf&uuml;hrliche Ausgabe mit der <\/span>Option -v<span style=\"font-weight: normal;\">.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p style=\"\">Das Unterverzeichnis <strong>&ldquo;profi-tutorials&rdquo;<\/strong> im aktuellen Arbeitsverzeichnis wird <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Rekursion&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Rekursion bezeichnet den abstrakten Vorgang, Regeln auf ein Produkt anzuwenden, die dieses Produkt selbst erzeugt haben.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/rekursion\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">rekursiv<\/a> in das Wurzelverzeichnis <strong>&ldquo;\/&rdquo;<\/strong> unter den Verzeichnisnamen <strong>&ldquo;profi&rdquo;<\/strong> kopiert. Die Option -v wird zus&auml;tzlich &uuml;bergeben.<\/p>\n<p>cp -rv profi-tutorials \/profi<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Die Ausgabe zeigt ausf&uuml;hrlich jeden einzelnen Schritt des Kopiervorgangs. Im folgenden Bild sind beispielhaft die ersten 5 Zeilen dieser Ausgabe zu sehen.<\/p>\n<p><span><img decoding=\"async\" alt=\"befehl-cp-beispiel-5\" data-id=\"10312\" width=\"656\" data-init-width=\"1100\" height=\"87\" data-init-height=\"145\" title=\"befehl-cp-beispiel-5\" loading=\"lazy\" src=\"https:\/\/profi-tutorials.de\/linux\/wp-content\/uploads\/sites\/3\/2021\/12\/befehl-cp-beispiel-5.jpg\" data-width=\"656\" data-height=\"87\"\/><\/span><\/p>\n<p style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p>\n<p style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr&auml;ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl cp kennen, welcher unter Linux- \/ UNIX-Betriebssystemen verwendet wird, um Dateien oder ganze Verzeichnisse zu kopieren. Bei dem Kopieren von Verzeichnissen ist auch sogenanntes rekursives Kopieren m\u00f6glich &#8211; dabei werden auch enthaltene Unterverzeichnisse mit kopiert. Da der Befehl cp im Paket coreutils enthalten ist, ist er auf jedem [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":10203,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"%%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"In diesem Beitrag lernen Sie den Befehl cp kennen, welcher unter UNIX- \/ Linux dazu verwendet wird, um Dateien oder ganze Verzeichnisse zu kopieren.","_seopress_robots_index":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-10199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grundlagen"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/10199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/comments?post=10199"}],"version-history":[{"count":130,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/10199\/revisions"}],"predecessor-version":[{"id":10527,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/10199\/revisions\/10527"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/10203"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=10199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=10199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=10199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}