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