No se puede eliminar el archivo: no existe tal archivo o directorio


12

Lo eliminé una vez, pero su fantasma sigue ahí :)

¿Cómo puedo eliminar un archivo que está allí pero el sistema dice que no está allí?

Pestaña Permisos: intenté cambiarlo, pero se restablecería automáticamente Esto es lo que sucede cuando hago clic en "Eliminar"


Esta es una advertencia. ¿Qué dice si elige "Eliminar"?
Marty Fried

Haga clic derecho en el archivo, elija Propiedades, abra la pestaña Permisos. Tome una captura de pantalla y publíquela aquí.
Eric Carvalho

¿Puedes mover otros archivos a la papelera? ¿El archivo que está eliminando está en el mismo sistema de archivos que su sistema de archivos de inicio? ¿El directorio ~ / .Trash / existe?
John S Gruber

John, normalmente puedo mover otros archivos a la papelera, solo este me da problemas.
Valeriu

¿Intentaste borrarlo del terminal? sudo rm panorama.jpg
David M. Sousa

Respuestas:


3

Sé que esto es viejo, pero tuve el mismo problema que el tuyo, solo con una carpeta, no con un archivo. Ninguno de los métodos sugeridos aquí funcionó.

Logré resolver el problema creando una carpeta en la misma posición y con el mismo nombre que la que no pude eliminar. La carpeta se creó correctamente y "reemplazó" la que no existe. Luego simplemente eliminé la nueva carpeta y el problema desapareció. Simple como eso.


La solución más fácil aquí si esto realmente elimina todo el problema.
Lightsout

2

Yo tuve el mismo problema. Fue un problema en las entradas de índice de la partición. Lo resolví iniciando Windows si su sistema es de arranque dual o inserta un CD en vivo de Windows XP o Windows 7, y luego sigue los siguientes pasos:

  1. Busque COMMAND PROMPT que: cmdhaga clic derecho -> Ejecutar como administrador.
  2. chkdsk /f/x D: (donde D es su letra de unidad).
  3. Presione Y si pide S / N
  4. Verifique en su unidad el archivo que desea eliminar. Tal vez se elimine o puede eliminarlo.

100% de trabajo


2

Advertencia: estas instrucciones requerirán una para usar debugfs. Pueden causar pérdida de datos.

Se adaptan al problema original y pueden ser precisos o no para cualquier visitante futuro en esta página. Cualquier pérdida de datos puede ser irreparable o incluso agravada por fsck.

Puede ser un inodo perdido. Ejecute ls -lipara obtener una lista de números de inodo, luego puede intentar volcar el inodo referenciado. Por ejemplo, si su ls -liaspecto es el siguiente:

rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin     4096 Sep 23 18:45 panorama.jpg
---SNIP---

entonces el número de inodo es 4980758 como se muestra en la lista como la primera columna.

Luego puede intentar volcar el inodo. Lea la publicación completa antes de hacer nada .

  1. Comience debugfscomo root:

    rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
    [sudo] password for rarkenin: 
    debugfs 1.42 (29-Nov-2011)
    debugfs:  
    

    y dé el comando open /dev/sda1con el dispositivo de bloqueo correcto para su partición.

  2. Luego, da el comando para volcar el inodo cuyo número obtuviste antes:

    cat <4980758>
    

    usando <y >alrededor del número de inodo.

  3. Si lee algún texto aleatorio, cierre el terminal y ábralo nuevamente. Corre de debugfsnuevo y da el opencomando nuevamente.

  4. Ahora, puede intentar eliminar el archivo. Esto puede provocar graves daños en el sistema de archivos.

    debugfs: rm [filename]
    
    debugfs: unlink [filename]
    
    debugfs: kill_file [filename]
    
    debugfs: kill_file <inode>
    

Tenga en cuenta que esto se puede hacer incluso si resulta que el archivo nunca tuvo un inodo. Pruebe los comandos uno a la vez, en el orden que se muestra arriba. Salga de debugfs y verifique si el archivo existe. Si no, comience nuevamente pero siga las siguientes instrucciones.

Haga una copia de seguridad si es posible!


No funciona para mi sistema de archivos NTFS
Suici Doga

@SuiciDoga debugfssolo está destinado a los tipos de sistema de archivos ext2, ext3 y ext4.
Restablece a Monica - ζ--

0

muéstranos la terminal ... haz una ll | grep panoramay muéstranos eso; agrégalo a tu pregunta ...

Mi sugerencia es hacer como root rm -f panorama.jpg .

en el hombre de rm encontré esto:

-f, --force
              ignore nonexistent files, never prompt

Intenté eso varias veces, tanto con -f como con --force ¡No ayudó!
Valeriu

0

Primero inicie sesión como root con sudo -s

Puede intentar hacerlo rm -v <file>y mirar la salida detallada para ver qué sucede mientras intenta eliminar el archivo. Echa un vistazo a las opciones para el comando a continuación.

Si eso falla, puede usar la opción de fuerza como todos los demás dijeron. También puede intentar eliminar todo el directorio forzando una eliminación recursiva:rm -rfv **full directory address here**



De la Guía de comandos de UNIX:

SINOPSIS

   rm [OPTION]... FILE...

DESCRIPCIÓN

   rm removes each file. By default, it does not remove directories.

   If a file is unwritable, the standard input is a tty,  and  the  -f  or
   --force  option is not given, rm prompts the user for whether to remove
   the file.  If the response is not affirmative, the file is skipped.

OPCIONES

   Remove (unlink) the FILE(s).

   -f, --force
      ignore nonexistent files, never prompt

   -i, --interactive
      prompt before any removal

   --no-preserve-root do not treat '/' specially (the default)

   --preserve-root
      fail to operate recursively on '/'

   -r, -R, --recursive
      remove directories and their contents recursively

   -v, --verbose
      explain what is being done

   --help display this help and exit

   --version
      output version information and exit

   By default, rm does not remove directories.  Use the --recursive (-r or
   -R)  option to remove each listed directory, too, along with all of its
   contents.

   To remove a file whose name starts with a '-', for example '-foo',  use
   one of these commands:

      rm -- -foo

      rm ./-foo

   Note  that  if  you  use rm to remove a file, it is usually possible to
   recover the contents of that file.  If you want more assurance that the
   contents are truly unrecoverable, consider using shred.

0

Mirando sus capturas de pantalla, veo que tiene el grupo configurado como root. Intentaría usar chown y ver si soluciona el problema.

sudo chown -hR [username]:[username] /home/[username]

Reemplazar [nombre de usuario] con su nombre de usuario.

Obtendrás un par de errores.

ejemplo


mywebslave, hice lo que sugirió, me mostró el mismo 'Permiso denegado' que en su captura de pantalla. Todavía no puedo eliminar el maldito archivo.
Valeriu

0

Los caracteres que no se imprimen en los nombres de archivo pueden causar tales problemas, como un espacio. Pruebe la opción interactiva de rm y diga 'Y' al archivo que desea eliminar "
rm -i" * pan * "Tenga en cuenta el uso de * s para que coincida con cualquier carácter (incluso sin impresión).
Podría ser el inodo que tiene eliminado, pero no la entrada del directorio. Intente ls -i para ver los inodes. fsck el sistema de archivos para solucionar este tipo de problema.


¡Eso es gracioso! Aquí está el resultado: pastebin.com/kjCyX0yB
Valeriu


0

Como dijo ubfan1, los caracteres que no se imprimen en los nombres de archivo pueden causar tales problemas.

  1. toque
  2. rm

funcionó para mí ya que 'touch' anuló el archivo dañado.



0

Linux Mint 18.3 Mi archivo inexistente era ¨filename.pdf.crdownload¨ Apareció en mi escritorio como un paquete, es decir, un archivo zip en Windows. Por el hecho de hacerlo, hice clic derecho en Propiedades, Abrir con, que mostraba cero aplicaciones, así que lo cambié a Abrir con ¨Archive Manager¨. Inmediatamente el archivo desapareció de mi escritorio. kb

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.