Tutorials  /  Linux Basics

Verzeichnisse in Linux mit cp und rsync kopieren

Ccentron Redaktion · August 2025 ·7 Min. Lesezeit ·Linux Basics, Tutorial

Ein Verzeichnis ist eine Struktur im Dateisystem, die Dateien und weitere Verzeichnisse speichert. Es dient dazu, Daten in einer hierarchischen Form zu organisieren, was sowohl Benutzern als auch dem Betriebssystem die Verwaltung erleichtert. Jedes Verzeichnis kann Dateien und Unterverzeichnisse enthalten, wodurch eine baumartige Struktur entsteht, die sich über mehrere Ebenen erstrecken kann.

In dieser Anleitung erfahren Sie, wie Sie ein Verzeichnis in Linux mit den Befehlen cp und rsync kopieren.

Voraussetzungen

  • Zugriff auf ein Linux-System mit einem Nicht-Root-Benutzerkonto mit Sudo-Rechten.
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Befehle zum Kopieren von Verzeichnissen in Linux

Im Folgenden finden Sie die Befehle, mit denen sich Verzeichnisse in Linux kopieren lassen.

cp-Befehl

Der Befehl cp kopiert Dateien und Verzeichnisse unter Linux. Er ist in allen Linux-Distributionen verfügbar und hat folgende Syntax:

Code
cp [OPTIONEN]... [QUELLE] [ZIEL]
  • OPTIONEN: Parameter, die das Verhalten des Befehls anpassen.
  • QUELLE: Die Datei oder das Verzeichnis, das kopiert werden soll.
  • ZIEL: Der Zielpfad oder ein neuer Dateiname. Falls das Zielverzeichnis nicht existiert, wird es automatisch angelegt.

Optionen für den cp-Befehl

  • -r oder -R: Verzeichnisse samt Inhalt rekursiv kopieren.
  • -a: Rekursiv kopieren und symbolische Links, Berechtigungen, Eigentümer und Zeitstempel beibehalten.
  • -v: Kopiervorgang detailliert anzeigen.
  • -p: Dateiattribute wie Modus, Eigentümer und Zeitstempel beibehalten.

rsync-Befehl

Mit rsync lassen sich Dateien und Verzeichnisse zwischen zwei Speicherorten – lokal oder remote – synchronisieren. Der Befehl kann sowohl lokal kopieren als auch Daten zwischen einem lokalen und einem entfernten System übertragen. rsync nutzt Zeitstempel und Dateigrößen, um Änderungen zu erkennen, was ihn ideal für Backups und große Datenmengen macht.

Lokales Kopieren

Code
rsync [OPTIONEN]... [QUELLVERZEICHNIS]/ [ZIELVERZEICHNIS]/

Von lokal zu remote kopieren

Code
rsync [OPTIONEN]... [QUELLVERZEICHNIS]/ [BENUTZER@REMOTE_HOST]:[ZIELVERZEICHNIS]/

Von remote zu lokal kopieren

Code
rsync [OPTIONEN]... [BENUTZER@REMOTE_HOST]:[QUELLVERZEICHNIS]/ [ZIELVERZEICHNIS]/

Erklärung der Syntax

  • OPTIONEN: Parameter wie -a (Archivmodus), -v (detaillierte Ausgabe) oder -r (rekursiv kopieren).
  • QUELLVERZEICHNIS/: Das zu kopierende Verzeichnis. Ein abschließender Slash bewirkt, dass nur der Inhalt kopiert wird, nicht das Verzeichnis selbst.
  • ZIELVERZEICHNIS/: Zielordner, der automatisch erstellt wird, falls er nicht existiert.
  • BENUTZER@REMOTE_HOST: Gibt bei Remote-Übertragungen Benutzer, Host oder IP-Adresse an.

Optionen für den rsync-Befehl

  • -a: Archivmodus (inkl. rekursivem Kopieren, symbolischen Links, Berechtigungen, Zeitstempeln, Eigentümerinformationen).
  • -v: Kopiervorgang detailliert ausgeben.
  • -r: Verzeichnisse und deren Inhalte rekursiv kopieren.
  • -z: Daten während der Übertragung komprimieren, um Bandbreite zu sparen.

Verzeichnis mit dem cp-Befehl kopieren

Die folgenden Schritte zeigen, wie Sie eine Verzeichnisstruktur erstellen, Dateien hinzufügen und Verzeichnisse mit cp unter Verwendung verschiedener Optionen kopieren.

  1. Ein neues Verzeichnis im aktuellen Arbeitsverzeichnis erstellen:
Konsole
$ mkdir sample
  1. In das neu erstellte Verzeichnis wechseln:
Konsole
$ cd sample
  1. Eine Datei mit dem Namen file1.txt anlegen:
Konsole
$ touch file1.txt
  1. Inhalt in die Datei file1.txt schreiben:
Konsole
$ echo "Dies ist eine Beispieldatei im Hauptverzeichnis." > file1.txt
  1. Ein Unterverzeichnis folder1 im Verzeichnis sample erstellen:
Konsole
$ mkdir folder1
  1. Eine Datei in folder1 erstellen:
Konsole
$ touch folder1/file2.txt
  1. Inhalt in diese Datei schreiben:
Konsole
$ echo "Diese Datei befindet sich in folder1." > folder1/file2.txt
  1. folder1 in folder1-backup kopieren:
Konsole
$ cp -r folder1 folder1-backup

Die Option -r sorgt dafür, dass der gesamte Inhalt rekursiv kopiert wird.

  1. Inhalte auflisten, um die Kopie zu prüfen:
Konsole
$ ls -R
  1. Zum übergeordneten Verzeichnis wechseln:
Konsole
$ cd ..
  1. Das komplette Verzeichnis sample nach sample-copy kopieren:
Konsole
$ cp -r sample sample-copy
  1. Mit den Optionen -v und -p kopieren:
Konsole
$ cp -rvp sample sample-copy-rvp
  1. Mit der Option -a kopieren:
Konsole
$ cp -a sample sample-copy-a
  1. Kopien und deren Struktur überprüfen:
Konsole
$ ls -l sample sample-copy sample-copy-rvp sample-copy-a

In der Ausgabe sehen Sie, dass sample-copy ein neueres Datum hat, da es ohne -p oder -a kopiert wurde. Die Kopien mit -rvp und -a haben die ursprünglichen Zeitstempel und Berechtigungen beibehalten.

Verzeichnis mit rsync kopieren

rsync ist ein leistungsfähiges Kommandozeilenwerkzeug, um Dateien und Verzeichnisse zu synchronisieren. Es ist umfangreicher als cp und eignet sich besonders für Backups, Teilaktualisierungen und große Datenübertragungen. Im Gegensatz zu cp überträgt rsync nur Unterschiede zwischen Quelle und Ziel, was Zeit und Bandbreite spart. Befolgen Sie die folgenden Schritte, um Verzeichnisse mit rsync zu kopieren.

rsync ist auf den meisten Linux-Systemen standardmäßig installiert. Überprüfen Sie mit folgendem Befehl, ob es vorhanden ist:

Konsole
$ rsync --version

Falls rsync fehlt, folgen Sie den Installationsanweisungen.

Wechseln Sie in das Verzeichnis, das den Ordner sample enthält.

Struktur des Ordners sample anzeigen:

Konsole
$ ls -R sample

Den Ordner sample mit rsync in ein neues Verzeichnis kopieren:

Konsole
$ rsync -av sample/ sample-rsync/

Dieser Befehl kopiert den Inhalt von sample in sample-rsync/ im Archivmodus, behält Attribute bei und zeigt den Fortschritt an.

Kopiertes Verzeichnis prüfen:

Konsole
$ ls -R sample-rsync

Eine neue Datei in sample hinzufügen:

Konsole
$ echo "Dies ist eine neue Datei." > sample/extra.txt

Diese Datei existiert noch nicht in sample-rsync.

Änderungen ohne Ausführung mit --dry-run anzeigen lassen:

Konsole
$ rsync -av --dry-run sample/ sample-rsync/

Ausgabe:

Code
sending incremental file list
./
extra.txt

sent 254 bytes  received 24 bytes  556.00 bytes/sec
total size is 123  speedup is 0.44 (DRY RUN)

Hinweis: extra.txt erscheint in der Liste, da es neu ist. rsync erkennt Änderungen und listet nur diese auf.

Mit --progress den Ordner aktualisieren und den Fortschritt sehen:

Konsole
$ rsync -av --progress sample/ sample-rsync/

Ausgabe:

Code
sending incremental file list
./
extra.txt
            20 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=5/7)

sent 314 bytes  received 40 bytes  708.00 bytes/sec
total size is 123  speedup is 0.35

Hier wird nur extra.txt übertragen.

Geändertes Verzeichnis prüfen:

Konsole
$ ls -R sample-rsync

Datei aus sample löschen:

Konsole
$ rm sample/extra.txt

Mit --delete Dateien im Ziel löschen, die in der Quelle nicht mehr vorhanden sind:

Konsole
$ rsync -av --delete sample/ sample-rsync-copy/

Prüfen, ob beide Verzeichnisse synchron sind:

Konsole
$ ls -l sample sample-rsync

Ausgabe:

YAML
sample:
total 12
-rw-rw-r-- 1 user user   45 May  7 06:06 file1.txt
drwxrwxr-x 2 user user 4096 May  7 06:06 folder1
drwxrwxr-x 2 user user 4096 May  7 06:07 folder1-backup

sample-rsync:
total 12
-rw-rw-r-- 1 user user   45 May  7 06:06 file1.txt
drwxrwxr-x 2 user user 4096 May  7 06:06 folder1
drwxrwxr-x 2 user user 4096 May  7 06:07 folder1-backup

Wie man sieht, wurde extra.txt entfernt, während die übrige Struktur erhalten blieb.

Fazit

Sie haben gelernt, wie Sie Verzeichnisse in Linux mit den Befehlen cp und rsync kopieren. Beide Methoden haben je nach Anwendungsfall ihre Vorteile. Weitere Optionen finden Sie in den Handbuchseiten mit den Befehlen man cp und man rsync.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren