Impossibile eliminare il file - nessun file o directory


12

L'ho cancellato una volta, ma il suo fantasma è ancora lì :)

Come posso eliminare un file che è lì ma il sistema dice che non c'è?

Scheda Autorizzazioni: prova a modificarla, ma si ripristinerà automaticamente Questo è ciò che accade quando faccio clic su "Elimina"


Questo è un avvertimento Cosa dice se si sceglie "Elimina"?
Marty Fried,

Fai clic con il pulsante destro del mouse sul file, scegli Proprietà, apri la scheda Autorizzazioni. Si prega di fare uno screenshot e pubblicarlo qui.
Eric Carvalho,

Puoi spostare altri file nel cestino? Il file che stai eliminando si trova sullo stesso file system del tuo file system home? La directory ~ / .Trash / esiste?
John S Gruber,

John, normalmente posso spostare altri file nel cestino, solo questo mi dà problemi.
Valeriu,

Hai provato a eliminarlo dal terminale? sudo rm panorama.jpg
David M. Sousa,

Risposte:


3

So che questo è vecchio, ma ho avuto lo stesso problema del tuo, solo con una cartella, non con un file. Nessuno dei metodi suggeriti qui ha funzionato.

Sono riuscito a risolvere il problema creando una cartella nella stessa posizione e con lo stesso nome di quella che non potevo eliminare. La cartella è stata creata correttamente e ha "sostituito" quella inesistente. Quindi ho semplicemente rimosso la nuova cartella e il problema era scomparso. Semplice come quella.


la soluzione più semplice qui se questo effettivamente elimina l'intera problemmo.
Lightsout il

2

Ho avuto lo stesso problema. Si è verificato un problema con le voci di indice della partizione. L'ho risolto avviando Windows se il tuo sistema è a doppio avvio o inserisci un CD live di Windows XP o Windows 7, quindi esegui i seguenti passaggi:

  1. Cerca COMMAND PROMPT che: cmdfai clic con il pulsante destro del mouse -> Esegui come amministratore.
  2. chkdsk /f/x D: (dove D è la tua lettera di unità).
  3. Premere Y se richiede S / N
  4. Controlla l'unità per il file che desideri eliminare. Forse è stato eliminato o è possibile eliminarlo.

100% funzionante


2

Avvertenza: queste istruzioni ne richiederanno una da utilizzare debugfs. Possono causare la perdita di dati.

Sono adattati al problema originale e potrebbero o meno essere precisi per i futuri visitatori di questa pagina. Qualsiasi perdita di dati può essere irreparabile o addirittura aggravata da fsck.

Potrebbe essere un inode perso. Esegui ls -liper ottenere un elenco di numeri di inode, quindi puoi provare a scaricare l'inode di riferimento. Ad esempio, se il tuo ls -liaspetto è il seguente:

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---

quindi il numero di inode è 4980758 come mostrato nell'elenco come prima colonna.

Puoi quindi provare a scaricare l'inode. Si prega di leggere l'intero post prima di fare qualsiasi cosa .

  1. Inizia debugfscome root:

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

    e dai il comando open /dev/sda1con il dispositivo a blocchi corretto per la tua partizione.

  2. Quindi, dai il comando di scaricare l'inode di cui hai ottenuto il numero in precedenza:

    cat <4980758>
    

    usando <e >intorno al numero dell'inode.

  3. Se legge del testo casuale, chiudi il terminale e aprilo di nuovo. Esegui di debugfsnuovo e restituisci il opencomando.

  4. Ora puoi provare a eliminare il file. Ciò può causare gravi danni al filesystem.

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

Si noti che ciò può essere fatto anche se risulta che il file non ha mai avuto un inode. Prova i comandi uno alla volta, nell'ordine mostrato sopra. Esci da debugfs e controlla se il file esiste. In caso contrario, ricominciare ma seguire le istruzioni successive.

Fai un backup se possibile!


Non funziona per il mio filesystem NTFS
Suici Doga,

@SuiciDoga debugfsè destinato esclusivamente ai tipi di filesystem ext2, ext3 ed ext4.
Ripristina Monica - ζ--

0

mostraci il terminale .... fai un ll | grep panoramae mostracelo; aggiungilo alla tua domanda ...

Il mio suggerimento è di fare come root rm -f panorama.jpg .

nell'uomo di rm ho trovato questo:

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

Ho provato più volte, sia con -f che --force Non ha aiutato!
Valeriu,

0

Prima accedi come root con sudo -s

Puoi provare a fare rm -v <file>e guardare l'output dettagliato per vedere cosa sta succedendo mentre sta cercando di rimuovere il file. Controlla le opzioni per il comando di seguito.

Se fallisce, puoi usare l'opzione force come hanno detto tutti gli altri. Puoi anche provare a rimuovere l'intera directory forzando una rimozione ricorsiva:rm -rfv **full directory address here**



Dalla guida ai comandi UNIX:

SINOSSI

   rm [OPTION]... FILE...

DESCRIZIONE

   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.

OPZIONI

   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

Guardando i tuoi screenshot vedo che hai il gruppo impostato come root. Proverei a usare chown e vedo se risolve il problema.

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

Sostituendo [nome utente] con il tuo nome utente.

Riceverai un paio di errori.

esempio


mywebslave, ho fatto quello che mi hai suggerito, mi ha mostrato lo stesso "permesso negato" come nel tuo screenshot. Non riesco ancora a eliminare quel dannato file.
Valeriu,

0

I caratteri non stampati nei nomi dei file possono causare tali problemi, ad esempio uno spazio. Prova l'opzione interattiva di rm e dì 'Y' al file che vuoi eliminare "
rm -i" * pan * "Nota l'uso di * s per far corrispondere qualsiasi carattere (anche non-printint).
Potrebbe essere l'inode ha è stato rimosso, ma non la voce della directory. Prova ls -i per vedere gli inode. Cerca il file system per risolvere questo tipo di problema.


È divertente! Ecco l'output: pastebin.com/kjCyX0yB
Valeriu


0

Come ha detto ubfan1, i caratteri non stampabili nei nomi dei file possono causare tali problemi.

  1. toccare
  2. rm

ha funzionato per me poiché 'touch' ha ignorato il file danneggiato.



0

Linux Mint 18.3 Il mio file inesistente era ¨nomefile.pdf.crdownload¨ Viene visualizzato sul mio desktop come pacchetto, ovvero un file zip in Windows. Per diamine ho fatto clic destro, Proprietà, Apri con, che mostrava zero app, quindi l'ho cambiato in Apri con ¨Archive Manager¨. Immediatamente il file è scomparso dal mio desktop. kb

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.