Comment puis-je supprimer un fichier qui est là mais le système dit qu'il n'est pas là?
Comment puis-je supprimer un fichier qui est là mais le système dit qu'il n'est pas là?
Réponses:
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é" le dossier inexistant. Ensuite, j'ai simplement supprimé le nouveau dossier et le problème avait disparu. Aussi simple que cela.
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 démarrage ou en insérant un CD live de Windows XP ou Windows 7, puis procédez comme suit:
cmd
un clic droit -> Exécuter en tant qu'administrateur. chkdsk /f/x D:
(où D est votre lettre de lecteur). 100% de travail
Avertissement: ces instructions nécessitent une utilisation
debugfs
. Ils peuvent entraîner une perte de données.Ils sont adaptés au problème d'origine et peuvent être exacts ou non pour les futurs visiteurs de cette page. Toute perte de données peut être irréparable voire aggravée par
fsck
.
Il peut s'agir d'un inode perdu. Veuillez exécuter ls -li
pour obtenir une liste des numéros d'inode, puis vous pouvez essayer de vider l'inode référencé. Par exemple, si votre ls -li
apparence 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---
alors le numéro d'inode est 4980758 comme indiqué dans la liste comme première colonne.
Vous pouvez alors essayer de vider l'inode. Veuillez lire l'intégralité du message avant de faire quoi que ce soit .
Commencez en debugfs
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.
Ensuite, donnez la commande pour vider l'inode dont vous avez obtenu le numéro plus tôt:
cat <4980758>
en utilisant <
et >
autour du numéro d'inode.
S'il lit du texte aléatoire, fermez le terminal et ouvrez-le à nouveau. Exécutez à debugfs
nouveau et exécutez à nouveau la open
commande.
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 par une, dans l'ordre indiqué ci-dessus. Quittez debugfs et vérifiez si le fichier existe. Sinon, recommencez mais suivez les instructions suivantes.
debugfs
est uniquement destiné aux types de systèmes de fichiers ext2, ext3 et ext4.
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 root rm -f panorama.jpg
.
chez l'homme de rm, j'ai trouvé ceci:
-f, --force
ignore nonexistent files, never prompt
Connectez-vous en tant que root avec sudo -s
Vous pouvez essayer de le faire rm -v <file>
et regarder la sortie détaillée pour voir ce qui se passe pendant qu'il essaie de supprimer le fichier. Découvrez les options de la commande ci-dessous.
Si cela échoue, vous pouvez utiliser l'option force comme tout le monde l'a dit. Vous pouvez également essayer de supprimer l'intégralité du répertoire en forçant une suppression récursive:rm -rfv **full directory address here**
Dans le 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.
En regardant vos captures d'écran, je vois que le groupe est défini comme root. J'essaierais d'utiliser chown et voir si cela résout le problème.
sudo chown -hR [username]:[username] /home/[username]
Remplacement de [nom d'utilisateur] par votre nom d'utilisateur.
Vous obtiendrez quelques erreurs.
Les caractères non imprimés dans les noms de fichiers peuvent provoquer de tels problèmes - comme un espace. Essayez l'option interactive de rm et dire « Y » dans le fichier que vous voulez supprimer »
rm -i « * * pan » Notez l'utilisation de * s pour correspondre à tous les caractères (même non printint).
Peut - être le inode a été supprimé, mais pas l'entrée du répertoire. Essayez ls -i pour voir les inodes. fsck le système de fichiers pour résoudre ce genre de problème.
Essayez de cette façon:
cd dir-to-delete
find ./ -exec rm -rf {} \;
J'ai eu le même problème avec le fichier créé par la base Web personnalisée EMR (dossier médical électronique) sous Chrome. sudo touch /forcefsck
suivi d'un redémarrage a fonctionné pour moi et a supprimé le fichier de manière aromatique. Formulaire d'aide prise pages suivantes
Linux Mint 18.3 Mon fichier inexistant était ¨filename.pdf.crdownload¨ Il est apparu sur mon bureau sous forme de package, c'est-à-dire un fichier zip dans Windows Speak. Pour le diable, j'ai fait un clic droit, Propriétés, Ouvrir avec, qui n'affichait aucune application, je l'ai donc changé en Ouvrir avec ¨Archive Manager¨. Immédiatement, le fichier a disparu de mon bureau. kb