Je migre mon répertoire personnel d'un ancien système vers un nouveau et l'archive que j'ai créée contient tout, y compris des fichiers cachés tels que .bashrc. Cependant, lorsque je déplace le contenu de l'archive tar décompressée (qui se trouve dans / tmp) vers mon nouveau répertoire de base, les fichiers cachés ne sont pas copiés ( mv /tmp/home/rcook/* /home/rcook/). Comment puis-je obtenir pour les déplacer?
En fait, je pense que le problème ne vient pas de mv, mais de bash. Si je fais ça:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
Je vois ça:
a/:
. .. .foo
b/:
. .. bar
a/.foon'a pas bougé. Alors, comment puis-je obtenir le caractère générique * pour trouver des fichiers cachés?
Oui, je suppose que je pourrais décompresser l'archive directement dans mon répertoire personnel, mais l'archive se décompresse en home/rcook/..., et je veux m'assurer d'écraser les nouvelles .bashrc, etc. avec les anciennes versions personnalisées et savoir comment trouver et déplacer les fichiers cachés. est une compétence utile. Suggestions?
Certaines réponses suggèrent de faire quelque chose comme mv src/.* dest/. Cependant, j'ai essayé ceci sur mes répertoires de test et j'ai eu des erreurs. Commençant par:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to 'b/.': Device or resource busy
mv: cannot remove 'a/..': Is a directory
rcook$ ls -a a/ b/
a/:
. .. bar
b/:
. .. .foo
Qu'est-ce que je fais mal?