Datei kann nicht gelöscht werden - keine solche Datei oder kein solches Verzeichnis

12

Ich habe es einmal gelöscht, aber es ist Geist ist immer noch da :)

Wie kann ich eine Datei löschen, die nicht vorhanden ist?

Registerkarte "Berechtigungen" - hat versucht, sie zu ändern, sie wurde jedoch automatisch zurückgesetzt Das passiert, wenn ich auf "Löschen" klicke

Valeriu
quelle
Dies ist eine Warnung. Was bedeutet es, wenn Sie "Löschen" wählen?
Marty Fried
Klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie Eigenschaften und öffnen Sie die Registerkarte Berechtigungen. Bitte mache einen Screenshot und poste ihn hier.
Eric Carvalho
Können Sie andere Dateien in den Papierkorb verschieben? Befindet sich die Datei, die Sie löschen, im selben Dateisystem wie Ihr Home-Dateisystem? Existiert das Verzeichnis ~ / .Trash /?
John S Gruber
John, ich kann andere Dateien normalerweise in den Papierkorb verschieben.
Valeriu
Haben Sie versucht, es vom Terminal zu löschen? sudo rm panorama.jpg
David M. Sousa

Antworten:

2

Ich hatte das gleiche problem Es war ein Problem in Indexeinträgen der Partition. Ich habe es gelöst, indem ich Windows gestartet habe, wenn Ihr System Dual Boot ist, oder eine Live-CD von Windows XP oder Windows 7 eingelegt habe, und dann die folgenden Schritte ausgeführt habe:

  1. Suchen Sie nach COMMAND PROMPT mit der cmdrechten Maustaste -> Als Administrator ausführen .
  2. chkdsk /f/x D: (wobei D Ihr Laufwerksbuchstabe ist).
  3. Drücken Sie Y, wenn Sie nach Y / N gefragt werden
  4. Überprüfen Sie Ihr Laufwerk auf die Datei, die Sie löschen möchten. Vielleicht ist es gelöscht oder Sie können es löschen.

100% arbeiten

user2102442
quelle
2

Warnung: Für diese Anweisungen muss eine verwendet werden debugfs. Sie können zu Datenverlust führen.

Sie sind auf das ursprüngliche Problem zugeschnitten und sind möglicherweise für zukünftige Besucher auf dieser Seite nicht korrekt. Jeglicher Datenverlust kann irreparabel sein oder sogar durch verschlimmert werden fsck.

Es kann eine verlorene Inode sein. Führen Sie den Befehl aus ls -li, um eine Liste der Inode-Nummern abzurufen. Anschließend können Sie versuchen, den referenzierten Inode zu sichern. Zum Beispiel, wenn Sie ls -liwie folgt aussehen:

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

dann ist die Inode-Nummer 4980758, wie in der Liste als erste Spalte gezeigt.

Sie können dann versuchen, die Inode zu sichern. Bitte lesen Sie den gesamten Beitrag, bevor Sie etwas tun .

  1. Beginnen Sie debugfsals root:

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

    und geben Sie den Befehl open /dev/sda1mit dem richtigen Blockgerät für Ihre Partition ein.

  2. Geben Sie dann den Befehl ein, um die Inode zu sichern, deren Nummer Sie zuvor erhalten haben:

    cat <4980758>
    

    mit <und >um die Inode-Nummer.

  3. Wenn zufälliger Text angezeigt wird, schließen Sie das Terminal und öffnen Sie es erneut. Führen Sie debugfsden openBefehl erneut aus und geben Sie ihn erneut ein.

  4. Jetzt können Sie versuchen, die Datei zu löschen. Dies kann zu einer schweren Beschädigung des Dateisystems führen.

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

Beachten Sie, dass dies auch dann möglich ist, wenn sich herausstellt, dass die Datei nie einen Inode hatte. Probieren Sie die Befehle einzeln in der oben angegebenen Reihenfolge aus. Beenden Sie debugfs und prüfen Sie, ob die Datei existiert. Wenn nicht, beginnen Sie erneut, aber folgen Sie den nächsten Anweisungen.

Erstellen Sie nach Möglichkeit ein Backup!

Wiedereinstellung von Monica - ζ--
quelle
Funktioniert nicht für mein NTFS-Dateisystem
Suici Doga
@SuiciDoga debugfsist nur für die Dateisystemtypen ext2, ext3 und ext4 vorgesehen.
Setzen Sie Monica wieder ein - ----
2

Ich weiß, dass dies alt ist, aber ich hatte das gleiche Problem wie bei Ihnen, nur mit einem Ordner, nicht mit einer Datei. Keine der hier vorgeschlagenen Methoden hat funktioniert.

Es gelang mir, das Problem zu lösen, indem ich einen Ordner an derselben Position und mit demselben Namen erstellte wie den, den ich nicht löschen konnte. Der Ordner wurde korrekt erstellt und ersetzt den nicht vorhandenen Ordner. Dann habe ich einfach den neuen Ordner entfernt und das Problem war weg. Einfach so.

Marco
quelle
einfachste lösung hier, wenn dies tatsächlich das ganze problemo beseitigt.
Lightsout
0

zeig uns das Terminal .... mach ein ll | grep panoramaund zeig uns das; füge es deiner Frage hinzu ...

Mein Vorschlag ist, als root zu tun rm -f panorama.jpg.

im mann von rm habe ich folgendes gefunden:

-f, --force
              ignore nonexistent files, never prompt
maniat1k
quelle
Versuchte das mehrfach, sowohl mit -f als auch --force. Es hat nicht geholfen!
Valeriu
0

Melden Sie sich zuerst als root mit an sudo -s

Sie können dies versuchen rm -v <file>und die ausführliche Ausgabe überprüfen, um zu sehen, was gerade passiert, während Sie versuchen, die Datei zu entfernen. Überprüfen Sie die Optionen für den folgenden Befehl.

Wenn dies fehlschlägt, können Sie die Force-Option verwenden, wie alle anderen sagten. Sie können auch versuchen, das gesamte Verzeichnis zu entfernen, indem Sie eine rekursive Entfernung erzwingen:rm -rfv **full directory address here**



Aus dem UNIX Command Guide:

ZUSAMMENFASSUNG

   rm [OPTION]... FILE...

BESCHREIBUNG

   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.

OPTIONEN

   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.
Sinan Bolel
quelle
0

Wenn Sie sich Ihre Screenshots ansehen, sehen Sie, dass Sie die Gruppe als root festgelegt haben. Ich würde versuchen, chown zu verwenden und zu sehen, ob es das Problem behebt.

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

Ersetzen Sie [Benutzername] durch Ihren Benutzernamen.

Du wirst ein paar Fehler bekommen.

Beispiel

mywebslave
quelle
mywebslave, ich habe getan, was Sie vorgeschlagen haben, und mir die gleiche "Erlaubnis verweigert" wie in Ihrem Screenshot gezeigt. Kann die verdammte Datei immer noch nicht löschen.
Valeriu
0

Das Nichtdrucken von Zeichen in Dateinamen kann zu solchen Problemen führen - beispielsweise zu einem Leerzeichen. Versuchen Sie, die interaktive Möglichkeit , rm, und sagen , ‚Y‘ auf die Datei , die Sie „löschen möchten
rm -i‚* pan *‘Beachten Sie die Verwendung von * s jede (auch nicht-printint) Zeichen übereinstimmen.
Könnte die Inode sein muss Versuchen Sie ls -i, um die Inodes zu sehen. Überprüfen Sie das Dateisystem, um dieses Problem zu beheben.

ubfan1
quelle
Das ist lustig! Hier ist die Ausgabe: pastebin.com/kjCyX0yB
Valeriu
0

Versuchen Sie diesen Weg:

cd dir-to-delete
find ./ -exec rm -rf {} \;
DmitrySandalov
quelle
0

Wie ubfan1 bereits sagte, kann das Nichtdrucken von Zeichen in Dateinamen zu solchen Problemen führen.

  1. berühren
  2. rm

hat bei mir funktioniert, da 'touch' die beschädigte Datei überschrieb.

Amit_sh
quelle
0

Ich hatte das gleiche Problem mit der Datei, die mit der benutzerdefinierten Webbasis EMR (Electronic Medical Record) unter Chrome erstellt wurde. sudo touch /forcefsckgefolgt von Neustart funktionierte für mich und aromatisch gelöschte Datei. Hilfe von folgenden Seiten übernommen

  1. https://ubuntuforums.org/archive/index.php/t-1673273.html
  2. Fsck sicher erzwingen?
Kamlesh
quelle
0

Linux Mint 18.3 Meine nicht existierende Datei war "Dateiname.pdf.crdownload". Sie erschien auf meinem Desktop als Paket, dh als Zip-Datei in Windows. Zum Teufel habe ich mit der rechten Maustaste auf "Eigenschaften" und "Öffnen mit" geklickt, wobei keine Apps angezeigt wurden. Daher habe ich "Öffnen mit" in "Archiv-Manager" geändert. Sofort verschwand die Datei von meinem Desktop. kb

Kenneth Browne
quelle