2 votos

¿Cómo puedo eliminar un archivo con un byte NULL en el nombre del archivo?

Hice un archivo por accidente con un nombre de archivo de (NUL).xml , excepto que en lugar de (NUL) Es literalmente '\0' . Ninguno de los métodos que he probado ha funcionado para eliminarlo realmente. ¿Hay alguna forma de eliminar el archivo mediante una referencia alternativa?

0 votos

Lo creé con una versión antigua de Java que me permitía crear archivos con un byte nulo en el nombre del archivo por accidente. Por desgracia, hace tiempo que actualicé y clri no está disponible en El Capitán, así que ni siquiera puedo borrar el inodo.

0 votos

He probado eso y mucho más. No funciona.

0 votos

Más o menos espero que alguien tenga un método para limpiar los inodos en El Capitán.

1voto

roguepixel Puntos 320

De acuerdo, no puedo probar esto (por razones que espero sean obvias), pero cuando los nombres de los archivos son tu problema... usa inode ¡s!

Primero, en un directorio, ejecute ls -il (-i es mostrar números de nodo y -l es para convertirlo en una lista):

2480878 -rw-r--r--  1 christopher  family  0 Mar  2 19:40 *a
2480889 -rw-r--r--  1 christopher  family  0 Mar  2 19:40 \\a
2480873 -rw-r--r--  1 christopher  family  0 Mar  2 19:39 a

En este ejemplo, voy a borrar el archivo \\a que es el inodo 2480889 .

Así que corro find . -inum 2480889 -delete .

Esperemos que esto funcione.

0 votos

find . -inum 43396691 -delete produce find: -delete: unlink(./.xml): Invalid argument

0 votos

:( ¡maldición! ¡Eso es una mierda!

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X