mv command in linux terminal

How to Move Files in Linux: Mastering “mv” command

To move files in Linux you need to use the mv command. Here are some examples:

# move file1 to file2 (what command actually does is renaming the file)
$ mv file1 file2
# move file1 from dir1 to dir2
$ mv folder1/file1 folder2/
# move all files from folder1 to folder2
$ mv folder1/* folder2/

Lorsqu'il est utilisé pour déplacer un fichier dans le même répertoire ou vers un répertoire différent, mv renomme effectivement le fichier si les chemins source et de destination se trouvent dans le même système de fichiers.

Now when we touched the basics of the ‘mv’ command in Linux, lets explore more ways to efficiently move files and directories.

Mastering the “mv” command

Déplacer plusieurs fichiers

La commande mv ne se limite pas au déplacement d'un seul fichier à la fois. Vous pouvez déplacer plusieurs fichiers simultanément à l'aide de caractères génériques. Par exemple, pour déplacer tous les fichiers texte d'un répertoire à un autre, vous pouvez utiliser la commande suivante :

$ mv *.txt destination_directory/

This command selects all files with the “.txt” extension and moves them to the specified destination directory. The asterisk (*) acts as a wildcard, matching any characters.

Écrasement de fichiers

Lors du déplacement de fichiers, vous pouvez rencontrer une situation dans laquelle un fichier portant le même nom existe déjà dans le répertoire de destination. Par défaut, la commande mv vous demandera confirmation avant d'écraser un fichier. Cependant, vous pouvez remplacer ce comportement en utilisant l'option -f :

$ mv -f filename destination_directory/

Soyez prudent lorsque vous utilisez l'option -f, car elle écrasera les fichiers existants sans aucune confirmation.

Préserver les métadonnées des fichiers

La commande mv déplace non seulement les fichiers, mais vous permet également de conserver leurs métadonnées, y compris les horodatages et les autorisations. Pour conserver les horodatages d'origine des fichiers pendant le déplacement, utilisez l'option -p :

$ mv -p filename destination_directory/

Ceci est particulièrement utile lorsque vous souhaitez vous assurer que les fichiers déplacés conservent leurs horodatages de création et de modification d'origine.

Mode verbeux

Si vous préférez voir des informations détaillées sur les fichiers en cours de déplacement, vous pouvez utiliser l'option -v pour activer le mode détaillé :

$ mv -v filename destination_directory/

Le mode détaillé fournit des commentaires en temps réel, affichant chaque fichier au fur et à mesure de son déplacement, offrant ainsi une compréhension plus claire du processus.

Déplacement des répertoires

La commande mv peut également gérer de manière transparente les mouvements de répertoire. Pour déplacer un répertoire entier et son contenu, spécifiez simplement les répertoires source et de destination :

$ mv source_directory/ destination_directory/

Cette commande déplace tout le contenu du répertoire source vers le répertoire de destination spécifié.

Méthodes alternatives pour déplacer des fichiers sous Linux

In addition to the mv command, Linux provides a few other commands and utilities for moving files and directories. Here are a couple of alternatives:

Commande cp (Copier) avec l'option -r

La commande cp est traditionnellement utilisée pour copier des fichiers, mais elle peut également être utilisée pour les déplacer en la combinant avec l'option -r (récursive). Cette option est nécessaire lorsqu'il s'agit de répertoires et de leur contenu.

$ cp -r source_directory/ destination_directory/

Cette commande copie de manière récursive le contenu du répertoire source vers le répertoire de destination et réalise efficacement une opération de déplacement.

Commande rsync

La commande rsync est un outil puissant pour synchroniser et copier des fichiers. Il peut également être utilisé pour déplacer des fichiers entre des répertoires. La syntaxe de base est la suivante :

$ rsync -av --remove-source-files source_directory/ destination_directory/

L'option -a préserve les autorisations de fichiers et d'autres attributs.
L'option -v active le mode détaillé pour afficher les fichiers en cours de traitement.
The –remove-source-files option removes the files from the source directory after successful transfer.

rsync est particulièrement utile pour déplacer de grandes quantités de données et maintenir la synchronisation entre la source et la destination.

trouver et exécuter la commande

La commande find, combinée à exec, peut être utilisée pour déplacer des fichiers en fonction de certains critères. Par exemple, pour déplacer tous les fichiers texte d'un répertoire et de ses sous-répertoires vers un nouvel emplacement :

$ find source_directory/ -type f -name "*.txt" -exec mv {} destination_directory/

This command finds all files (-type f) with the “.txt” extension and executes the mv command on each of them, moving them to the specified destination.

Résumé

Mastering the mv command in Linux is essential for efficient file and directory management. We’ve covered the fundamental usage of the mv command, from simple file renaming to moving entire directories. Additionally, we explored alternative commands like cp with the -r option, the rsync command, and the dynamic combination of trouver et exec for more specialized moves. By incorporating these commands into your Linux toolkit, you empower yourself to manage files seamlessly and make the most of the robust capabilities that the Linux command line provides.