GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So kopieren Sie das Verzeichnis unter Linux

Kopieren von Verzeichnissen unter Linux ist ein großer Teil der Routine eines jeden Systemadministrators.

Wenn Sie schon länger mit Linux arbeiten, wissen Sie, wie wichtig es ist, Ihre Ordner gut strukturiert zu halten.

In einigen Fällen müssen Sie möglicherweise einige Verzeichnisse auf Ihrem System kopieren um Ihre Hauptdateisystemstruktur zu überarbeiten.

In diesem Tutorial werden wir sehen, wie Sie ganz einfach Verzeichnisse und Ordner unter Linux kopieren können mit dem cp-Befehl.

Verzeichnisse unter Linux kopieren

Um unter Linux ein Verzeichnis zu kopieren, müssen Sie den Befehl „cp“ mit der Option „-R“ für rekursiv ausführen und die zu kopierenden Quell- und Zielverzeichnisse angeben.

$ cp -R <source_folder> <destination_folder>

Nehmen wir als Beispiel an, dass Sie das Verzeichnis „/etc“ in einen Sicherungsordner namens „/etc_backup“ kopieren möchten.

Der Ordner „/etc_backup“ befindet sich ebenfalls im Stammverzeichnis Ihres Dateisystems.

Um das „/etc“-Verzeichnis in diesen Sicherungsordner zu kopieren, würden Sie den folgenden Befehl ausführen

$ cp -R /etc /etc_backup

Durch Ausführen dieses Befehls wird der Ordner „/etc“ in den Ordner „/etc_backup“ kopiert, was zu folgendem Ordner führt.

Super, Sie haben erfolgreich einen Ordner kopiert in einem anderen Ordner unter Linux.

Aber was wäre, wenn Sie den Inhalt des Verzeichnisses rekursiv mit dem cp-Befehl kopieren wollten?

Verzeichnisinhalte unter Linux rekursiv kopieren

Um den Inhalt eines Verzeichnisses rekursiv zu kopieren, müssen Sie den „cp“-Befehl mit der Option „-R“ verwenden und das Quellverzeichnis gefolgt von einem Platzhalterzeichen angeben.

$ cp -R <source_folder>/* <destination_folder>

Nehmen wir in unserem vorherigen Beispiel an, dass wir den Inhalt des Verzeichnisses „/etc“ in den Ordner „/etc_backup“ kopieren möchten.

Um das zu erreichen, würden wir den folgenden Befehl schreiben

$ cp -R /etc/* /etc_backup

Wenn Sie den Inhalt des Sicherungsordners auflisten, werden Sie feststellen, dass nicht der Ordner selbst kopiert wurde, sondern sein Inhalt.

$ ls -l /etc_backup

Super, Sie haben den Inhalt des „/etc“-Verzeichnisses kopiert direkt in einen Sicherungsordner!

Mehrere Verzeichnisse mit cp kopieren

Um mehrere Verzeichnisse unter Linux zu kopieren, müssen Sie den „cp“-Befehl verwenden und die verschiedenen zu kopierenden Verzeichnisse sowie den Zielordner auflisten.

$ cp -R <source_folder_1> <source_folder_2> ... <source_folder_n>  <destination_folder>

Nehmen wir als Beispiel an, dass wir das „/etc“-Verzeichnis sowie alle Home-Verzeichnisse kopieren möchten, die sich im „/home“-Verzeichnis befinden.

Um das zu erreichen, würden wir den folgenden Befehl ausführen

$ cp -R /etc/* /home/* /backup_folder

Herzlichen Glückwunsch, Sie haben erfolgreich mehrere Verzeichnisse kopiert mit dem cp-Befehl unter Linux!

Verzeichnisse auf Remote-Hosts kopieren

In manchen Fällen möchten Sie vielleicht ein Verzeichnis kopieren, um ein Backup auf einem Backup-Server aufzubewahren.

Unnötig zu sagen, dass Ihr Backup-Server lokal entfernt ist:Sie müssen Ihr Verzeichnis über das Netzwerk kopieren.

Kopieren mit rsync

Um Verzeichnisse an entfernte Orte zu kopieren, müssen Sie den Befehl rsync verwenden, den Quellordner sowie das entfernte Ziel angeben, in das kopiert werden soll.

Stellen Sie sicher, dass Sie die Option „-r“ für „rekursiv“ und die Option „-a“ für „alle“ angeben (ansonsten werden nicht reguläre Dateien übersprungen)

$ rsync -ar <source_folder> <destination_user>@<destination_host>:<path>

Wenn das Dienstprogramm „rsync“ nicht auf Ihrem Server installiert ist, stellen Sie außerdem sicher, dass Sie es mit sudo-Berechtigungen installieren.

$ sudo apt-get install rsync

$ sudo yum install rsync

Nehmen wir als Beispiel an, dass wir den Ordner „/etc“ auf einen Sicherungsserver kopieren müssen, der sich unter 192.168.178.35/24 befindet.

Wir wollen das Verzeichnis mit dem Benutzernamen „devconnected“ in das Verzeichnis „/etc_backup“ des Remote-Servers kopieren.

Um das zu erreichen, würden wir den folgenden Befehl ausführen

$ rsync -ar /etc [email protected]:/etc_backup

Hinweis:Wir haben bereits eine Anleitung zum Übertragen von Dateien und Ordnern über das Netzwerk geschrieben, falls Sie eine ausführliche Anleitung dazu benötigen.

Ebenso können Sie den Inhalt des Verzeichnisses „/etc/“ statt des Verzeichnisses selbst kopieren, indem Sie nach dem zu kopierenden Verzeichnis ein Platzhalterzeichen anhängen.

$ rsync -ar /etc/* [email protected]:/etc_backup/

Wenn Sie schließlich das aktuelle Datum einführen möchten, während Sie eine Verzeichnissicherung durchführen, können Sie die Bash-Parameterersetzung verwenden.

$ rsync -ar /etc/* [email protected]:/etc_backup/etc_$(date "+%F")

Hinweis :Wenn Sie nach einem Tutorial zum Festlegen von Datumsangaben unter Linux suchen, haben wir auf der Website eine Anleitung dazu.

Kopieren mit scp

Um das Verzeichnis unter Linux an einen entfernten Ort zu kopieren, können Sie den Befehl „scp“ mit der Option „-r“ für rekursiv ausführen, gefolgt von dem zu kopierenden Verzeichnis und dem Zielordner.

$ scp -r <source_folder> <destination_user>@<destination_host>:<path>

Nehmen wir als Beispiel an, dass wir das Verzeichnis „/etc“ auf einen Sicherungsserver kopieren möchten, der sich unter 192.168.178.35 im Ordner „/etc_backup“ befindet.

Um dies zu erreichen, würden Sie den folgenden Befehl ausführen

$ scp -r /etc [email protected]:/etc_backup/

Herzlichen Glückwunsch, Sie haben erfolgreich ein ganzes Verzeichnis mit dem scp-Befehl kopiert.

Ähnlich wie beim rsync-Befehl können Sie die Bash-Parameterersetzung verwenden, um Ihr Verzeichnis in ein benutzerdefiniertes Verzeichnis auf Ihrem Server zu kopieren.

$ scp -r /etc [email protected]:/etc_backup/etc_$(date "+%F")

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie ganz einfach Verzeichnisse unter Linux kopieren können , unabhängig davon, ob Sie dies lokal oder remote tun möchten.

Meistens werden Verzeichnisse kopiert, um Backups von kritischen Ordnern auf Ihrem System zu haben :nämlich /etc, /home oder Linux-Protokolle.

Wenn Sie an Linux-Systemadministration interessiert sind , wir haben einen eigenen Abschnitt auf der Website, also schauen Sie sich das unbedingt an!


Linux
  1. So aktualisieren Sie einen Linux-Symlink

  2. So kopieren Sie ein Verzeichnis in der Linux-Befehlszeile [Anfängertipp]

  3. Wie man ein Verzeichnis unter Linux gzippt

  4. So erstellen Sie ein neues Verzeichnis in Linux

  5. Wie kopiert man Dateien unter Beibehaltung des Verzeichnispfads in Linux?

So führen Sie alle Skripte in einem Verzeichnis unter Linux aus

So richten Sie Chrooted SFTP unter Linux ein

So verwenden Sie den cd-Befehl unter Linux

So verschieben Sie ein Verzeichnis unter Linux

So kopieren Sie eine große Anzahl von Dateien unter Linux

So zählen Sie Dateien im Verzeichnis unter Linux