So kopieren Sie Dateien und Verzeichnisse in Linux [14 CP -Befehlsbeispiele]

So kopieren Sie Dateien und Verzeichnisse in Linux [14 CP -Befehlsbeispiele]

Brief: In dieser leicht zu befolgenden Anleitung werden wir einige praktische Beispiele des CP-Befehls diskutieren. Nach diesem Handbuch können Benutzer Dateien und Verzeichnisse in Linux mithilfe der Befehlszeilenschnittstelle leicht kopieren.

Als Linux -Benutzer interagieren wir von Zeit zu Zeit mit den Dateien und Verzeichnissen. Ein allgemeiner Betrieb, der Benutzer ausführen, ist das Kopieren von Dateien und Verzeichnissen. Natürlich können wir einen grafischen Dateimanager verwenden, um die Kopieroperation durchzuführen. Die meisten Linux -Benutzer bevorzugen jedoch die Verwendung des CP Befehl aufgrund seiner Einfachheit und reichhaltigen Funktionalität.

In diesem Anfänger-freundlichen Leitfaden werden wir über das erfahren CP Befehl. Wie der Name schon sagt, die CP -Befehl wird verwendet, um Dateien und Verzeichnisse auf einem bestimmten Pfad zu kopieren.

In diesem Leitfaden werden wir die Verwendung der Verwendung verstehen CP -Befehl Verwenden praktischer Beispiele, die täglich verwendet werden können.

Also lasst uns anfangen.

Inhaltsverzeichnis

1
  • CP -Befehlssyntax
  • 1. So kopieren Sie eine Datei unter Linux
  • 2. Copy -Befehlsfortschritt anzeigen
  • 3. So kopieren Sie mehrere Dateien in das Verzeichnis
  • 4. So vermeiden Sie das Überschreiben der Datei
  • 5. So überschreiben Sie die Datei mit Bestätigung
  • 6. Überschreiben Sie die Datei nur, wenn die Quelle neuer ist
  • 7. So sichern Sie die Datei vor dem Überschreiben
  • 8. So erzwingen Sie Kopie zur Überschreibung der Datei
  • 9. So entfernen Sie die Zieldatei vor dem Kopieren
  • 10. So erstellen Sie eine harte Linkdatei anstatt zu kopieren
  • 11. So erstellen Sie eine Soft -Link -Datei anstatt zu kopieren
  • 12. So erhalten Sie die Dateiattribute beim Kopieren
  • 13. So führen Sie den Kopiervorgang rekursiv durch
  • 14. So kopieren Sie mehrere Verzeichnisse

CP -Befehlssyntax

Die Syntax der CP Der Befehl ist identisch mit anderen Linux -Befehlen. Auf hohem Niveau ist es in zwei Teile unterteilt - Optionen Und Argumente:

$ CP [Optionen] $ CP [Optionen]…  

In der obigen Syntax klammern die Quadrat ([]) stellen die optionalen Argumente dar, während Winkelklammern () die obligatorischen Argumente darstellen.

1. So kopieren Sie eine Datei unter Linux

Eine der grundlegenden Verwendung der CP Der Befehl besteht darin, eine Datei in ein aktuelles Verzeichnis zu kopieren. Meistens führen Benutzer diesen Vorgang aus, um die wichtige Konfiguration zu sichern.

Zum Beispiel erstellen wir häufig eine Sicherungskopie von/etc/ssh/sshd_config, bevor wir die SSH -Konfiguration aktualisieren.

Lassen Sie uns eine einfache Datei erstellen, um die Verwendung zu verstehen:

$ Touch-Datei-1.txt 

Erstellen Sie anschließend eine Kopie der Datei mit dem folgenden Befehl:

$ cp Datei-1.TXT-Datei-2.txt 
Datei in Linux kopieren

2. Copy -Befehlsfortschritt anzeigen

Im vorherigen Beispiel haben wir den Befehl LS verwendet, um zu überprüfen. Es ist jedoch nicht sinnvoll, einen weiteren Befehl zu verwenden, um das Ergebnis der vorherigen Befehle zu überprüfen.

In solchen Fällen können wir den ausführlichen Modus mit dem aktivieren -v Option, die Diagnose für jede verarbeitete Datei liefert.

Lassen Sie uns eine Kopie des Datei-1.txt Datei mit dem folgenden Befehl:

$ cp -v Datei -1.TXT-Datei-3.txt 
Kopienausgabe anzeigen

In der obigen Ausgabe repräsentiert der Pfeil die Datei, die kopiert wird. Das linke Argument ist die Quelldatei, während das rechte Argument die Zieldatei ist.

3. So kopieren Sie mehrere Dateien in das Verzeichnis

Bisher haben wir nur mit einer einzelnen Datei und dem aktuellen Arbeitsverzeichnis gearbeitet. In der realen Produktionsumgebung müssen wir jedoch mit einer großen Anzahl von Dateien arbeiten. Eine der gängigen Anwendungsfälle in solchen Umgebungen besteht darin, mehrere Dateien in ein einzelnes Verzeichnis zu kopieren.

Offensichtlich können wir den CP -Befehl mehrmals ausführen, um ihn zu erreichen, aber das wird nicht der effektivste Weg sein. Um einen solchen Betrieb effektiv auszuführen, können wir eine alternative Syntax des CP -Befehls verwenden.

Erstellen Sie also zunächst ein neues Verzeichnis mit dem Namen Dir-1:

$ mkdir dir-1 

Kopieren wir nun alle drei Dateien in die Dir-1 Verzeichnis mit dem einzigen Befehl:

$ cp -v Datei -1.TXT-Datei-2.TXT-Datei-3.txt Dir-1 
Kopieren Sie mehrere Dateien unter Linux

Die obige Ausgabe zeigt, dass alle Dateien in die kopiert wurden Dir-1 Verzeichnis. Es ist auch wichtig zu beachten.

4. So vermeiden Sie das Überschreiben der Datei

Standardmäßig die CP Der Befehl ersetzt die Zieldatei, was bedeutet, dass er die Datei überschreibt, wenn sie am Ziel mit demselben Namen vorhanden ist. Wir können dieses Standardverhalten jedoch mit dem deaktivieren -N Möglichkeit.

Um dies zu verstehen, versuchen wir, die vorhandene Datei zu überschreiben:

$ cp -n -v Datei -1.TXT-Datei-2.txt 

In diesem Beispiel haben wir die verwendet -v Option zu veranschaulichen, dass die Datei-2.txt Datei wurde nicht überschrieben.

5. So überschreiben Sie die Datei mit Bestätigung

Im vorherigen Beispiel haben wir gesehen, wie das Überschreiben der Zieldatei vermieden werden kann. Manchmal möchten wir jedoch sicherer das Dateiziel überschreiben.

In solchen Fällen können wir die verwenden -ich Option des Befehls, um die Kopieroperation interaktiv zu gestalten. Diese Option zeigt die Warnmeldung an und wartet auf die Bestätigung des Benutzers, bevor Sie die Datei überschreiben.

Um dies zu veranschaulichen, versuchen wir, die vorhandene Datei zu überschreiben:

$ cp -i Datei -1.TXT-Datei-2.txt CP: Überschreibe von Datei-2.txt'? 

Wie wir sehen können, wartet der Befehl auf die Bestätigung. Genau wie andere Linux -Befehle können wir verwenden "y" weitermachen oder 'N' den Betrieb abbrechen.

Dieses nicht-interaktive Verhalten der Standard CP Befehl ist nicht sehr sicher. Es besteht die Chancen, dass der Benutzer eine wichtige Konfiguration versehentlich überschreiben könnte. Daher erzwingen einige der Linux -Verteilungen das interaktive Verhalten standardmäßig mit dem Befehl alias:

$ alias cp = "cp -i" " 

6. Überschreiben Sie die Datei nur, wenn die Quelle neuer ist

Im vorherigen Beispiel haben wir gesehen, wie der interaktive Modus verwendet wird. Manchmal kann ein Benutzer die neuere Datei jedoch versehentlich überschreiben.

Um solche fehleranfälligen Fälle zu vermeiden, können wir die verwenden -u Option, die versucht, den Betrieb nur zu kopieren, wenn die Quelle neuer als das Ziel ist oder wenn die Datei nicht am Ziel vorhanden ist.

Aktualisieren Sie zunächst den Zeitstempel der Quelldatei:

$ touch -t 10101010 Datei -1.txt $ ls -l Datei -1.txt 

Im obigen Beispiel haben wir die verwendet -T Option des Berührungsbefehls, um den Zeitstempel der Datei auf festzulegen 10-Oct-2010.

Lassen Sie uns als nächstes den Zeitstempel der Zieldatei auf die aktuelle Zeit aktualisieren:

$ Touch-Datei-2.txt 

Versuchen wir nun, den Kopiervorgang mit dem durchzuführen -u Möglichkeit:

$ cp -u -v Datei -1.TXT-Datei-2.txt 

Hier können wir sehen, dass der Kopiervorgang nicht versucht wurde, da die Zieldatei neuer ist als die Quelle.

Lassen Sie uns schließlich die Quell- und Zielargumente austauschen und den Kopiervorgang ausführen:

$ cp -u -v Datei -2.TXT-Datei-1.txt 

In der obigen Ausgabe können wir feststellen, dass der Kopiervorgang erfolgreich ist, da die Quelldatei neuer ist als das Ziel.

Überschreiben Sie die Datei nur, wenn die Quelle neuer ist

7. So sichern Sie die Datei vor dem Überschreiben

Wir können das unterweisen CP Befehl, um die Zieldatei zu sichern, bevor Sie sie überschreiben. Um dies zu erreichen, können wir das verwenden --Backup Option, die automatisierte Sicherungen durchführt.

$ cp - -Backup = nummerierte -v -Datei -1.TXT-Datei-2.txt 

In diesem Beispiel haben wir die nummerierte Sicherungsrichtlinie verwendet. Diese Richtlinie verwendet inkrementelle Zahlen in den Sicherungsdateinamen.

Um dies zu verstehen, führen wir denselben Befehl mehrmals aus und beobachten Sie die Ausgabe:

$ cp - -Backup = nummerierte -v -Datei -1.TXT-Datei-2.txt $ cp - -backup = nummerierte -v -Datei -1.TXT-Datei-2.txt $ cp - -backup = nummerierte -v -Datei -1.TXT-Datei-2.txt 
Sicherungsdatei vor dem Überschreiben

8. So erzwingen Sie Kopie zur Überschreibung der Datei

In den vorherigen Beispielen haben wir gesehen, wie man die Datei sicherer überschreibt. In einigen seltenen Fällen besteht jedoch die Anforderung, die Datei zu überschreiben. Es gibt jedoch keine Garantie dafür, dass die Operation jedes Mal erfolgreich sein wird.

Beispielsweise schlägt die Kopieroperation fehl, wenn die Zieldatei nicht über die Schreibberechtigungen verfügt. Lassen Sie uns dies mit einem Beispiel veranschaulichen.

Ändern Sie zunächst die Berechtigungen der Zieldatei:

$ chmod 444 Datei-2.txt $ ls -l Datei -2.txt 

Lassen Sie uns nun versuchen, das zu überschreiben Datei-2.txt Datei:

$ cp Datei-1.TXT-Datei-2.txt 

In der obigen Ausgabe können wir sehen, dass der Befehl mit der Erlaubnis abgelehnt wurde.

Um diese Einschränkung zu überwinden, können wir die verwenden -F Option, mit der die Zieldateien gelöscht und die Kopieroperation versucht, wenn die Zieldatei nicht geöffnet werden kann.

Lassen Sie uns nun die verwenden -F Option, die Datei zwangs zu überschreiben:

$ cp -f -v Datei -1.TXT-Datei-2.txt 
Kopie zum Überschreiben der Datei erzwingen

9. So entfernen Sie die Zieldatei vor dem Kopieren

Im vorherigen Beispiel haben wir gesehen, wie man die Zieldatei entfernen. Manchmal ist jedoch die Anforderung, zuerst die Zieldatei zu entfernen und dann den Kopiervorgang durchzuführen.

Um eine solche Anforderung zu erfüllen, können wir die verwenden --Zerstörung entfernen Möglichkeit.

$ CP--Remove-Destination -v-Datei-1.TXT-Datei-2.txt 
Entfernen Sie die Zieldatei vor dem Kopieren

In der obigen Ausgabe können wir sehen, dass der Befehl cp zuerst die Zieldatei entfernt und dann die Kopieroperation durchführt.

10. So erstellen Sie eine harte Linkdatei anstatt zu kopieren

Wir können einen harten Link erstellen, anstatt eine neue Kopie der Quelldatei zu erstellen. Diese Option spielt eine wichtige Rolle, wenn eine Mangel an Scheibenraum vorhanden ist.

Also, lasst uns das verwenden -l Option zum Erstellen eines harten Links:

$ cp -l -v Datei -1.TXT-Datei-4.txt 

Überprüfen wir nun die Inode -Nummern beider Dateien, um die harten Links zu überprüfen:

$ ls -i1 Datei -1.TXT-Datei-4.txt 
Erstellen Sie Hartlinkdatei anstatt zu kopieren

In der obigen Ausgabe repräsentieren die Zahlen in der ersten Spalte die Inode -Zahlen.

11. So erstellen Sie eine Soft -Link -Datei anstatt zu kopieren

In ähnlicher Weise können wir einen Soft Link erstellen, anstatt eine neue Kopie mit dem zu erstellen -S Option wie unten gezeigt:

$ cp -s -v Datei -1.TXT-Datei-5.txt 

Überprüfen wir nun, dass der symbolische Link korrekt erstellt wurde:

$ ls -l Datei -5.txt 
Erstellen Sie einen weichen Link anstatt zu kopieren

In der obigen Ausgabe repräsentieren die letzten Spalten die symbolische Verbindungsbeziehung.

12. So erhalten Sie die Dateiattribute beim Kopieren

Der Datei sind verschiedene Attribute zugeordnet, z. B. der Zugriffszeit, der Änderungszeit, der Berechtigungen usw. Standardmäßig sind diese Attribute beim Kopieren der Datei nicht erhalten. Um dieses Standardverhalten zu überschreiben, können wir das verwenden -P Möglichkeit.

Um dies zu verstehen, aktualisieren Sie zunächst den Zeitstempel der Datei-1.txt:

$ touch -t 10101010 Datei -1.txt 

Lassen Sie uns nun eine Kopie dieser Datei erstellen, indem alle Attribute erhalten bleiben:

$ cp -p -v Datei -1.TXT-Datei-6.txt 

Überprüfen Sie schließlich den Zeitstempel der Datei-6.txt Datei:

$ ls -l Datei -6.txt 
Bewahren Sie die Dateiattribute beim Kopieren auf

13. So führen Sie den Kopiervorgang rekursiv durch

Bisher haben wir gesehen, wie man eine einzige Datei kopiert. Oft müssen wir jedoch alle Dateien und Unterverzeichnisse des jeweiligen Verzeichnisses kopieren.

In solchen Fällen können wir den rekursiven Modus entweder mit dem verwenden -R oder -R Möglichkeit.

Erstellen wir also ein Verzeichnis und fügen Sie ein paar Dateien und Unterverzeichnisse hinzu:

$ MKDIR -P DIR-1/DIR-2 $ Touch DIR-1/Datei-1.TXT DIR-1/DIR-2/Datei-2.txt 

Überprüfen Sie als Nächstes, dass die Verzeichnisstruktur korrekt erstellt wurde:

$ Tree Dir-1 

Kopieren wir nun das Verzeichnis DIR-1 rekursiv mit dem folgenden Befehl:

$ cp -r -v DIR -1 DIR -3 

Überprüfen Sie schließlich, dass alle Dateien und Unterverzeichnisse erfolgreich kopiert wurden:

$ Tree Dir-3 
Dateien rekursiv kopieren

14. So kopieren Sie mehrere Verzeichnisse

Ähnlich wie bei Dateien können wir mehrere Verzeichnisse mit einem einzigen Befehl kopieren. Um dies zu erreichen, muss das Zielverzeichnis bereits vorhanden sein und es muss das letzte Argument im Befehl sein. Lassen Sie uns dies mit einem Beispiel verstehen.

Erstellen Sie zunächst ein Verzeichnis ein neues Verzeichnis:

$ mkdir dir-4 

Lassen Sie uns nun die kopieren Dir-1 Und Dir-3 Verzeichnisse in die Dir-4 Verzeichnis mit dem folgenden Befehl:

$ cp -r -v DIR-1 DIR-3 DIR-4 

In ähnlicher Weise können wir die verwenden -T Option des Befehls, um dasselbe Ergebnis zu erzielen. Mit dieser Option können wir das Zielverzeichnis angeben. So können wir es auch als erstes Argument verwenden:

$ cp -t DIR -4 -r -v DIR -1 DIR -3 
Kopieren Sie mehrere Verzeichnisse

In diesem Artikel haben wir besprochen, wie Dateien und Verzeichnisse mit dem kopiert werden können CP -Befehl. Anfänger können auf diese Beispiele im täglichen Leben verweisen, während sie mit Linux-Systemen arbeiten.

Sie könnten auch mögen:

  • So verwenden Sie den Befehl „MV“ unter Linux [9 nützliche Beispiele]
  • Fortschritt - Zeigen Sie den Prozentsatz der kopierten Daten für (CP, MV, DD, TAR) Befehle
  • Überwachen Sie den Fortschritt (Kopier-/Sicherung/Komprimierung) Daten mit dem Befehl 'PV'
  • Befehl erweiterte Kopie - Zeigt die Fortschrittsleiste an, während große Dateien/Ordner in Linux kopiert werden

Kennen Sie ein anderes bestes Beispiel des CP -Befehls unter Linux?? Lassen Sie uns Ihre Ansichten in den Kommentaren unten wissen.