La commande de copie sous Linux est "cp". La commande cp est principalement utilisée pour copier des fichiers et des répertoires. La syntaxe « cp [option] fichier source fichier cible » peut copier un ou plusieurs fichiers ou répertoires sources vers le fichier ou le répertoire spécifié en même temps, à l'aide de certains ; options, la copie peut également être réalisée sur l'intégralité du répertoire, ainsi que des fonctions telles que la comparaison des anciens et des nouveaux fichiers et leur mise à niveau.
L'environnement d'exploitation de ce tutoriel : système CentOS 6, ordinateur Dell G3.
La commande de copie sous Linux est "cp". Le nom anglais complet de
cp est « copy file », ce qui signifie copier des fichiers en chinois. La commande
cp est principalement utilisée pour copier des fichiers et des répertoires. Elle peut copier un ou plusieurs fichiers ou répertoires sources vers le fichier ou le répertoire de destination spécifié. Le format de base de la commande
cp est le suivant :
cp [选项] 源文件 目标文件
Options :
-a : Équivalent à un ensemble d'options -d, -p et -r Nous présenterons ces options une par une
-d : Si le fichier source est un lien symbolique (invalide pour ; liens durs), le fichier cible copié est également un lien logiciel ;
-i : Demander, si le fichier cible existe déjà, il demandera s'il faut l'écraser
-l : Créer le fichier cible ; en tant que fichier de lien physique du fichier source, au lieu de le copier Fichier source ;
-s : Créez le fichier cible en tant que fichier de lien logiciel du fichier source au lieu de copier le fichier source ; : Après la copie, le fichier cible conserve les attributs du fichier source (y compris le propriétaire, le groupe de propriété, les autorisations et l'heure)
-r : Copie récursive, utilisée pour copier des répertoires ; Le fichier cible est différent du fichier source, utilisez cette option pour mettre à jour le fichier cible. Cette option est disponible pour la mise à niveau et la sauvegarde des fichiers.
Remarque : Avec certaines options, la commande cp peut également copier l'intégralité du répertoire, comparer les anciens et les nouveaux fichiers des deux fichiers et les mettre à niveau.
【Exemple 1】Utilisation de base de la commande cp
La commande cp peut copier à la fois des fichiers et des répertoires. Voyons d'abord comment copier un fichier, par exemple :
[root@localhost ~]# touch cangls #建立源文件 [root@localhost ~]# cp cangls /tmp/ #把源文件不改名复制到 /tmp/ 目录下
[root@localhost ~]# cp cangls /tmp/bols #改名复制
Si un fichier du même nom existe déjà à l'emplacement cible de la copie, il vous sera demandé si vous souhaitez l'écraser, car la commande cp exécute par défaut l'alias de "cp -i", par exemple :
[root@localhost ~]# cp cangls /tmp/ cp:是否覆盖"/tmp/cangls"?y #目标位置有同名文件,所以会提示是否覆盖
[root@localhost ~]# mkdir movie #建立测试目录 [root@localhost ~]# cp -r /root/movie/ /tmp/ #目录原名复制
[Exemple 2] Copier le fichier de lien logiciel
Si le fichier source n'est pas un fichier ordinaire, mais un fichier de lien logiciel, les attributs peuvent-ils du lien logiciel doit-il être copié ? Essayons :
[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"选项,则会复制软链接文件
Nous avons constaté qu'après l'exécution de la commande de copie, l'heure du fichier cible deviendra l'heure d'exécution de la commande de copie, et non l'heure du fichier source. Par exemple :
[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 #源文件和目标文件的所有属性都一致,包括时间
Nous avons déjà dit que l'option "-a" est équivalente aux options "-d, -p, -r". Nous avons déjà parlé de ces options séparément. Ainsi, lorsque nous utilisons l'option "-a", tous les attributs du fichier cible et du fichier source sont cohérents, y compris le propriétaire, le groupe, l'heure et le lien symbolique du fichier source. Il est plus pratique d'utiliser l'option "-a" au lieu des options "-d, -p, -r".
【Exemple 4】 Options "-l" et "-s"
Si nous utilisons l'option "-l", le fichier cible sera créé comme un lien physique vers le fichier source et si "; -" est utilisé avec l'option ", le fichier cible sera créé sous forme de lien symbolique vers le fichier source.
[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 为源文件的软链接文件
Recommandations associées : "
Tutoriel vidéo Linux"Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!