Mon ancien et mon nouveau répertoire contiennent les mêmes dossiers et fichiers.
J'essaie:
mv -if old/* new/*
et obtenir une erreur
mv: impossible de déplacer `./xxxxxx 'dans un sous-répertoire de lui-même
Comment puis-je le déplacer?
Tu devrais utiliser mv -if old/* new/
sans la fin *
.
C'est parce qu'il s'est déroulé
mv -if old/foo old/bar old/baz new/foo new/bar new/baz
c'est-à-dire tout déplacer dans new/baz
Ce n'est pas ce que tu voulais.
reef@localhost:/tmp/experiment$ ls a
11 22 33
reef@localhost:/tmp/experiment$ ls b
22 33
reef@localhost:/tmp/experiment$ ls
a b
reef@localhost:/tmp/experiment$ mv a/* b
reef@localhost:/tmp/experiment$ ls a
reef@localhost:/tmp/experiment$ ls b
11 22 33
Ça marche. Qu'essayez-vous d'accomplir? Pourriez-vous s'il vous plaît écrire un court exemple de ce à quoi les données d'entrée devraient ressembler et à quoi devraient ressembler les données de sortie? La vérité est que je n'ai aucune idée de ce que vous essayez de faire :) Aidez-moi à vous aider.
notez que mv a/* b/ne déplace pas les fichiers. * (le nom du fichier commence par '.') dans a/vers b /
ex:
$ mkdir -p a/d b && touch a/f a/.f a/d/.f
$ mv a/* b/
$ ls -a a/
. .. .f
Peut-être que vous avez obtenu la réponse, mais la réponse ci-dessus ne fonctionne pas pour moi ... et enfin beaucoup de recherches, j'ai obtenu la réponse. (Le problème est dû à la propriété des fichiers)
et mettez simplement Sudo avant la commande et son fonctionnement .... :) Même chose pour les commandes cp et mv.
Sudo mv -if old/* new/
Si vous copiez d'un système de fichiers ext2/3/4 vers un système de fichiers FAT32, et qu'un nom de fichier a un caractère non valide pour les conventions de dénomination FAT32, vous obtenez ce message d'erreur terriblement ennuyeux et incorrect. Comment puis-je savoir? J'ai lutté avec ce bug - oui, c'est un BUG KERNEL - pendant 6 heures avant qu'il ne me vienne à l'esprit. Je pensais que c'était une erreur d'interpréteur Shell, je pensais que c'était une erreur "mv" - j'ai essayé plusieurs shells différents, tout. Essayez cette expérience: sur un système de fichiers ext, "touchez" a: b "" les "mv" vers un système de fichiers FAT32. Essayez-le, vous apprécierez (détesterez) les résultats. Il en va de même pour "<" et ">" (\ 074 et\076).
Merci pour "man mv" - c'est une très grande aide, ne quittez pas votre travail de jour.