Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Was ist der Kopierbefehl unter Linux?

Was ist der Kopierbefehl unter Linux?

青灯夜游
Freigeben: 2022-05-09 16:50:05
Original
53196 Leute haben es durchsucht

Der Kopierbefehl unter Linux lautet „cp“. Der Befehl cp wird hauptsächlich zum Kopieren von Dateien und Verzeichnissen verwendet. Mit der Syntax „cp [Option] Quelldatei Zieldatei“ können mithilfe bestimmter Befehle eine oder mehrere Quelldateien oder Verzeichnisse gleichzeitig kopiert werden Mit den Optionen ist auch das Kopieren des gesamten Verzeichnisses sowie Funktionen wie der Vergleich der alten und neuen Dateien und deren Aktualisierung möglich.

Was ist der Kopierbefehl unter Linux?

Die Betriebsumgebung dieses Tutorials: CentOS 6-System, Dell G3-Computer.

Der Kopierbefehl unter Linux lautet „cp“. Der vollständige englische Name von

cp lautet „copy file“, was auf Chinesisch „Dateien kopieren“ bedeutet. Der

cp-Befehl wird hauptsächlich zum Kopieren von Dateien und Verzeichnissen verwendet. Er kann eine oder mehrere Quelldateien oder -verzeichnisse in die angegebene Zieldatei oder das angegebene Zielverzeichnis kopieren. Das Grundformat des

cp-Befehls ist wie folgt:

cp [选项] 源文件 目标文件
Nach dem Login kopieren

Optionen:

  • -a: Entspricht einer Reihe von Optionen -d, -p und -r. Wir werden diese Optionen einzeln einführen.

  • -d: Wenn die Quelldatei ein Softlink ist (ungültig für Hardlinks), die kopierte Zieldatei ist auch ein Softlink;

  • -i: Fragen Sie, ob die Zieldatei bereits vorhanden ist.

  • -l: Erstellen Sie die Zieldatei als Hardlink-Datei der Quelldatei, anstatt die Quelldatei zu kopieren;

  • -s: Erstellen Sie die Zieldatei als Softlink-Datei der Quelldatei, anstatt die Quelldatei zu kopieren; Beim Kopieren behält die Zieldatei die Attribute der Quelldatei (einschließlich Eigentümer, Eigentümergruppe, Berechtigungen und Zeit);

  • -r: Rekursive Kopie, wird zum Kopieren von Verzeichnissen verwendet; sich von der Quelldatei unterscheidet, verwenden Sie diese Option, um die Zieldatei zu aktualisieren. Diese Option ist zum Aktualisieren und Sichern von Dateien verfügbar.

  • Es ist zu beachten, dass es mehrere Quelldateien geben kann, in diesem Fall muss die Zieldatei jedoch ein Verzeichnis sein.
  • Hinweis: Mit bestimmten Optionen kann der Befehl cp auch das gesamte Verzeichnis kopieren, die alten und neuen Dateien der beiden Dateien vergleichen und aktualisieren.

Verwendungsbeispiele für den Befehl cp:

【Beispiel 1】Grundlegende Verwendung des Befehls cp

Der Befehl cp kann sowohl Dateien als auch Verzeichnisse kopieren. Schauen wir uns zunächst an, wie man eine Datei kopiert, zum Beispiel:

[root@localhost ~]# touch cangls
#建立源文件
[root@localhost ~]# cp cangls /tmp/
#把源文件不改名复制到 /tmp/ 目录下
Nach dem Login kopieren
    Wenn Sie den zu kopierenden Namen ändern müssen, lautet der Befehl wie folgt:
  • [root@localhost ~]# cp cangls /tmp/bols
    #改名复制
    Nach dem Login kopieren

    Wenn im Kopierziel bereits eine Datei mit demselben Namen vorhanden ist Wenn Sie den Speicherort angeben, werden Sie gefragt, ob Sie ihn überschreiben möchten, da der Befehl cp standardmäßig den Alias ​​„cp -i“ ausführt, zum Beispiel:

    [root@localhost ~]# cp cangls /tmp/
    cp:是否覆盖"/tmp/cangls"?y
    #目标位置有同名文件,所以会提示是否覆盖
    Nach dem Login kopieren
  • Als nächstes schauen wir uns an, wie Sie ein Verzeichnis kopieren. Tatsächlich brauchen Sie nur Um die Option „-r“ zum Kopieren eines Verzeichnisses zu verwenden, zum Beispiel:
[root@localhost ~]# mkdir movie
#建立测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/
#目录原名复制
Nach dem Login kopieren

[Beispiel 2] Softlink-Datei kopieren

Wenn die Quelldatei keine gewöhnliche Datei, sondern eine Softlink-Datei ist, können Sie dies tun Werden die Attribute des Softlinks kopiert? Versuchen wir es:

[root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink
#建立一个测试软链接文件/tmp/cangls_slink
[root@localhost ~]# ll /tmp/cangls_slink
lrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls
#源文件本身就是一个软链接文件
[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1
#复制软链接文件,但是不加"-d"选项
[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2
#复制软链接文件,加入"-d"选项
[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2
-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1
#会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件
lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls
#而如果加入了"-d"选项,则会复制软链接文件
Nach dem Login kopieren
    Dieses Beispiel zeigt, dass, wenn die Option „-d“ beim Kopieren einer Softlink-Datei nicht verwendet wird, der Befehl cp die Quelldatei anstelle der Softlink-Datei kopiert; nur die Option „-d“ wird hinzugefügt , Die Softlink-Datei wird kopiert. Bitte beachten Sie, dass die Option „-d“ für Hardlinks ungültig ist.
  • 【Beispiel 3】Kopieren der Quelldateiattribute beibehalten

Wir haben festgestellt, dass nach der Ausführung des Kopierbefehls die Zeit der Zieldatei zur Ausführungszeit des Kopierbefehls wird, nicht die Zeit der Quelldatei. Zum Beispiel:

[root@localhost ~]# cp /var/lib/mlocate/mlocate.db /tmp/
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db
-rw-r-----1 root slocate2328027 6月 14 02:08/var/lib/mlocate/mlocate.db
#注意源文件的时间和所属组
[root@localhost ~]#ll /tmp/mlocate.db
-rw-r----- 1 root root2328027 6 月 14 06:05/tmp/mlocate.db
#由于复制命令由root用户执行,所以目标文件的所属组为了root,而且时间也变成了复制命令的执行时间
Nach dem Login kopieren
    Wenn wir Sicherungen und Protokollsicherungen durchführen, kann die Zeit dieser Dateien ein wichtiger Parameter sein, daher müssen wir die Option „-p“ ausführen. Diese Option behält die Attribute der Quelldatei bei, einschließlich Besitzer, Gruppe und Zeit. Zum Beispiel:
  • [root@localhost ~]# cp -p /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2
    #使用"-p"选项
    [root@localhost ~]# ll /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2
    -rw-r----- root slocate 2328027 6月 14 02:08 /tmp/mlocate.db_2
    -rw-r----- root slocate 2328027 6月 14 02:08 /var/lib/mlocate/mlocate.db
    #源文件和目标文件的所有属性都一致,包括时间
    Nach dem Login kopieren

    Wir haben bereits gesagt, dass die Option „-a“ den Optionen „-d, -p, -r“ entspricht. Wir haben diese Optionen bereits separat besprochen. Wenn wir also die Option „-a“ verwenden, sind alle Attribute der Zieldatei und der Quelldatei konsistent, einschließlich des Eigentümers, der Gruppe, der Zeit und des Softlinks der Quelldatei. Es ist bequemer, die Option „-a“ anstelle der Optionen „-d, -p, -r“ zu verwenden.

【Beispiel 4】 Optionen „-l“ und „-s“

Wenn wir die Option „-l“ verwenden, wird die Zieldatei als fester Link zur Quelldatei erstellt und wenn „ -“ Wird die Option „s“ verwendet, wird die Zieldatei als Softlink zur Quelldatei erstellt.

    Diese beiden Optionen unterscheiden sich von der Option „-d“. Die Option „d“ erfordert, dass die Quelldatei ein Softlink sein muss, bevor die Zieldatei als Softlink kopiert wird Optionen „ und „-s“ Die Datei muss nur eine normale Datei sein und die Zieldatei kann direkt als Hardlink oder Softlink kopiert werden. Zum Beispiel:
  • [root@localhost ~]# touch bols
    #建立测试文件
    [root@localhost ~]# ll -i bols
    262154-rw-r--r-- 1 root root 0 6月 14 06:26 bols
    #源文件只是一个普通文件,而不是软链接文件
    [root@localhost ~]# cp -l /root/bols /tmp/bols_h
    [root@localhost ~]# cp -s /root/bols /tmp/bols_s
    #使用"-l" 和"-s"选项复制
    [root@localhost ~]# ll -i /tmp/bols_h /tmp/bols_s
    262154-rw-r--r-- 2root root 0 6 月 14 06:26/tmp/bols_h
    #目标文件 /tmp/bols_h 为源文件的硬链接文件
    932113 lrwxrwxrwx 1 root root 10 6 月 14 06:27/tmp/bols_s -> /root/bols
    #目标文件 /tmp/bols_s 为源文件的软链接文件
    Nach dem Login kopieren

    Verwandte Empfehlungen: „

    Linux Video Tutorial“

    Das obige ist der detaillierte Inhalt vonWas ist der Kopierbefehl unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage