Si ce que vous avez posté est littéralement le nom du répertoire, alors cela devrait fonctionner :
cd /Users
mv hook1\?\?\? hook1
Le problème, comme le souligne fd0, est que vous avez des caractères invisibles/non imprimables dans votre nom de répertoire. Utilisez des commandes shell de base, non destructives, pour isoler le nom du répertoire à l'aide de caractères génériques, puis renommez-le. Par exemple, essayez ceci :
cd /Users
ls -ld h*
Cela devrait aboutir à l'inscription d'un seul répertoire. Si ce n'est pas le cas, continuez à ajouter des lettres avant l'élément *
afin de créer un masque joker qui produit exactement un résultat :
ls -ld ho* # produces 3 results
ls -ld hoo* # produces 1 result
Si vous arrivez à un point où vous passez de plus d'un résultat à zéro résultat, alors vous êtes tombé sur un autre personnage invisible. Reculez d'une lettre, ajoutez un point d'interrogation puis réintroduisez la lettre.
ls -ld ho* # produces 3 results
ls -ld hoo* # produces 0 results
ls -ld ho?o* # produces 1 result
Si vous avez toujours des problèmes, jouez avec plus de *
y ?
jusqu'à ce que vous ayez quelque chose qui produise exactement un résultat :
ls -ld ho* # produces 3 results
ls -ld hoo* # produces 0 results
ls -ld ho?o* # produces 0 results
ls -ld ho*o* # produces 1 result
Une fois que vous l'avez, alors utilisez-le dans votre mv
commandement :
mv ho*o* hook1
Si rien de tout cela ne fonctionne, veuillez poster les résultats de vos recherches. ls -ld
expériences.