J'ai en quelque sorte réussi à créer un fichier qui ne semble pas avoir de nom de fichier. J'ai trouvé des informations sur la façon d'obtenir plus de détails sur le fichier dans le fil suivant.
Cependant, j'ai essayé certaines des suggestions répertoriées et je n'arrive pas à supprimer le fichier. Je ne sais pas ce que j'ai fait pour le créer, mais c'est arrivé en essayant de copier un fichier xml.
Certaines informations sur le fichier sont les suivantes :
> ls -lb
total 296
-rw-r--r-- 1 voyager endeavor 137627 Jan 12 12:49 177
> file *
: XML document
> ls -i
417777
J'ai essayé de trouver en utilisant le commutateur inum, puis de le diriger vers rm car cela semblait être le moyen le plus infaillible de s'en débarrasser. Cependant, l'exemple donné au bas du fil lié ci-dessous a échoué pour moi. Exemple :
> find -inum 41777 -exec ls -al {} ;
find: illegal option -- i
find: [-H | -L] path-list predicate-list
j'ai donc essayé d'abord d'utiliser la liste des chemins comme suit, mais cela n'a pas fonctionné non plus :
> find . -inum 41777 -exec ls -al {} ;
Je ne sais pas quel est le caractère non imprimable 177 ou comment je peux le transmettre à un rm
commande, mais je veux vraiment m'assurer de ne pas gâcher d'autres fichiers/répertoires dans ma tentative de supprimer ce fichier.
Réponse acceptée :
Le fichier a un nom, mais il est composé de caractères non imprimables. Si vous utilisez ksh93, bash, zsh, mksh ou FreeBSD sh, vous pouvez essayer de le supprimer en spécifiant son nom non imprimable. Assurez-vous d'abord que le nom est correct avec :ls -ld $'177'
S'il affiche le bon fichier, utilisez rm :rm $'177'
Une autre approche (un peu plus risquée) consiste à utiliser rm -i -- *
. Avec l'option -i, rm nécessite une confirmation avant de supprimer un fichier, vous pouvez donc ignorer tous les fichiers que vous souhaitez conserver sauf un.
Bonne chance !