Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was ist der Kopierbefehl unter Linux?
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.
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 [选项] 源文件 目标文件
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.
Hinweis: Mit bestimmten Optionen kann der Befehl cp auch das gesamte Verzeichnis kopieren, die alten und neuen Dateien der beiden Dateien vergleichen und aktualisieren.
【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/ 目录下
[root@localhost ~]# cp cangls /tmp/bols #改名复制
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 #目标位置有同名文件,所以会提示是否覆盖
[root@localhost ~]# mkdir movie #建立测试目录 [root@localhost ~]# cp -r /root/movie/ /tmp/ #目录原名复制
[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"选项,则会复制软链接文件
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,而且时间也变成了复制命令的执行时间
[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 #源文件和目标文件的所有属性都一致,包括时间
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.
[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 为源文件的软链接文件
Verwandte Empfehlungen: „
Linux Video TutorialDas 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!