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

So verwenden Sie den cp-Befehl zum Kopieren von Dateien und Verzeichnissen

Das Kopieren von Dateien oder Verzeichnissen ist eine der grundlegenden Aktivitäten in jedem Betriebssystem. Die Sicherungsaktivität besteht im Grunde darin, eine Kopie von Dateien und Verzeichnissen zu erstellen. Auf einem Linux-System können wir dazu den cp-Befehl verwenden.

Wie oben erwähnt, ist der Befehl cp ein Befehl zum Erstellen einer Kopie von Dateien und Verzeichnissen. Hier sind einige Beispiele für cp-Befehle, die im täglichen Betrieb nützlich sein könnten

1) cp-Befehl

Dies ist eine sehr einfache cp-Nutzung. Um einen Dateinamen myfile.txt von einem Speicherort an einen anderen zu kopieren, können wir Folgendes eingeben:

$ cp myfile.txt /home/pungki/office

Wenn wir keinen absoluten Pfad eingeben, bedeutet dies, dass wir eine Datei in das aktuelle Verzeichnis kopieren. Im obigen Beispiel myfile.txt befindet sich unter /home/pungki/Documents . Wir müssen nicht /home/pungki/Documents/myfile.txt eingeben um meinedatei.txt zu kopieren wenn wir in diesem /home/pungki/Documents sind Verzeichnis. Während /home/pungki/office ist ein Ordner, in den die Datei kopiert wird.

2) Mehrere Dateien gleichzeitig kopieren

Um mehrere Dateien gleichzeitig zu kopieren, können wir die Dateien einfach hinter den Kopierbefehl stellen, der durch ein Leerzeichen getrennt ist. Hier ist ein Beispiel:

$ cp file_1.txt file_2.txt file_3.txt /home/pungki/office

3) Kopieren Sie ein Verzeichnis

Das Kopieren eines Verzeichnisses ist etwas knifflig. Sie müssen -r hinzufügen oder -R Möglichkeit, es zu tun. -r oder -R Option bedeutet rekursiv. Diese Option ist ein Muss ob das Verzeichnis leer ist oder nicht. Hier ist ein Beispiel:

$ cp -r directory_1 /home/pungki/office

Beachten Sie außerdem, dass Sie den abschließenden Schrägstrich entfernen müssen hinter dem Verzeichnisnamen. Andernfalls erhalten Sie eine Fehlermeldung wie cp :omitting directory ‘directory_1/’

Wenn Sie diesen Fehler erhalten, wird das Verzeichnis nicht in den Zielordner kopiert.

4) Erstellen Sie feste Links zu Dateien, anstatt sie zu kopieren

Das Kopieren von Dateien bedeutet, dass Sie etwas Speicherplatz auf dem Speicher haben müssen, um die kopierten Dateien zu speichern. Manchmal möchten Sie aus irgendwelchen Gründen „Verknüpfungen“ oder Links zu den Dateien erstellen, anstatt sie zu kopieren. Dazu können wir -l verwenden Option.

$ cp -l file_4.txt /home/pungki/office

Auf dem obigen Screenshot sehen wir, dass ein Hardlink von file_4.txt ist wurde in /home/pungki/office/file_4.txt kopiert . Es ist durch denselben Inode gekennzeichnet, 835386 . Beachten Sie jedoch, dass keine Hardlinks in Verzeichnisse erstellt werden können. Sehen wir uns unten ein Beispiel an.

Das ursprüngliche Verzeichnis_1 hat die Inode-Nummer 278230

Die Originaldatei_5.txt hat die Inode-Nummer 279231

cp-Befehl auf Verzeichnis_1 ausführen

Das kopierte Verzeichnis_1 hat die Inode-Nummer 274800

Die kopierte Datei_5.txt hatte die Inode-Nummer 279231. Dasselbe gilt für die Originaldatei

5) Erstellen Sie symbolische Links zu Dateien

Es gibt eine andere Art von Links, die als Softlinks bezeichnet werden oder symbolische Links . Wir verwenden -s Möglichkeit, dies zu tun. Hier ist ein Beispielbefehl.

$ cp -s /home/pungki/Documents/file_6.txt file_6.txt

Das Erstellen von Symlinks kann nur im aktuellen Verzeichnis erfolgen. Auf dem obigen Screenshot möchten wir symbolische Links vom Quellverzeichnis erstellen - /home/pungki/Documents/file_6.txt nach /home/pungki/office . Aber um symbolische Links zu erstellen, muss ich hinein /home/pungki/office als Zielordner. Sobald ich dort bin, kann ich cp -s ausführen Befehl oben.

Wenn Sie dann die Datei mit Details auflisten, sehen Sie diese /home/pungki/office/file_6.txt zeigt auf die Originaldatei. Es ist mit einem Pfeilzeichen nach dem Dateinamen gekennzeichnet.

6) Kopieren ohne folgenden symbolischen Links in Source

Dazu können wir -P verwenden Möglichkeit. Wenn der Befehl cp eine Datei mit symbolischen Links gefunden hat, kopiert er sie unverändert. Sehen Sie sich das Beispiel unten an.

$ cp -P file_6.txt ./movie

Wie Sie sehen, kopiert der cp-Befehl file_6.txt wie es ist. Der Dateityp ist immer noch ein symbolischer Link.

7) Kopieren Sie mit folgenden symbolischen Links in Source

Jetzt können wir das mit -L machen Möglichkeit. Im Grunde ist das das Gegenteil der Option -P oben. Hier ist das Beispiel.

$ cp -L file_6.txt ./movie

Mit dieser Option ist die kopierte Datei dieselbe Datei wie die Quelldatei file_6.txt . Dies ist aus der Dateigröße bekannt. Die kopierte Datei hat 50 Bytes Dateigröße, während die Datei_6.txt als symbolischer Link 33 Bytes hat Dateigröße.

8) Archivieren Sie die Dateien

Wenn wir ein Verzeichnis kopieren, verwenden wir -r oder -R Möglichkeit. Aber wir können auch -a verwenden Option zum Archivieren der Datei. Dadurch wird eine exakte Kopie erstellt von Dateien und Verzeichnissen einschließlich symbolischer Links, falls vorhanden. Hier ist ein Beispiel:

$ cp -a directory_1/ /home/pungki/office

Der obige Befehl kopiert ein Verzeichnis namens Verzeichnis_1 in den Ordner /home/pungki/office . Wie Sie sehen können, ist die file_6.txt noch als symbolische Links kopiert.

9) Erklären Sie, was getan wird

Wenn die Kopieraktivität erfolgreich ist, wird standardmäßig erneut eine Eingabeaufforderung angezeigt. Wenn Sie wissen möchten, was während des Kopierens der Datei passiert, können wir -v verwenden Option.

$ cp -v *.txt /home/pungki/office

Wenn wir alle txt-Dateien im aktuellen Verzeichnis nach /home/pungki/office/ kopieren Verzeichnis, -v Option zeigt, was getan wird. Diese zusätzlichen Informationen geben uns mehr Sicherheit bezüglich der Kopieraktivitäten.

10) Nur kopieren, wenn die Quelldatei neuer ist

Dazu können wir -u verwenden Möglichkeit. Sehen Sie sich dieses Beispiel unten an.

$ cp -vu *.txt /home/pungki/office

Am Anfang sehen wir file_1.txt has 0 bytes Dateigröße. Dann bearbeiten wir es mit vi, fügen etwas Inhalt hinzu und speichern es. Als nächstes sehen wir, dass sich die Dateigröße auf 36 Byte geändert hat.

In der Zwischenzeit in /home/pungki/office Verzeichnis haben wir bereits alle *.txt-Dateien. Wenn wir -u verwenden Option, kombiniert mit -v Option, um zu sehen, was getan wird, kopiert der cp-Befehl nur eine oder mehrere neuere Dateien aus dem Zielverzeichnis. Als Ergebnis sehen wir, dass nur file_1.txt in das Verzeichnis /home/pungki/office kopiert wird .

11) Interaktiven Modus verwenden

Der interaktive Modus fragt, ob der Zielordner bereits die Datei enthält. Um den interaktiven Modus zu aktivieren, verwenden Sie -i Option.

$ cp -ir directory_1/ /home/pungki/office/

12) Backup-Datum jeder kopierten Datei erstellen

Wenn der Zielordner die Datei bereits enthält, überschreibt der Befehl cp standardmäßig dieselbe Datei im Zielverzeichnis. Mit --backup Option erstellt der Befehl cp eine Sicherungskopie jeder vorhandenen Zieldatei. ../office bezieht sich auf /home/pungki/office . Hier ist ein Beispiel:

$ cp --backup=simple -v *.txt ../office

Wie wir sehen können, --backup=simple Option erstellt eine Sicherungsdatei, die durch ein Tilde-Zeichen (~) gekennzeichnet wird am Ende der Datei. --Sicherung Option hat einige Steuerelemente, die :

sind
  • keine, aus : niemals Backups (selbst wenn --backup angegeben ist)
  • nummeriert, t : nummerierte Backups erstellen
  • vorhanden, null : nummeriert falls nummeriertes Backup existiert, sonst einfach
  • einfach, niemals : immer einfache Backups machen

13) Nur Dateiattribute kopieren

Der Cp-Befehl stellt uns auch --attributes-only zur Verfügung Möglichkeit. Wie wir anhand des Namens erraten können, kopiert diese Option nur einen Dateinamen und seine Attribute, ohne Daten zu kopieren. Hier ist ein Beispiel.

$ cp --attributes-only file_6.txt -v ../office

Im Screenshot oben hat die Originaldatei file_6.txt 50 Byte Dateigröße. Verwendung von --attributes-only Option, die kopierte Datei hat 0 Bytes Dateigröße. Dies liegt daran, dass der Inhalt der Datei nicht kopiert wird.

14) Kopieren erzwingen

Mit -f Option erzwingt die Kopieraktivität. Wenn die Zieldateien nicht geöffnet werden können, dann -f werde es noch einmal versuchen.

$ cp -f *.txt -v ../office

15) Ziel vor dem Kopieren entfernen

Dazu können wir --remove-destination verwenden Möglichkeit. Diese Option ist im Gegensatz zur Option -f Oben. Wenn der cp-Befehl denselben Dateinamen im Zielordner findet, entfernt der cp-Befehl zuerst die Zieldatei und kopiert dann die neue. Hier ist ein Beispiel.

$ cp --remove-destination *.txt -v ../office

Der Cp-Befehl ist einer der grundlegenden Linux-Befehle. Wer Linux lernen will, muss diesen Befehl kennen. Natürlich können Sie man cp eingeben oder cp --help von Ihrer Konsole aus, um die Handbuchseite anzuzeigen und weitere Details zu erkunden.

Lesen Sie auch:

  • Eine kurze Übersicht über 106 Linux-Befehle mit Beispielen

Linux
  1. So kopieren Sie Dateien und Verzeichnisse unter Linux

  2. So komprimieren Sie Dateien und Verzeichnisse unter Linux (mit Beispielen)

  3. Kopieren Sie Dateien und Verzeichnisse unter Linux

  4. Wie verwende ich den Rsync-Befehl unter Linux?

  5. Wie kopiert man Dateien unter Linux und Unix? 10 cp Befehlsbeispiele

So verwenden Sie den SCP-Befehl zum Übertragen von Dateien

So benennen Sie Dateien und Verzeichnisse in Ubuntu 20.04 um

So verwenden Sie den Befehl rsync, um Daten lokal und über SSH zu kopieren

WIE MAN DEN SCHWANZBEFEHL VERWENDET

Wie man den Head-Befehl verwendet

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal