Réponses:
Je déconseille d'installer immédiatement un utilitaire. Fondamentalement, votre plus grand ennemi ici sont les écritures sur disque. Vous voulez les éviter à tout prix en ce moment.
Votre meilleur choix est une sauvegarde automatique créée par votre éditeur, si elle existe. Sinon, j'essaierais l'astuce suivante en utilisant grep si vous vous souvenez d'une chaîne unique dans votre fichier .tex:
$sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt
Remplacez /dev/sda1
par le périphérique sur lequel se trouvait le fichier et remplacez 'string'
par la chaîne unique de votre fichier. Cela pourrait prendre du temps. Mais en gros, cela recherche la chaîne sur le périphérique, puis renvoie 100 lignes avant et après cette ligne et la place file.txt
. Si vous avez besoin de plus de lignes renvoyées, ajustez simplement les options -B
et -A
comme il convient. Vous pourriez recevoir un tas de déchets supplémentaires, mais vous devriez pouvoir récupérer votre texte.
Bonne chance.
-B100 -A100
peut être remplacé par équivalent -C100
(C pour "contexte"). Et je ne voudrais certainement pas utiliser -i
si cela était possible, mais -F
le remplacer.
C'est possible, ça va être un problème.
MISE À JOUR: avant d'essayer cette méthode, jetez un coup d'œil à la réponse de Steven .
Vous allez avoir besoin du paquet testdisk , de beaucoup d’ espace disque et de beaucoup de temps.
PhotoRec, une partie de TestDisk, peut récupérer des fichiers à partir de presque tous les disques. PhotoRec prend en charge la recherche de .tex
fichiers.
Tout d’abord, installez testdisk en exécutant
yum install testdisk
Remarque: vous aurez besoin de beaucoup d'espace libre sur un autre lecteur, où vous pourrez sauvegarder les fichiers récupérés.
Récupérez tous les fichiers supprimés sur votre disque en les exécutant photorec
sur l’espace libre du disque.
sudo photorec
et suivez les instructions ... (n'oubliez pas de ne pas enregistrer les fichiers sur le même disque que celui que vous récupérez)
Une fois le processus terminé, tous les fichiers récupérés doivent figurer dans un répertoire, où vous devez exécuter:
find -name '*.tex' > filelist
Cela produira une liste de fichiers qui pourraient être ceux que vous avez perdus. Vous devrez tous les vérifier, car les noms de fichiers seront perdus.
Il existe d'autres outils de récupération de données et les plus efficaces sont avant tout : photorec , scalpel et sauvetage magique . (Je suppose que l'astuce 'grep' racontée ici n'est pas suffisante) Vous trouverez ici quelques tutoriels sur la façon de les utiliser:
http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/
Dans tous les cas, je cesserais de travailler sur le périphérique utilisé dès que possible pour éviter toute gravure sur disque, et démarrerais sur un système d’exploitation dédié, tel que SystemRescueCd , un Live-CD afin que vous puissiez monter votre disque en lecture seule. afin d'éviter toute perte de données supplémentaire.
Ces distributions comprennent de nombreux outils de récupération mentionnés par d’autres, et vous pouvez installer la plupart des fichiers manquants.
J'ai toujours tendance à avoir un CD avec une version récente de SystemRescueCd dans mon lecteur USB externe, juste au cas où.
NOTE: J'ai ajouté cette réponse concernant une autre question à propos des fichiers de base de données supprimés (serveur MySQL) qui était fermée et qui pointait vers celui-ci. Je pense que cela peut également être utile dans d’autres situations similaires (dans la mesure où un processus maintient toujours les descripteurs de fichier ouverts).
Si votre processus est toujours en cours d'exécution, vous pouvez trouver vos fichiers /proc/<pid>fd/
et les copier. Envoyez d' SIGSTOP
abord au groupe de processus. Copiez les fichiers. Construisez une nouvelle instance sur le côté et laissez celle-ci arrêtée ou kill -9
remettez les fichiers à leur place. InnoDB récupérera par lui-même lors de son exécution, mais s’il existe un certain nombre de MyISAM, vous devrez le faire manuellement.
J'avais accidentellement supprimé mon fichier de base de données sqlite.
Ce que j'ai fait pour découvrir le fichier était,
Ouverture de l'emplacement /proc/
dans un navigateur de fichiers et recherche du fichier de base de données sqlite supprimé sur celui-ci.
J'ai découvert ce fichier dans un résultat de recherche. Copié ce fichier de là vers mon ancien lieu.
J'ai eu le même problème il y a deux ans et j'ai essayé beaucoup de programmes, tels que debugfs, photorec, ext3grep et extundelete. ext3grep était le meilleur programme pour récupérer des fichiers. La syntaxe est très simple:
ext3grep image.img --restore-all
ou:
ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’
Cette vidéo est un mini tutoriel qui peut vous aider.
Si vous ne possédez aucune sauvegarde, un outil de récupération de disque tiers peut récupérer tout ou partie des données, mais vous devez arrêter d'utiliser la machine maintenant. Les fichiers supprimés sont maintenant disponibles pour que votre système les écrase. Une fois écrasées, la récupération des données est extrêmement coûteuse. J'ai eu du succès avec la récupération de données uflysoft (il existe d'autres applications de récupération de données Mac OS) - vous devez disposer d'un "lecteur de récupération" (pas votre lecteur principal ou d'un lecteur de disque dur) sur lequel enregistrer les données récupérées. Vous démarrez à partir du disque de récupération de données (système)