web-dev-qa-db-fra.com

Impossible de supprimer le fichier - aucun fichier ou répertoire de ce type

I deleted it once, but it's ghost is still there :)

Comment puis-je supprimer un fichier qui existe mais que le système dit ne pas y être?

Permissions tab - tried changing it, but it would reset itself automaticallyThis is what happens when I click "Delete"

12
Valeriu

Avertissement: ces instructions nécessiteront l’utilisation de debugfsname__. Ils peuvent entraîner une perte de données.

Ils sont adaptés au problème initial et peuvent ne pas être exacts pour les futurs visiteurs sur cette page. Toute perte de données peut être irréparable ou même aggravée par fsckname__.

C'est peut-être un inode perdu. Veuillez exécuter ls -li pour obtenir une liste des numéros d'inode. Vous pouvez ensuite essayer de vider l'inode référencé. Par exemple, si votre ls -li ressemble à ceci:

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

le numéro d'inode est alors 4980758, comme indiqué dans la liste en tant que première colonne.

Vous pouvez ensuite essayer de vider l'inode. Veuillez lire le post en entier avant de faire quoi que ce soit .

  1. Lancez debugfsen tant que root:

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

    et donnez la commande open /dev/sda1 avec le périphérique de bloc correct pour votre partition.

  2. Ensuite, donnez la commande pour vider l’inode dont vous avez obtenu le numéro plus tôt:

    cat <4980758>
    

    utilisez < et > autour du numéro d'inode.

  3. S'il lit du texte au hasard, fermez le terminal et ouvrez-le à nouveau. Exécutez à nouveau debugfset relancez la commande openname__.

  4. Maintenant, vous pouvez essayer de supprimer le fichier. Cela peut entraîner une corruption grave du système de fichiers.

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

Notez que cela peut être fait même s'il s'avère que le fichier n'a jamais eu d'inode. Essayez les commandes une à la fois, dans l’ordre indiqué ci-dessus. Quittez debugfs et vérifiez si le fichier existe. Sinon, recommencez mais suivez les instructions suivantes.

Faites une sauvegarde si possible!

2
hexafraction

Je sais que c'est vieux, mais j'ai eu le même problème que le vôtre, seulement avec un dossier, pas avec un fichier. Aucune des méthodes suggérées ici n'a fonctionné.

J'ai réussi à résoudre le problème en créant un dossier dans la même position et avec le même nom que celui que je n'ai pas pu supprimer. Le dossier a été créé correctement et il "a remplacé" celui qui n'existe pas. Ensuite, j'ai simplement supprimé le nouveau dossier et le problème avait disparu. Simplement comme ça.

2
Marco

J'ai eu le même problème. C'était un problème dans les entrées d'index de la partition. Je l'ai résolu en démarrant Windows si votre système est à double amorçage ou en insérant un live CD de Windows XP ou Windows 7, puis procédez comme suit:

  1. Rechercher COMMAND Invite that: is cmd click-click -> Run as administrator.
  2. chkdsk /f/x D: (où D est la lettre de votre lecteur).
  3. Appuyez sur Y si vous demandez Y/N
  4. Recherchez dans votre lecteur le fichier que vous souhaitez supprimer. Peut-être qu'il est supprimé ou vous pouvez le supprimer.

100% de travail

2
user2102442

En regardant vos captures d'écran, je vois que le groupe est défini en tant que root. Je voudrais essayer d'utiliser chown et voir si cela résout le problème.

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

Remplacer [nom d'utilisateur] par votre nom d'utilisateur.

Vous aurez quelques erreurs.

example

0
mywebslave

Linux Mint 18.3 Mon fichier inexistant était "nomfichier.pdf.crdownload". Il s’affichait sur mon bureau sous la forme d’un paquet, c’est-à-dire un fichier Zip sous Windows. Pour le plaisir j'ai fait un clic droit, Propriétés, Ouvrir avec, qui ne montrait aucune application, alors je l'ai changé en Ouvrir avec ¨Archive Manager¨. Immédiatement, le fichier a disparu de mon bureau. kb

0
Kenneth Browne

J'ai eu un même problème avec le fichier créé par EMR (dossier médical électronique) sur une base Web personnalisée sous chrome. Sudo touch /forcefsck suivi d'un redémarrage a fonctionné pour moi et un fichier supprimé automatiquement. Aide pris forme pages suivantes

  1. https://ubuntuforums.org/archive/index.php/t-1673273.html
  2. Force fsck safe?
0
Kamlesh

Comme ubfan1 l'a dit, les caractères non-imprimés dans les noms de fichiers peuvent causer de tels problèmes.

  1. toucher
  2. rm

a travaillé pour moi depuis que 'touch' a remplacé le fichier corrompu.

0
Amit_sh

montrez-nous le terminal .... faites un ll | grep panorama et montrez-le nous; ajoutez-le à votre question ...

Ma suggestion est de faire en tant que rootrm -f panorama.jpg.

dans l'homme de la chambre j'ai trouvé ceci:

-f, --force
              ignore nonexistent files, never Prompt
0
maniat1k

Commencez par vous connecter en tant que root avec Sudo -s

Vous pouvez essayer de faire rm -v <file> et de regarder la sortie commentée pour voir ce qui se passe pendant que vous essayez de supprimer le fichier. Découvrez les options pour la commande ci-dessous.

Si cela échoue, vous pouvez utiliser l'option force comme tout le monde le dit. Vous pouvez également essayer de supprimer tout le répertoire en forçant une suppression récursive: rm -rfv **full directory address here**



À partir de Guide de commande UNIX:

SYNOPSIS

   rm [OPTION]... FILE...

LA DESCRIPTION

   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.

OPTIONS

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

Essayez de cette façon:

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

La non impression des caractères dans les noms de fichiers peut causer de tels problèmes - comme un espace. Essayez l’option interactive de rm et dites "Y" au fichier que vous voulez supprimer "
rm -i "* pan *" Notez l'utilisation de * s pour faire correspondre tout caractère (même non-printint).
L'inode a peut-être été supprimé, mais pas l'entrée de répertoire. Essayez ls -i pour voir les inodes. fsck le système de fichiers pour résoudre ce genre de problème.

0
ubfan1