Je reçois mv: cannot move, Permission denied
erreur, mais avant de prétendre que c'est un double, voyez ce que j'ai essayé en premier :
Tout d'abord, cela n'a rien à voir avec le mode fichier ou répertoire :
$ mv -f .emacs.d .emacs.d.old
mv: cannot move '.emacs.d' to '.emacs.d.old': Permission denied
$ ls -Al . | grep emacs
drwx------ 1 me me 4096 2021-06-11 23:04 .emacs.d
ls -ld .
drwxr-xr-x 1 me me 4096 2021-06-12 00:17 .
$ sudo mv -f .emacs.d .emacs.d.old
mv: cannot move '.emacs.d' to '.emacs.d.old': Permission denied
$ mv -f .emacs.d ./.emacs.d.old
mv: cannot move '.emacs.d' to './.emacs.d.old': Permission denied
$ df .
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 307276796 200040828 107235968 66% /
Ensuite, j'ai essayé tous les outils de vérification d'ouverture de fichiers que je connais :
$ jobs | wc
0 0 0
$ lsof | grep .emacs.d | wc
0 0 0
$ fuser .emacs.d | wc
0 0 0
et j'ai essayé de fermer tout ce qui pourrait ou pourrait ne pas être lié à la .emacs.d
y compris la fermeture du code vs qui n'a rien à voir avec l'application .emacs.d
répertoire.
Divulgation complète : j'utilise Windows Subsystem pour Linux, mais je ne pense pas avoir le répertoire ouvert dans d'autres instances bash. De plus, comme on peut le voir dans la première sortie, mon répertoire personnel se trouve dans WSL, et non dans un dossier Windows (c'est-à-dire qu'il ne devrait avoir aucun rapport avec les programmes Windows).
Je suis à court d'idées, qu'est-ce qui pourrait me retenir de renommer ce nouvellement créé répertoire.
0 votes
Pouvez-vous essayer d'exécuter
mv .emacs.d ./.emacs.d.old
? Il semble que ce soit un bug dans WSL, corrigé dans WSL2, mais pas complètement, semble-t-il. Cela arrive parce que WSL épingle tous les fichiers ouverts. Une autre solution était de cp vers la cible et de rm l'ancien. github.com/microsoft/WSL/issues/37380 votes
Pas de
mv -f .emacs.d ./.emacs.d.old
ne fonctionne pas non plus, voir mon OP modifié, mais grâce à votre lien, à ma plus grande surprise, "cp à la cible et rm l'ancien" ça marche ! Il s'agit donc bien d'un bug de WSL. Je peux accepter cette réponse @BarathVutukuri. Merci encore.0 votes
Qu'en est-il
mv .emacs.d emacs.e
(pas de point de tête, pas d'extension à double point) ? Si cela fonctionne, pourquoi pasmv emacs.e emacs.d.old
et ensuitemv emacs.d.old .emacs.d.old
?