GNU/Linux >> Tutoriels Linux >  >> Linux

Copier des fichiers et des répertoires sous Linux

Sous Linux, nous copions les fichiers comme nous le faisons dans tout autre système d'exploitation disponible aujourd'hui. Nous ouvrons un gestionnaire de fichiers, sélectionnons un fichier à copier et le collons où nous voulons. Mais que se passe-t-il si vous voulez ou devez copier des fichiers ou des répertoires sous Linux via la ligne de commande ou appliquer des filtres supplémentaires avant de copier ? Eh bien, c'est facile.

Copier des fichiers ou des répertoires localement

Si vous avez besoin de copier des fichiers ou des répertoires localement d'un répertoire à un autre, il existe une commande simple pour cela - cp.

cp – Copier des fichiers et des répertoires

Syntaxe de base

cp source destination_path

La syntaxe de base de la commande accepte deux arguments, le premier est le chemin du fichier ou le répertoire, et le second est le chemin de destination où vous voulez que le fichier ou le répertoire soit copié. Dans n'importe quel système Linux, cette commande fonctionnera parfaitement, mais il peut y avoir des cas où vous devriez être conscient de certaines options importantes fournies par la commande cp.

–sauvegarde[option]

Nous avons souvent besoin de copier autant de fichiers à la fois vers un emplacement où certains de ces fichiers peuvent déjà exister. Dans ce scénario, le comportement par défaut de la commande cp écrasera tous les fichiers existants. Cela pourrait être problématique si les fichiers contiennent des données différentes à l'intérieur.

Dans ce cas, nous pouvons utiliser l'option –backup et dire à la commande comment faire une sauvegarde de chaque fichier existant dans le répertoire de destination.

cp -v --backup myphotos Downloads/allphotos

La commande ci-dessus copiera tous les fichiers de myphotos vers le répertoire allphotos dans le répertoire Downloads. Si le répertoire allphotos contient déjà l'un des fichiers que nous transférons depuis myphotos, il créera une sauvegarde de ce fichier. Une autre caractéristique importante de la commande cp est qu'elle peut garder une trace des versions de sauvegarde.

La commande ci-dessus renommera le fichier de sauvegarde avec le nom de fichier d'origine + '`' à la fin.

Gardez une trace des versions des sauvegardes

Les options vides –backup créent une sauvegarde de chaque fichier dans le répertoire de destination, et si vous essayez de copier à nouveau le fichier, la commande remplacera les fichiers de sauvegarde existants par les nouveaux fichiers de sauvegarde. Si vous souhaitez conserver les fichiers de sauvegarde existants et en créer un nouveau chaque fois que vous essayez de copier des fichiers dans le même répertoire, vous pouvez passer l'option "numérotée" ou "t" à -backup.

L'option numérotée créera des fichiers de sauvegarde et ajoutera un numéro de sauvegarde à la fin de chaque fichier de sauvegarde. Voici un exemple de commande –

cp -rv --backup=numbered myphotos Downloads/allphotos

La commande ci-dessus copiera tous les nouveaux fichiers dans le répertoire de destination, et les fichiers dupliqués seront sauvegardés et remplacés par les nouveaux fichiers. Chaque fichier de sauvegarde aura un numéro de version ajouté au nom du fichier.

Mettre à jour les fichiers

L'une des options les plus utiles de la commande cp est "-u". Cela copie uniquement les fichiers les plus récents vers la destination et laisse le reste. Par exemple, si un fichier existe déjà dans le répertoire de destination, l'option "-u" comparera les deux fichiers et ne copiera que si le fichier de copie est plus récent que celui qui existe déjà.

cp -rv -u myphotos Downloads/allphotos

Copier uniquement les attributs des fichiers (–attributes-only)

Si vous souhaitez créer des fichiers avec certains des attributs des fichiers existants, vous pouvez passer l'argument -attributs-only. Il créera des fichiers à la destination donnée avec les mêmes attributs et non des données. Voici un exemple -

cp -rv --attributes-only myphotos Downloads/allphotos

Demander avant d'écraser des fichiers avec '-i' et '-n'

Lorsque vous effectuez une sauvegarde d'un fichier, le fichier existant est sauvegardé, puis le fichier est remplacé par le nouveau. Et si vous voulez que la commande vous demande avant d'écraser un fichier ? C'est possible avec les options '-i' et '-n'.

cp -rv -i myphotos Downloads/allphotos
Ask before overwriting any file
cp -rv -n myphotos Downloads/allphotos
Do not overwrite any file at all

Désormais, la commande n'écrasera un fichier en double que si vous tapez "y" lorsque la commande vous le demande. Et l'option "-n" n'écrasera aucun fichier.

Conserver les attributs des fichiers lors de la copie

Toutes les commandes cp ci-dessus copient les fichiers et leurs données vers une destination, mais sans préserver les attributs du fichier tels que l'autorisation, la propriété et l'horodatage. Pour également copier ou conserver les attributs des fichiers, utilisez l'option "-p" dans la commande cp.

cp -rf -p myphotos Downloads/allphotos
The above command will not only copy files data but also preserve all the attributes.

Remarque

L'opposé de l'argument -p est "-no-preserve".

Voici donc quelques options importantes disponibles pour la commande cp. Pour la liste complète des options, veuillez consulter la page de manuel de la commande cp.

man cp

FreeFileSync - comparer et synchroniser les fichiers

FreeFileSync est un outil facile à utiliser pour synchroniser des fichiers entre deux répertoires. Il possède toutes les fonctionnalités mentionnées ci-dessus ainsi que de nombreuses autres options avancées pour vous aider à copier un grand nombre de fichiers.

Vous pouvez sélectionner deux répertoires entre lesquels synchroniser les fichiers, appliquer les filtres et cliquer sur comparer. En fonction du filtre que vous appliquez, il analysera les deux répertoires et fournira les résultats. Si vous êtes satisfait des résultats, vous pouvez cliquer sur le bouton "Synchroniser" pour démarrer le processus de copie.

Comparer les fichiers en fonction de l'heure, de la taille et du contenu

Cliquer sur l'icône "engrenage" à côté du bouton "Comparer" vous permettra de sélectionner les propriétés à comparer lors de la comparaison de deux répertoires. Par défaut, l'outil compare l'heure et la taille des fichiers, mais vous pouvez également choisir de comparer la taille des fichiers ou du contenu.

Appliquer des filtres

FreeFileSync peut également appliquer des filtres lors de l'analyse du répertoire source et ne prendra en compte les fichiers ou répertoires que si au moins une des conditions du champ d'inclusion est remplie ou si aucune des conditions des champs d'exclusion n'est remplie.

Par exemple, pour échapper tous les fichiers d'un répertoire spécifique dans le répertoire source, ajoutez le nom du répertoire dans le champ d'exclusion, définissez la taille minimale ou maximale des fichiers ou définissez la durée pour sélectionner uniquement les fichiers créés ou modifiés dans le temps imparti. .

Vous pouvez également exclure des fichiers avec une extension, un nom ou un mot spécifique quelque part dans le chemin.

\*.gif
This will exclude all the files in the base directory with '.gif' extension.
\tower.png
This will exclude the file in the base directory with the name tower.png.
*mountains*
This will exclude all the files in the base directory with the word 'mountains' anywhere in the path.

Pour plus d'exemples de filtres, rendez-vous sur la page officielle de FreeFileSync.

Télécharger FreeFileSync

Télécharger

Conclusion

Il s'agit donc de copier des fichiers ou des répertoires sous Linux. Vous pouvez utiliser l'une des méthodes ci-dessus pour copier des répertoires sous Linux. Le prochain article vous montrera comment copier ou synchroniser facilement des fichiers entre des ordinateurs Linux sur le même réseau ou sur des réseaux différents.


Linux
  1. Comment copier des fichiers et des répertoires sous Linux

  2. Commande Linux cp

  3. Comment utiliser la commande Rsync sous Linux ?

  4. Commande Linux ls - Lister les fichiers

  5. Commande mcopy sous Linux

Copier un fichier dans plusieurs répertoires à partir de la ligne de commande sous Linux

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

Comment copier des fichiers et des répertoires dans un terminal Linux

4 façons de transférer des fichiers et des répertoires sous Linux

Commande ls sous Linux/UNIX

commande cp sous Linux/UNIX