J'ai accidentellement copié le contenu complet d'un répertoire dans un répertoire de destination au lieu de déplacer le répertoire complet. Il en a résulté un répertoire de destination encombré au lieu d'ajouter le répertoire d'origine au répertoire.
Pour résoudre ce problème, j'ai procédé comme suit :
ls -rt /path/to/cluttered/destination/directory/ > /opt/dircheck/filestomove
La commande ci-dessus crée le fichier filestomove qui sera une liste de tous les contenus du répertoire de destination, triés à l'envers par ordre chronologique, c'est-à-dire du plus ancien au plus récent.
J'ai ensuite créé un sous-répertoire du répertoire de destination, désormais encombré, dans lequel j'ai déplacé mes affaires.
mkdir /path/to/cluttered/destination/directory/newsubdirectory
J'ai ensuite répété la liste de l'annuaire, mais en l'affichant à l'écran et en donnant plus de détails.
ls -lrht /path/to/cluttered/destination/directory/
Cette ligne dresse la liste du répertoire, triée par date ascendante (tri inverse par heure) et affiche davantage d'informations, notamment l'horodatage de chaque fichier dans le répertoire de destination désormais encombré. Je m'y réfère, en commençant par le haut, pour indiquer les répertoires et les fichiers que je souhaite conserver à l'endroit où ils se trouvaient. Il y aura un vide dans l'horodatage des fichiers là où commencent tous les nouveaux fichiers qui ne devraient pas être là.
J'ai ensuite édité le fichier filestomove créé lors de la première étape ci-dessus (qui est trié par date) et j'ai supprimé de la liste les quelques éléments qui s'y trouvaient précédemment et que je souhaite conserver dans le répertoire d'origine.
vim /opt/dircheck/filestomove
Supprimez, en partant du haut, tous les fichiers que vous ne souhaitez pas déplacer.
Ensuite, j'ai utilisé la commande citée précédemment dans ce billet pour déplacer les fichiers de ma liste vers le nouveau répertoire que j'ai créé.
sudo xargs -a /opt/dircheck/filestomove mv -t /path/to/cluttered/destination/directory/newsubdirectory
Tous les fichiers ont ainsi été déplacés en une fraction de seconde. (Note : vous n'avez peut-être pas besoin du sudo au début, c'est une question de permissions de fichiers).
Mon répertoire de destination d'origine est maintenant propre et contient un nouveau répertoire avec tous les fichiers et répertoires qui l'encombraient.