98 votes

Comment déplacer tous les fichiers du dossier actuel vers un sous-dossier ?

Je suis sur le chemin :

/myuser/downloads/

Et je crée un sous-dossier :

/myuser/downloads/new

Je veux maintenant déplacer tous les fichiers et dossiers/sous-dossiers du dossier de téléchargements vers le sous-dossier.

comment puis-je faire ?

J'ai essayé :

mv -R *.* new/

Mais move ne prend pas le commutateur -R il semble.

1voto

adamcatto Points 11

Vous pouvez essayer ce processus alternatif -- rester dans le chemin

/myuser/downloads/

mais, au lieu de créer d'abord le /myuser/downloads/new/ créez plutôt un dossier dans le répertoire /myuser/ avec la commande mkdir ../new puis déplacez tous les fichiers dans downloads a new et enfin, déplacer new en downloads . Vous pouvez faire cela en une seule ligne, alors que dans la section /myuser/downloads/ avec la commande :

mkdir ../new && mv * ../new && mv ../new ../downloads

Dans ce cas, vous n'avez pas à vous préoccuper d'un quelconque "filtrage" des fichiers/dossiers, car new se trouve au même niveau du chemin que downloads pour que vous puissiez tout déplacer downloads a new et ensuite déplacer new dans downloads`.

Cependant, si vous avez déjà le sous-dossier new créé et que vous ne souhaitez pas en créer un autre, ne vous inquiétez pas : il suffit de modifier l'adresse de l'utilisateur. mkdir sur le côté gauche de la première && dans la commande présentée ci-dessus à un mv commande, en poussant new en haut du chemin ; en d'autres termes, pendant que vous êtes encore dans le /myuser/downloads/ vous pouvez changer mkdir ../new a mv new .. . Puis le sous-dossier new [dans le chemin /myuser/downloads/new/ ] est poussé jusqu'à /myuser/new/ au même niveau que /myuser/downloads/ et vous pouvez ensuite exécuter le reste de la commande comme indiqué ci-dessus. Au total, nous avons, en partant du chemin /myuser/downloads/ :

mv new .. && mv * ../new && mv ../new ../downloads

et, puisque vous vouliez "déplacer tous les fichiers et dossiers/sous-dossiers du dossier de téléchargements vers le sous-dossier [ new ]", vous avez terminé ! Si vous aviez voulu déplacer seulement (ou seulement ou [insérer un mouvement d'objet plus granulaire]), vous devrez alors utiliser d'autres commandes capables de "filtrer" les objets, telles que grep . Les commandes écrites ci-dessus sont cependant suffisantes pour vos besoins.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X