Commande pour renommer ou déplacer un fichier ou un répertoire sous Linux

Comment renommer ou déplacer un fichier ou répertoire en ligne de commande sous Linux

Rien de compliqué avec la commande mv dont on peut voir l'aide sur https://man7.org/linux/man-pages/man1/mv.1.html

Ce qui peut paraitre un peut bizarre c'est que pour renommer un fichier on utilise la commande mv pour move

Exemple :
Renommer un fichier "MonFichier.txt" en "MonFichier.cfg"
mv openssl-1.0.0.cnf openssl.cnf

mv MonFichier.txt MonFichier.cfg
Lien vers le fichier : cliquez ici Copier le code

Exemple tiré de la mise en place d'openssl pour renommer openssl-1.0.0.cnf en openssl.cnf

mv openssl-1.0.0.cnf openssl.cnf
Lien vers le fichier : cliquez ici Copier le code

Pour le déplacement, pour déplacer le fichier /var/www/html/index.php dans le répertoire /var/www
Le nom du fichier index.php sera conservé. Il n'est pas nécessaire ici de le rappeler.

mv /var/www/html/index.php /var/www/
Lien vers le fichier : cliquez ici Copier le code

Par contre, on aurait pu déplacer ET renommer le fichier en même temps

mv /var/www/html/index.php /home/myuser/index.old
Lien vers le fichier : cliquez ici Copier le code

Pour le déplacement d'un répertoire, c'est le même principe. Pour déplacer le répertoire temp qui est dans /home/myuser/temp/
en tant que sous-répertoire de /var/www/html/

mv /home/myuser/temp/ /var/www/html/
Lien vers le fichier : cliquez ici Copier le code

Déplacer le contenu du répertoire temp qui est dans /home/myuser/temp/
dans le répertoire /var/www/html/
Cela comprend les fichiers, les sous-répertoires et leur contenu sauf pour les fichiers cachés (.env, .htaccess, etc.)

mv /home/myuser/temp/* /var/www/html/
Lien vers le fichier : cliquez ici Copier le code

Si on avait voulu déplacer également les fichiers cachés, on aurait remplacé l'étoile par un point

mv /home/myuser/temp/. /var/www/html/
Lien vers le fichier : cliquez ici Copier le code

Pour déplacer et renommer temp en tempnew dans /var/www/html/

mv /home/myuser/temp/ /var/www/html/tempnew
Lien vers le fichier : cliquez ici Copier le code

Notez que si le sous répertoire cible /var/www/html/tempnew existait déjà, temp aurait été simplement déplacé dedans

Les options courantes de la commande mv sont :

-f : replacer les fichiers cible sans demande de confirmation
-i : Une demande de confirmation sera demandée si le fichier cible existe déjà
-u : On ne remplace pas un fichier cible déjà existant si il est plus récent
Lien vers le fichier : cliquez ici Copier le code

Attention, comme vu sur https://stackoverflow.com/questions/8488253/how-to-force-cp-to-overwrite-without-confirmation
tout comme avec la commande cp, la commande mv, peut être surchargée par défaut.
Par exemple sur mon os, si je vais dans mon home et que je contrôle mon profile basch

cd
cat .bashrc
Lien vers le fichier : cliquez ici Copier le code

Je vois ces 3 lignes que l'on peut commenter
ici cela rajoute l'option -i au commande, -i pour interactive, ceci afin d'avoir une demande confirmation avant d’écraser quelque chose.

Ensuite, sauvegarder et exécuter bashrc avec la commande

. ~/.bashrc
Lien vers le fichier : cliquez ici Copier le code
Publicité