Comment copier des fichiers et des répertoires dans Linux [14 exemples de commande CP]

Comment copier des fichiers et des répertoires dans Linux [14 exemples de commande CP]

Brief: Dans ce guide facile à suivre, nous discuterons de quelques exemples pratiques de la commande CP. Après avoir suivi ce guide, les utilisateurs pourront copier facilement les fichiers et les répertoires dans Linux en utilisant l'interface de ligne de commande.

En tant qu'utilisateurs de Linux, nous interagissons avec les fichiers et les répertoires de temps à autre. Une opération courante que les utilisateurs effectuent consiste à copier des fichiers et des répertoires. Certes, nous pouvons utiliser un gestionnaire de fichiers graphiques pour effectuer l'opération de copie. Cependant, la plupart des utilisateurs de Linux préfèrent utiliser le CP commande en raison de sa simplicité et de sa riche fonctionnalité.

Dans ce guide pour les débutants, nous apprendrons sur le CP commande. Comme son nom l'indique, le commande CP est utilisé pour copier des fichiers et des répertoires sur un chemin donné.

Tout au long de ce guide, nous comprendrons l'utilisation du commande CP en utilisant des exemples pratiques qui peuvent être utilisés au quotidien.

Alors, commençons.

Table des matières

1
  • Syntaxe de commande CP
  • 1. Comment copier un fichier dans Linux
  • 2. Afficher les progrès de la commande de copie
  • 3. Comment copier plusieurs fichiers dans le répertoire
  • 4. Comment éviter d'écraser le fichier
  • 5. Comment écraser le fichier avec confirmation
  • 6. Écraser le fichier uniquement si la source est plus récente
  • 7. Comment sauvegarder le fichier avant d'écraser
  • 8. Comment forcer la copie pour écraser le fichier
  • 9. Comment supprimer le fichier de destination avant de copier
  • dix. Comment créer un fichier de lien dur au lieu de copier
  • 11. Comment créer un fichier de lien souple au lieu de copier
  • 12. Comment préserver les attributs de fichiers lors de la copie
  • 13. Comment effectuer l'opération de copie récursive
  • 14. Comment copier plusieurs répertoires

Syntaxe de commande CP

La syntaxe du CP La commande est identique aux autres commandes Linux. À un niveau élevé, il est divisé en deux parties - options et arguments:

$ cp [options] $ cp [options]…  

Dans la syntaxe ci-dessus, les crochets ([]) représentent les arguments facultatifs tandis que les supports angulaires () représenter les arguments obligatoires.

1. Comment copier un fichier dans Linux

L'un des utilisations de base du CP La commande consiste à copier un fichier dans un répertoire actuel. La plupart du temps, les utilisateurs effectuent cette opération pour prendre une sauvegarde de la configuration importante.

Par exemple, nous créons souvent une copie de sauvegarde de / etc / ssh / sshd_config avant de mettre à jour la configuration SSH.

Pour comprendre l'utilisation, créons un fichier simple:

$ touch Fichier-1.SMS 

Ensuite, créez une copie du fichier à l'aide de la commande suivante:

$ CP Fichier-1.fichier txt-2.SMS 
Copier le fichier dans Linux

2. Afficher les progrès de la commande de copie

Dans l'exemple précédent, nous avons utilisé la commande LS pour vérifier si l'opération de copie de fichier a réussi ou non. Cependant, il n'a pas de sens d'utiliser une autre commande juste pour vérifier le résultat des commandes précédentes.

Dans de tels cas, nous pouvons activer le mode verbeux en utilisant le -V Option, qui fournit des diagnostics pour chaque fichier traité.

Faisons une copie du fichier-1.SMS Fichier à l'aide de la commande suivante:

$ cp -v fichier-1.Fichier txt-3.SMS 
Afficher la sortie de la copie

Dans la sortie ci-dessus, la flèche représente le fichier qui est copié. L'argument du côté gauche est le fichier source tandis que l'argument du côté droit est le fichier de destination.

3. Comment copier plusieurs fichiers dans le répertoire

Jusqu'à présent, nous avons travaillé avec un seul fichier et le répertoire de travail actuel uniquement. Cependant, dans l'environnement de production réel, nous devons travailler avec un grand nombre de fichiers. L'un des cas d'utilisation courants dans de tels environnements est de copier plusieurs fichiers en un seul répertoire.

De toute évidence, nous pouvons exécuter la commande CP plusieurs fois pour y parvenir, mais ce ne sera pas le moyen le plus efficace. Pour effectuer une telle opération efficacement, nous pouvons utiliser une syntaxe alternative de la commande CP.

Donc, tout d'abord, créez un nouveau répertoire avec le nom dir-1:

$ mkdir dir-1 

Maintenant, copiez les trois fichiers dans le dir-1 Répertoire utilisant la commande unique:

$ cp -v fichier-1.fichier txt-2.Fichier txt-3.txt dir-1 
Copiez plusieurs fichiers dans Linux

La sortie ci-dessus montre que tous les fichiers ont été copiés dans le dir-1 annuaire. Il est également important de noter que, pour utiliser cette syntaxe alternative, le répertoire doit déjà être présent et ce doit être le dernier argument de la commande.

4. Comment éviter d'écraser le fichier

Par défaut, le CP La commande remplace le fichier de destination, ce qui signifie qu'il écrasera le fichier s'il existe à la destination avec le même nom. Cependant, nous pouvons désactiver ce comportement par défaut en utilisant le -n option.

Pour comprendre cela, essayons de remplacer le fichier existant:

$ cp -n -v fichier-1.fichier txt-2.SMS 

Dans cet exemple, nous avons utilisé le -V option pour illustrer que le fichier-2.SMS Le fichier n'a pas été écrasé.

5. Comment écraser le fichier avec confirmation

Dans l'exemple précédent, nous avons vu comment éviter l'écrasement du fichier de destination. Cependant, parfois nous voulons écraser la destination du fichier de manière plus sûre.

Dans de tels cas, nous pouvons utiliser le -je Option de la commande pour rendre l'opération de copie interactive. Cette option affiche le message d'avertissement et attend la confirmation de l'utilisateur avant d'écraser le fichier.

Pour illustrer cela, essayons de remplacer le fichier existant:

$ cp -i fichier-1.fichier txt-2.SMS CP: Écraser le fichier-2.SMS'? 

Comme nous pouvons le voir, la commande attend la confirmation. Tout comme les autres commandes Linux, nous pouvons utiliser 'Y' continuer ou 'n' Pour abandonner l'opération.

Ce comportement non interactif par défaut du CP La commande n'est pas très sûre. Il y a des chances que l'utilisateur puisse écraser une configuration importante par erreur. Par conséquent, certaines des distributions Linux appliquent le comportement interactif par défaut à l'aide de la commande Alias:

$ alias cp = "cp -i" 

6. Écraser le fichier uniquement si la source est plus récente

Dans l'exemple précédent, nous avons vu comment utiliser le mode interactif. Cependant, parfois, un utilisateur peut écraser le nouveau fichier par inadvertance.

Pour éviter de tels cas sujets aux erreurs, nous pouvons utiliser le -u Option, qui tente de copier l'opération uniquement si la source est plus récente que la destination ou si le fichier n'est pas présent à la destination.

Tout d'abord, mettez à jour l'horodatage du fichier source:

$ Touch -T 10101010 Fichier-1.TXT $ ls -l fichier-1.SMS 

Dans l'exemple ci-dessus, nous avons utilisé le -t Option de la commande tactile pour définir l'horodatage du fichier dans 10-oct-2010.

Ensuite, mettons à jour l'horodatage du fichier de destination à l'heure actuelle:

$ touch Fichier-2.SMS 

Maintenant, essayons d'effectuer une opération de copie en utilisant le -u option:

$ cp -u -v fichier-1.fichier txt-2.SMS 

Ici, nous pouvons voir que l'opération de copie n'a pas été tentée car le fichier de destination est plus récent que la source.

Enfin, échangeons les arguments source et de destination et effectuons l'opération de copie:

$ cp -u -v fichier-2.fichier txt-1.SMS 

Dans la sortie ci-dessus, nous pouvons observer que l'opération de copie réussit car le fichier source est plus récent que la destination.

Écraser le fichier uniquement si la source est plus récente

7. Comment sauvegarder le fichier avant d'écraser

Nous pouvons instruire le CP commande de prendre une sauvegarde du fichier de destination avant de l'écraser. Pour y parvenir, nous pouvons utiliser le --sauvegarde Option, qui effectue des sauvegardes automatisées.

$ cp --backup = fichier numéroté -v-1.fichier txt-2.SMS 

Dans cet exemple, nous avons utilisé la politique de sauvegarde numérotée. Cette politique utilise des nombres incrémentiels dans les noms de fichiers de sauvegarde.

Pour comprendre cela, exécutons la même commande plusieurs fois et observons la sortie:

$ cp --backup = fichier numéroté -v-1.fichier txt-2.txt $ cp --backup = numéroté -v fichier-1.fichier txt-2.txt $ cp --backup = numéroté -v fichier-1.fichier txt-2.SMS 
Fichier de sauvegarde avant l'écrasement

8. Comment forcer la copie pour écraser le fichier

Dans les quelques exemples précédents, nous avons vu comment écraser le fichier d'une manière plus sûre. Cependant, dans certains cas rares, l'exigence consiste à écraser le fichier. Cependant, il n'y a pas de garantie que l'opération réussira à chaque fois.

Par exemple, l'opération de copie échouera si le fichier de destination n'a pas les autorisations d'écriture. Illustrons cela avec un exemple.

Tout d'abord, modifiez les autorisations du fichier de destination:

$ chmod 444 fichier-2.TXT $ ls -l fichier-2.SMS 

Maintenant, essayons de remplacer le fichier-2.SMS déposer:

$ CP Fichier-1.fichier txt-2.SMS 

Dans la sortie ci-dessus, nous pouvons voir que la commande a échoué avec l'erreur refusée.

Pour surmonter cette limitation, nous pouvons utiliser le -F Option, qui supprime les fichiers de destination et tente l'opération de copie si le fichier de destination ne peut pas être ouvert.

Maintenant, utilisons le -F Option pour écraser le fichier avec force:

$ cp -f -v fichier-1.fichier txt-2.SMS 
Forcer la copie pour écraser le fichier

9. Comment supprimer le fichier de destination avant de copier

Dans l'exemple précédent, nous avons vu comment supprimer le fichier de destination s'il y a une erreur lors de son fonctionnement. Cependant, parfois, l'exigence est de supprimer d'abord le fichier de destination, puis d'effectuer l'opération de copie.

Pour répondre à une telle exigence, nous pouvons utiliser le --enlever option.

$ cp - Rempove-Destination -V Fichier-1.fichier txt-2.SMS 
Supprimer le fichier de destination avant la copie

Dans la sortie ci-dessus, nous pouvons voir que la commande CP supprime d'abord le fichier de destination, puis effectue l'opération de copie.

dix. Comment créer un fichier de lien dur au lieu de copier

Nous pouvons créer un lien dur au lieu de créer une nouvelle copie du fichier source. Cette option joue un rôle important lorsqu'il y a une rareté d'espace disque.

Alors, utilisons le -l Option pour créer un lien dur:

$ cp -l -v fichier-1.Fichier txt-4.SMS 

Maintenant, vérifions les numéros inode des deux fichiers pour vérifier les liens durs:

$ ls -i1 fichier-1.Fichier txt-4.SMS 
Créer un fichier de lien dur au lieu de copier

Dans la sortie ci-dessus, les nombres de la première colonne représentent les numéros d'Inode.

11. Comment créer un fichier de lien souple au lieu de copier

De la même manière, nous pouvons créer un lien doux au lieu de créer une nouvelle copie en utilisant le -s Option comme indiqué ci-dessous:

$ cp -s -v fichier 1.Fichier txt-5.SMS 

Maintenant, vérifions que le lien symbolique a été créé correctement:

$ ls -l fichier-5.SMS 
Créer un lien doux au lieu de copier

Dans la sortie ci-dessus, les dernières colonnes représentent la relation de liaison symbolique.

12. Comment préserver les attributs de fichiers lors de la copie

Il existe divers attributs associés au fichier, tels que son temps d'accès, le temps de modification, les autorisations, etc. Par défaut, ces attributs ne sont pas conservés lors de la copie du fichier. Pour remplacer ce comportement par défaut, nous pouvons utiliser le -p option.

Pour comprendre cela, tout d'abord, mettez à jour l'horodatage du fichier-1.SMS:

$ Touch -T 10101010 Fichier-1.SMS 

Maintenant, créons une copie de ce fichier en préservant tous ses attributs:

$ cp -p -v fichier-1.Fichier txt-6.SMS 

Enfin, vérifiez l'horodatage du fichier-6.SMS déposer:

$ ls -l fichier-6.SMS 
Préserver les attributs de fichiers lors de la copie

13. Comment effectuer l'opération de copie récursive

Jusqu'à présent, nous avons vu comment copier un seul fichier. Cependant, souvent, nous devons copier tous les fichiers et sous-répertoires du répertoire particulier.

Dans de tels cas, nous pouvons utiliser le mode récursif en utilisant le -r ou -R option.

Alors, créons un répertoire et ajoutons quelques fichiers et sous-répertoires en dessous:

$ mkdir -p dir-1 / dir-2 $ touch dir-1 / fichier-1.txt dir-1 / dir-2 / file-2.SMS 

Ensuite, vérifiez que la structure du répertoire a été créée correctement:

$ arbre dir-1 

Maintenant, copiez le répertoire DIR-1 en utilisant la commande suivante:

$ cp -r -v dir-1 dir-3 

Enfin, vérifiez que tous les fichiers et sous-répertoires ont été copiés avec succès:

$ arbre dir-3 
Copier de manière récursive les fichiers

14. Comment copier plusieurs répertoires

Semblable aux fichiers, nous pouvons copier plusieurs répertoires récursifs à l'aide d'une seule commande. Cependant, pour y parvenir, le répertoire de destination doit déjà être présent et ce doit être le dernier argument de la commande. Comprenons cela avec un exemple.

Tout d'abord, créez un répertoire un nouveau répertoire:

$ mkdir dir-4 

Maintenant, copie le dir-1 et dir-3 répertoires dans le dir-4 Répertoire utilisant la commande ci-dessous:

$ cp -r -v dir-1 dir-3 dir-4 

De la même manière, nous pouvons utiliser le -t Option de la commande pour atteindre le même résultat. Cette option nous permet de spécifier le répertoire de destination. Nous pouvons donc également l'utiliser comme premier argument:

$ cp -t dir-4 -r -v dir-1 dir-3 
Copier plusieurs répertoires

Dans cet article, nous avons discuté de la façon de copier des fichiers et des répertoires à l'aide du commande CP. Les débutants peuvent se référer à ces exemples dans la vie quotidienne tout en travaillant avec des systèmes Linux.

Vous pourriez aussi aimer:

  • Comment utiliser la commande «MV» dans Linux [9 exemples utiles]
  • Progrès - Afficher le pourcentage de données copiées pour les commandes (CP, MV, DD, TAR)
  • Surveillez les progrès des données (copier / sauvegarde / compression) à l'aide de la commande «PV»
  • Commande de copie avancée - Affiche la barre de progression lors de la copie de fichiers grands / dossiers dans Linux

Connaissez-vous tout autre meilleur exemple de la commande CP dans Linux? Faites-nous savoir votre point de vue dans les commentaires ci-dessous.