GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment copier des fichiers sous Linux à l'aide de la commande CP

Cet article concerne la commande Linux cp.

La copie de fichiers est l'une des tâches les plus courantes lors de la manipulation de fichiers sur n'importe quel système d'exploitation. Il est même très courant d'utiliser le raccourci bureau CTRL+c pour copier et CTRL+v pour coller. Cependant, dans le terminal Linux, c'est aussi une tâche assez simple à faire et pour cela, nous utilisons la commande cp.

Commande Linux cp

La commande cp copie simplement un ou plusieurs fichiers ou dossiers d'un emplacement à un autre. Cependant, comme toute commande Linux, son comportement initial peut être modifié grâce à l'utilisation d'options.

De même, la commande cp est installée et prête dans toutes les distributions Linux car elle fait partie des utilitaires GNU. Alors ouvrez simplement un émulateur de terminal et commencez à travailler.

Commande Cp :syntaxe de base et options

La commande cp est assez simple à utiliser car sa fonction est également simple. Comme toutes les commandes de la famille UNIX, elle a une syntaxe de base à utiliser.

Dans le cas de la commande cp, la syntaxe de base est la suivante :

cp [option]... source... directory

Où source fait référence au fichier ou au dossier qui sera copié vers une destination appelée répertoire.

Les options et quelques informations de base sur la commande peuvent être visualisées à l'aide de la commande suivante :

:~$ cp --help

Là, vous verrez qu'il existe plusieurs options différentes. Les plus importants sont les suivants :

Option Description selon les utilitaires GNU
-a Conserver autant que possible la structure et les attributs des fichiers originaux dans la copie
-d Copiez les liens symboliques en tant que liens symboliques plutôt que de copier les fichiers vers lesquels ils pointent, et conservez les liens physiques entre les fichiers source dans les copies.
-f ou –force Cette option force la copie même si le dossier de destination n'est pas disponible en écriture.
-i ou –interactive Affiche un message chaque fois qu'un fichier doit être écrasé.
-l Créez des liens physiques au lieu de copies de non-répertoires.
-R ou -r ou –recursive Copier les répertoires de manière récursive. Par défaut, ne suivez pas les liens symboliques dans la source.
-s ou –symbolic-link Dans ce cas, la commande créera des liens symboliques de tous les fichiers qui ne sont pas des dossiers. Ceci remplace une copie.
-u ou –update Cette option ne copie pas les fichiers qui ont le même horodatage de modification ou un horodatage plus récent dans le dossier de destination. C'est une mise à jour d'une copie.
-v ou –verbose Imprimez le nom de chaque fichier avant de le copier.

Maintenant, avec quelques exemples, nous allons démontrer l'utilisation courante de la commande cp sur un système Linux.

Utiliser la commande cp

Copier un ou plusieurs fichiers dans un dossier

Commençons par les bases. Pour copier un fichier dans un certain dossier, la commande à lancer est la suivante :

:~$ cp [file] [destination]

Par exemple :

:~$ cp file.txt /home/user/Documents/

La commande ci-dessus copie un fichier appelé file.txt situé au même emplacement que l'invite dans le dossier Documents.

Vous pouvez également copier un fichier qui se trouve à un emplacement différent de celui de l'invite, en utilisant un chemin absolu.

:~$ cp /home/user/Pictures/image.jpg /home/user/Documents

Ainsi, si vous souhaitez copier plusieurs fichiers à la fois, séparez-les simplement par un espace vide.

:~$ cp file1.txt file2.txt /home/user/Downloads

Vous pouvez toujours le faire avec les itinéraires absolus.

:~$ cp /home/user/file1.txt /home/user/Pictures/file2.jpg /home/user/Downloads

C'est à quelle vitesse vous pouvez copier plusieurs fichiers.

Copier tous les fichiers d'un répertoire dans un dossier

Il est également possible de copier tous les fichiers d'un dossier à un autre. Pour ce faire, utilisez l'opérateur astérisque (*). Par exemple :

:~$ cp * [destination]

Ou

:~$ cp * /home/users/Documents/folder/

Mais si vous voulez copier tous les fichiers qui ont la même extension, vous pouvez le faire de la manière suivante :

:~$ cp *.txt /home/users/Documents/folder/

Autrement dit, tous les fichiers .txt sont copiés dans le dossier.

Copier des répertoires avec la commande cp

Jusqu'à présent, nous vous avons appris à copier des fichiers, mais que faire si vous vouliez copier un dossier ? Eh bien, cela provoque une erreur.

Supposons que vous vouliez copier un dossier nommé "example" dans /home/angelo/Documents, cela provoquerait une erreur cp ometting directory
similaire à celle-ci :

Pour copier des dossiers avec la commande cp, ajoutez l'option -r. Par exemple :

:~$ cp -r example/ /home/angelo/Documents/

Cela copiera le dossier entier dans le dossier de destination.

Sauvegarder les fichiers à copier

C'est une option très utile. Lors de la copie de fichiers, il est courant que vous le modifiiez au fil du temps, mais vous pouvez toujours conserver une copie de l'original.

Pour créer la sauvegarde, utilisez simplement la commande suivante :

:~$ cp -ab [file] [destination]

Bien sûr, vous pouvez spécifier le fichier et le dossier que vous souhaitez. Par exemple :

:~$ cp -ab file2.txt /home/angelo/Documents/example/

Dans ce cas, nous utilisons deux options simultanément. Le premier est -a. il traite explicitement le fichier comme ce qu'il est, un fichier. Et le second qui est -b est d'effectuer la sauvegarde.

Ce que fait la commande, c'est créer une sauvegarde et ajouter un ~ à la fin si nous faisons la copie une deuxième fois. Ce sera le fichier original de la copie.

:~$ ll /home/angelo/Documents/example

Demander confirmation avant d'écraser un fichier

Pour éviter d'éventuelles erreurs d'écriture de fichier, vous pouvez utiliser l'option -i.

Avec cette option, il vous sera demandé de confirmer avant d'écraser les fichiers pour une copie. Pour cela, ajoutez simplement l'option -i à la commande :

:~$ cp -i file2.txt /home/angelo/Documents/example/

N'oubliez pas que l'avertissement ne sortira que lorsqu'il sera écrasé. Si vous copiez de nombreux fichiers mais qu'aucun ne porte le même nom qu'un autre dans la destination, rien ne s'affichera.

Évitez d'écraser des fichiers avec la commande cp

La commande cp a une option qui empêche les fichiers du dossier de destination d'être écrasés lors de la copie.

Pour cela, ajoutez simplement l'option -n à la commande cp :

:~$ cp -n file.txt [destination]

Cette option est utile si vous savez déjà que certains fichiers portent le même nom et que vous souhaitez éviter de les écraser. D'autre part, il est également utile si vous ne savez pas si des fichiers similaires existent.

Faire des copies tout en conservant les attributs de fichier

Sur les systèmes basés sur Unix, les fichiers ont des attributs spécifiques. Ainsi, si un utilisateur autre que celui qui l'a créé le copie ou le déplace, il y a un risque de modifier les valeurs de ces attributs. Certains d'entre eux sont la date de modification et les autorisations de fichiers.

Pour éviter cela, ajoutez l'option -p à la commande cp.

:~$ cp -p [file] [destination]

C'est aussi simple que cela de conserver les attributs lors de la copie.

Mettre à jour une sauvegarde avec la commande cp

Il est possible d'utiliser la commande cp pour sauvegarder nos fichiers vers un autre emplacement tel qu'une mémoire externe. Supposons que vous souhaitiez sauvegarder un dossier contenant de la musique vers un autre emplacement. Pour ce faire, vous utiliserez la commande suivante :

:~$ cp -r [music_folder] [destination]

Mais, il s'avère que vous ajoutez de nouveaux fichiers à ce dossier et que vous souhaitez les sauvegarder à nouveau. Vous pouvez empêcher la commande cp de recopier les fichiers que vous avez déjà sauvegardés et simplement copier ceux qui ne se trouvent pas dans le dossier de destination.

Ça sonne bien, n'est-ce pas? Eh bien, pour ce faire, nous utilisons l'option -u ou -update.

:~$ cp -ru [music_folder] [destination]

En bref, la commande copiera le dossier, vérifiera quels fichiers du dossier source se trouvent dans la destination. Et enfin, il ne copiera que ceux qui ne le sont pas.

Pour voir l'ensemble du processus, vous pouvez également ajouter l'option -v.

:~$ cp -ruv [music_folder] [destination]

Ainsi, vous pouvez mettre à jour une sauvegarde avec une simple commande.

Réflexions finales

La commande cp est une commande facile à utiliser mais vous avez vu que vous pouvez faire beaucoup de choses intéressantes avec. Il fait partie des utilitaires GNU, ce qui le rend disponible pour toutes les distributions Linux.

D'autre part, dans ce post, vous avez appris une partie de ce qu'il est possible de faire avec la commande. Ceci est très utile dans les environnements serveur mais aussi pour approfondir de plus en plus le fonctionnement du système d'exploitation.


Ubuntu
  1. Comment renommer des fichiers sous Linux

  2. Comment effectuer une comparaison ligne par ligne de fichiers sous Linux à l'aide de la commande diff - Partie II

  3. Comment effectuer une comparaison ligne par ligne de fichiers sous Linux à l'aide de la commande diff

  4. Copier des fichiers et des répertoires sous Linux

  5. Comment redémarrer Linux en utilisant la ligne de commande

Commande Rm sous Linux

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment créer un fichier sous Linux à l'aide de la commande Cat

Comment créer un fichier sous Linux à l'aide de Terminal

Comment copier un grand nombre de fichiers sous Linux

Comment compter les fichiers dans le répertoire sous Linux