Maison > Opération et maintenance > exploitation et maintenance Linux > Quelle est la commande de copie sous Linux

Quelle est la commande de copie sous Linux

青灯夜游
Libérer: 2022-05-09 16:50:05
original
53193 Les gens l'ont consulté

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.

Quelle est la commande de copie sous Linux

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 [选项] 源文件 目标文件
Copier après la connexion

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.

  • Il est à noter qu'il peut y avoir plusieurs fichiers sources, mais dans ce cas, le fichier cible doit être un répertoire.
  • 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.

Exemples d'utilisation de la commande cp :

【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/ 目录下
Copier après la connexion
    Si vous devez renommer la copie, la commande est la suivante :
  • [root@localhost ~]# cp cangls /tmp/bols
    #改名复制
    Copier après la connexion

    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
    #目标位置有同名文件,所以会提示是否覆盖
    Copier après la connexion
  • Ensuite, nous verrons comment copier un répertoire. En fait, il vous suffit d'utiliser. l'option "-r" pour copier un répertoire, par exemple :
[root@localhost ~]# mkdir movie
#建立测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/
#目录原名复制
Copier après la connexion

[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"选项,则会复制软链接文件
Copier après la connexion
    Cet exemple montre que si l'option "-d" n'est pas utilisée lors de la copie d'un fichier de lien symbolique, la commande cp copie le fichier source à la place du fichier de lien symbolique, seule l'option "-d" est ajoutée ; , Le fichier de lien logiciel sera copié. Veuillez noter que l'option "-d" n'est pas valide pour les liens physiques.
  • 【Exemple 3】Conserver la copie de l'attribut du fichier source

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,而且时间也变成了复制命令的执行时间
Copier après la connexion
    Lorsque nous effectuons une sauvegarde et une sauvegarde des journaux, l'heure de ces fichiers peut être un paramètre important, nous devons donc exécuter l'option "-p". Cette option préserve les attributs du fichier source, notamment le propriétaire, le groupe et l'heure. Par exemple :
  • [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
    #源文件和目标文件的所有属性都一致,包括时间
    Copier après la connexion

    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.

    Ces deux options sont différentes de l'option "-d". L'option "d" nécessite que le fichier source soit un lien symbolique avant que le fichier cible ne soit copié en tant que lien symbolique tandis que les sources du "-l ; Options " et "-s" Le fichier doit uniquement être un fichier ordinaire et le fichier cible peut être directement copié sous forme de lien physique ou de lien logiciel. Par exemple :
  • [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 为源文件的软链接文件
    Copier après la connexion

    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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal