Par accident, j'ai utilisé rm
un fichier que je ne voulais pas supprimer. Est-il possible de le récupérer sous Linux?
linux
file-recovery
rm
HaiYuan Zhang
la source
la source
rm
est une commande "dangereuse" UNIX / Linux (lecture$ man rm
). Utilisez-le avec une extrême prudence . Cela dit, c’est un moyen rapide de supprimer des fichiers dont vous êtes sûr. Les environnements de bureau Linux et Unix modernes fournissent une solution de "Corbeille" , de sorte que l'utilisateur peut facilement récupérer des fichiers supprimés par inadvertance.Réponses:
Voici des étapes génériques pour récupérer des fichiers texte.
Utilisez d'abord la commande wall pour indiquer à l'utilisateur que le système est en train de tomber en mode utilisateur unique:
Appuyez sur CTRL + D pour envoyer un message.
Utilisez ensuite la commande init 1 pour amener le système en mode utilisateur unique:
Utiliser grep (manière UNIX traditionnelle) pour récupérer des fichiers
Utilisez la syntaxe grep suivante:
OU
Où,
Pour récupérer un fichier texte commençant par "nixCraft" sur / dev / sda1, vous pouvez essayer la commande suivante:
Utilisez ensuite vi pour voir file.txt.
Cette méthode est UNIQUEMENT utile si le fichier supprimé est un fichier texte. Si vous utilisez le système de fichiers ext2, essayez de récupérer la commande.
Trouvé à http://www.cyberciti.biz/tips/linuxunix-recover-deleted-files.html
la source
init 1
, supprimez manuellement tous les démons du système, à l'exception desshd
. Je pense également qu’à ce stade, vous devriez remonter tous les systèmes de fichiers RO et les enregistrer dans tmpfs (en supposant que vos fichiers temporaires s’intègrent dans la mémoire RAM) pour éviter d’écraser les fichiers avec les données temporaires. Vous devrez bien sûr le copier ailleurs ultérieurement, soit sur un serveur distant, soit de nouveau sur les systèmes de fichiers locaux après leur remontage RW.dd
et essayez de trouver le fichier qu’il contient (à l’aide d’grep
un éditeur).Edit:
ddrescue
fonctionne parfois mieux quedd
.la source
Si votre système de fichiers est ext3 , utilisez ext3grep .
la source
Testdisk a une option de suppression qui devrait fonctionner avec Linux.
Il existe une procédure pas à pas pour Linux . Notez que cela fonctionne pour ext2 , ext3 et ext4 .
la source
La seule réponse correcte est: restaurez votre fichier à partir d'une sauvegarde. Tout le monde doit avoir une sauvegarde. Pour les fichiers vraiment importants, vous devez avoir deux sauvegardes. Vous pas? Eh bien, tant pis, voici une leçon apprise (désolée de paraître sévère, mais je suis dans le stockage de données, et les gens ne sauvegardent pas avant d'avoir perdu des données importantes, c'est un fait. Donc oui, vous avez l'air stupide, mais ainsi presque tout le monde
OK, vous n'avez pas de sauvegarde. vous devez cesser d' utiliser le système de fichiers contenant le fichier RIGHT NOW . Toute activité d’écriture peut définitivement détruire les données de fichier qui peuvent (ne peuvent ) rester sur le disque.
Si vous avez commis l'erreur tragique d'utiliser une seule partition à la fois comme système de fichiers racine et / home, cela signifie que vous devez démarrer à partir d'un autre périphérique. NOW .
Si votre fichier est d'un format courant (fichier Word, JPG, etc.), utilisez Photorec . Photorec peut récupérer les formats de fichiers les plus courants.
Vous pouvez essayer la méthode "ext3 undelete" proposée précédemment, mais vous devez être à l'aise avec la ligne de commande, comprendre le fonctionnement de base de Linux, etc.
Si votre fichier est d'un format spécial, pas de chance. Une fois, j’ai écrit un programme Perl pour analyser un lecteur à la recherche de fichiers spéciaux, et cela a très bien fonctionné; mais vous aurez besoin de connaître la programmation pour le faire et d’être aussi à l’aise avec Linux.
la source
Je l'ai fait il y a quelques années. Mon approche consistait à directement, pas de temps à perdre, démonter la partition, puis
d'avoir un fichier de sauvegarde de l'état exact de la partition. Ensuite, vous pouvez monter la partition à nouveau et poursuivre vos activités comme d'habitude lorsque vous recherchez le fichier supprimé dans votre image créée. L'image sera probablement TRES grande car vous avez besoin de tout l'espace "vide", il pourrait donc être un problème pratique pour la stocker.
Ensuite, c’était juste pour effectuer des recherches ennuyeuses après des extraits de texte que j’espérais être quelque part dans la soupe du contenu de la partition. Par exemple pour trouver des fichiers .tex, j'ai couru
qui a imprimé un contexte large autour de l'expression "subdivision" et a sauvegardé la sortie dans un fichier dans lequel effectuer une recherche manuelle. J'ai imprimé un contexte aussi vaste, car la recherche de l'image prenait tellement de temps que je préférerais ne pas le faire plus de fois que nécessaire.
De plus, la commande
strings
était utile pour supprimer les déchets binaires de la sortie, mais si je me souviens bien, elle supprimait également tous les retours à la ligne, ce qui pourrait poser problème.Pour trouver des fichiers binaires de la même manière, on pourrait réussir à trouver un en-tête caractéristique ou quelque chose d'un certain fichier, mais j'imagine que c'est une aventure plutôt grosse.
Brèves notes techniques: la récupération de disque et Ext3 / 4 posent des problèmes techniques. C'est une longue chose à expliquer, mais brièvement (et de manière inadéquate): Ext3 / 4 supprime les "marqueurs" qui indiquent au système d'exploitation où les fichiers sont situés sur le disque lorsque vous les supprimez. Les fichiers ne sont pas nettoyés, mais personne ne sait où ils commencent et se terminent sur le disque, et ils sont parfois même fragmentés à plusieurs endroits. Certains autres systèmes de fichiers définissent simplement les statuts des fichiers sur "supprimé", mais conservent les données d'emplacement. Alors, restaurer n’est pas plus difficile que de regarder les pointeurs de fichiers avec cet indicateur (ils devraient toujours être disponibles si aucune activité n’est trop active), et ensuite espérer que leur contenu n’a pas été écrasé.
Quel est le meilleur? Rhétorique, à mon avis. Une sauvegarde fréquente est la réponse à tous ces problèmes. Des données importantes sans système de sauvegarde automatique est un accident qui attend, IMHO.
Anecdote personnelle obligatoire: J'allais
foo\ foo*
partir~
. J'ai écrit, qui, malheureusement,
foo
était apparemment un lien symbolique et le seul fichier correspondant, le shell transformé enJ'ai appuyé sur Entrée et je suis restée assise à regarder la commande, ce qui aurait dû prendre une seconde au plus. Après un peu plus de temps
rm
m'a demandé si je voulais "supprimer le fichier protégé en écriture" quelque chose "". Très vite, j'ai senti les frissons et doucement et très contrôlé j'ai appuyéCtrl+c
. ~ La moitié de ma~
copie a été supprimée, mais j’ai réussi à récupérer tout ce qui avait de la valeur par le biais de la description décrite ci-dessus de greps et de certaines sauvegardes plus ou moins actuelles. J'avais personnellement des données de mesure très précieuses (lire: longues) et très récentes sur disque perdues, mais j'avais effectué des sauvegardes quadruples. L'un d'eux a disparu ici, un autre en raison d'une panne système à l'école, un autre était corrompu et, au début, je ne pouvais pas trouver le quatrième, car je l'avais mis par erreur dans le mauvais dossier :-D. N'avait pasrm -r
bloqué sur un fichier protégé en écriture, le quatrième aurait été mangé depuis que ce dossier a été monté via sshfs dans my~
. Je suis beaucoup plus prudent avec ce genre de choses depuis.la source
Si c'est la chambre standard , j'espère que vous avez une sauvegarde. La procédure de récupération d'un fichier supprimé serait différente pour chaque système de fichiers, si cela était possible. Linux n'a pas de "corbeille" intégrée; une fois que vous supprimez un fichier, tout est parti.
Quelle que soit la méthode choisie, vous devrez débrancher l'ordinateur - dès que possible, car le fait de continuer à exécuter l'ordinateur (même à l'éteindre) provoque des écritures sur le disque et augmente le risque que certains blocs précédemment occupés par l'ordinateur de poche le fichier sera écrasé. Cela fait, installez-le sur un autre ordinateur, redémarrez un CD live (en veillant à ne pas monter le lecteur, sauf en lecture seule), ou enlevez le disque dur et confiez-le à un spécialiste en récupération de données.
la source
Définissez vos attentes faibles. Si quelque chose a été écrit sur les données «supprimées», vous le perdrez.
J'ai fait une petite récupération et les meilleurs outils que j'ai trouvés ont souvent été conçus pour certains formats. Par exemple, «photorec» était génial lorsque je voulais récupérer des dizaines de milliers de fichiers jpeg.
Recuva m'a également aidé avant maintenant et pourrait être votre meilleur choix. (C'est gratuit, ne vous laissez pas piéger par leurs annonces)
À la fin de la journée, si ce que vous avez perdu est important, mettez le lecteur hors ligne et arrêtez d'écrire. Utilisez tous les logiciels de récupération que vous pouvez trouver jusqu'à ce que vous récupériez vos données ou que cela en vaille la peine. Si c'est vraiment important, envoyez-le à des professionnels à un prix élevé.
Si vous avez déjà eu de la chance avec un outil, essayez à nouveau, vu que vous le connaissez bien. À la fin de la journée, ils ne devraient pas écrire sur le disque et vous pouvez donc utiliser un logiciel jusqu'à ce que vous en trouviez un qui fonctionne.
la source
Voici un excellent document pour vous. Vous y trouverez une foule de conseils pratiques.
BTW, il y a deux groupes de personnes:
Félicitations, vous venez d'être promu dans le groupe 2. ;-)
la source
Si vous avez une application ouverte qui lit actuellement le fichier, telle que VLC ou LibreOffice, cette réponse géniale de L & U.SO m'aidera à sortir de ce gâchis. Voici une méthode alternative pour faire la même chose.
L'idée générale est de trouver le lien
/proc/PID/fd/DESCRIPTOR_NUMBER
et de le recopier à son emplacement d'origine. Utilisezps aux | grep APP_NAME
pour trouver le PID, puisls -la /proc/PID/fd/
pour trouver le DESCRIPTOR_NUMBER approprié.la source
La réponse "correcte" consiste à supposer qu’il n’existe pas de méthode de restauration fiable mais plutôt de restauration à partir de sauvegardes ou d’un système cloné ou de réinstallation.
TestDisk est un excellent outil. Il existe d’autres moyens de récupérer des données du disque physique en fonction du système de fichiers et de la récence de la suppression. Toutefois, le temps et la douleur impliqués peuvent être trop longs. KEEP BACKUPS (et testez qu'ils sont valides et restaurables)!
la source
Si ce n'est pas écrasé par d'autres utilisateurs, alors vous avez de la chance. J'ai accidentellement supprimé mon fichier source cpp et utilisé un outil appelé avant tout , qui m'a aidé à restaurer des débris de 60G cpp à partir du disque. Enfin, j'ai récupéré mon dossier en assemblant ces débris pièce par pièce. Je pense qu'il scanne certains motifs pour un type de fichier spécifique et traverse tous les inodes du disque pour récupérer des fichiers! Juste essayer!
la source
Si vous avez accidentellement supprimé le fichier de Linux, vous pouvez utiliser cette commande:
à la place de
search text
vous pouvez mettre un nom de fichier et spécifier un répertoire dans lequel vous voulez restaurer/home
.la source
Vous pouvez essayer ce script. Fonctionne bien et destiné à être utilisé à la place de rm et im l'utiliser intensément maintenant.
https://github.com/nateshmbhat/safe-rm
Traits :
rm
la source
J'ai eu le même problème la semaine dernière 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. Le sintax est très facile:
ou:
Cette vidéo montre est un mini tutoriel qui peut vous aider.
la source