Existe-t-il une commande permettant de récupérer / annuler la suppression des fichiers supprimés rm
?
$ rm -rf /path/to/myfile
Comment puis-je récupérer myfile
? S'il existe un tel outil, comment puis-je l'utiliser?
linux
data-recovery
deleted-files
pylover
la source
la source
Réponses:
Le lien que quelqu'un a fourni dans les commentaires est probablement votre meilleure chance.
Linux debugfs Hack: Undelete Files
Cette description, bien que semblant un peu intimidante, est en fait assez simple à suivre. En général, les étapes sont les suivantes:
Utiliser debugfs pour afficher un journal de système de fichiers
À l'invite de débogage
Échantillon de sortie
Exécuter la commande dans debugfs
Déterminer l'inode des fichiers
Avec les inodes ci-dessus, lancez les commandes suivantes
Les fichiers ont été récupérés
recovered.file.001
.Autres options
Si ce qui précède ne vous convient pas, j’ai utilisé des outils tels que la
photorec
récupération de fichiers dans le passé, mais il s’agit uniquement de fichiers image. J'ai beaucoup écrit sur cette méthode sur mon blog dans cet article intitulé:Comment récupérer des fichiers JPEG et mov corrompus à partir de la carte SDD d'un appareil photo numérique sur Fedora / CentOS / RHEL .
la source
debugfs -w /dev/sdb2
maislsdel
sais:0 deleted inodes found.
extundelete
est plus facile pour ext3 / 4 et mènerait probablement aux mêmes résultats./dev/mapper/wks01-root: No such file or directory while opening filesystem
D'où viens-tu cela/dev/mapper/wks01-root
?Avec un peu de chance, je peux parfois récupérer des fichiers supprimés avec ce script ou la solution suivante dans la réponse:
Il existe une autre astuce utile: si vous connaissez un modèle dans vos fichiers supprimés, tapez alt+ sys+ resuopour redémarrer + remonter en lecture seule, puis avec un live-cd, utilisez
grep
pour rechercher sur le disque dur:puis éditez
/tmp/recover
pour ne conserver que ce qui était auparavant dans vos fichiers.Hé, si avec la philosophie Unix tout est fichier, il est temps d'en profiter, non?
la source
grep
solution de base est très intelligente et a fonctionné pour moi, même avec le système de fichiers toujours monté. Merci!grep -av "[^[:print:]]"
grep
solution a fonctionné pour moi avec une modification: je l' ai faitsudo grep --line-buffered -ab "$PATTERN" /dev/sda1 | tee lines
et a obtenu des décalages d'octets (comme123123123:line\n456456456:another\n...
), puis a faitn=1000; sudo dd of=before if=/dev/sda1 ibs=1 skip=$[123123123-$n] count=$n
etn=1000; sudo dd of=after if=/dev/sda1 ibs=1 skip=123123123 count=$n
avec différentesn
valeurs.Ce qui a fonctionné pour moi a été donné par arch (s'applique uniquement aux fichiers texte):
où
/dev/sdXN
est la partition contenant le fichier perdu (à vérifier enmount
cas de doute).Cela a pris un peu de temps, mais cela a fonctionné lorsque j'ai accidentellement supprimé un code source que je n'avais pas encore engagé!
la source
rm data/*.json python myFile.py
au lieu derm data/*.json && python myFile.py
/dev/sdXN
est pour le système de fichiers, non? J'ai trouvé le mien avecdf -T | awk '{print $1,$2,$NF}' | grep "^/dev"
grep: conflicting matchers specified
Bien que cette question soit résolue et âgée de quelques années, je souhaite mentionner l’ utilitaire testdisk .
Comment récupérer des fichiers avec testdisk est bien expliqué dans ce tutoriel . Pour récupérer des fichiers, exécutez
testdisk /dev/sdX
et sélectionnez votre type de table de partition. Après cela, sélectionnez[ Advanced ] Filesystem Utils
, puis choisissez votre partition et sélectionnez[Undelete]
. Vous pouvez maintenant parcourir et sélectionner les fichiers supprimés, puis les copier dans un autre emplacement de votre système de fichiers.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. La syntaxe est très simple:
ou:
Cette vidéo est un mini tutoriel qui peut vous aider.
la source
Une alternative peut être utiliser
del
au lieu derm
pour supprimer:http://fex.belwue.de/fstools/del.html
del
a une fonction de suppression et fonctionne avec n’importe quel système de fichiers.Bien sûr, ce n’est pas une solution si vous avez déjà supprimé vos fichiers avec «ne faites aucun prisonnier»: -}
la source
del
commande.connecter le lecteur via une interface externe
umount /dev/{sd*}
extundelete --restore-all /dev/{sd*}
Voir ce lien pour plus d’informations: restaurer un fichier qui vient d’être supprimé sur ext4 avec extundelete .
la source
Outils de récupération - Ligne de commande:
Outils de récupération - Gui:
Infos:
Dans mon expérience personnelle, je récupère mes données avec ufs-explorer et photorec
(1) = Pas de source ouverte, pas libre
(2) = Pas de source ouverte, libre
(3) = Open source et gratuit
(4) = avoir le support ntfs
(5) = avoir une structure de répertoire
la source
Je ne suis pas d'accord sur le fait que c'est impossible, mais très très difficile, et je ne l'ai jamais fait non plus avec Linux:
Lorsque des fichiers sont supprimés, ils ne le sont pas réellement. Ce qui se passe, c’est que l’espace qu’ils occupaient sur le disque dur est en quelque sorte réinitialisé. Ainsi, si l’ordinateur tente d’écrire des données, rien ne se plaint. En règle générale, les données de votre disque dur que vous pensiez avoir supprimées peuvent être disponibles presque un an plus tard. Ou du moins, c'est mon expérience sur une machine Windows. Je ne sais pas si cela fonctionne de la même manière depuis une ligne de commande sous Linux, mais vous auriez probablement besoin d'un Live CD séparé pour ouvrir la partition de cette manière, et rien ne garantit également que les fichiers sont toujours présents. J'ai fait cela plusieurs fois sur Windows XP à l'aide de Zero Assumption Recovery. Je suis sûr qu'il existe un outil similaire si vous regardez suffisamment fort.
la source
Lorsque vous supprimez un fichier, le nombre de liens dans la table inode de ce fichier est réduit de un. Sous Unix, lorsque le nombre de liens passe à 0, les blocs de données de ce fichier sont marqués comme étant libres et, en règle générale, les références à ces blocs de données sont perdues. Je viens de découvrir, à partir du commentaire de @ fedorqui, qu'il pourrait exister un moyen d'accéder à ces blocs, mais que cela ne s'applique qu'au système de fichiers ext3.
Une façon de préserver les fichiers consiste à écrire une fonction qui vous permettra de déplacer les fichiers dans une corbeille (disons
$HOME/.trash
) et de récupérer les fichiers nécessaires à partir de celle-ci. Cette fonction peut être associée àrm
. Vous pouvez planifier un travail cron pour supprimer les fichiers qui se trouvent dans la corbeille depuis un certain nombre de jours.la source
Cela pourrait sauver le trouble pour certains d'entre vous.
Si vous avez déjà utilisé gedit pour éditer ce fichier, une copie de ce fichier sera créée par défaut.
Par exemple, supposons que nous ayons supprimé accidentellement "myfile.txt".
Dans le dossier qui contenait le fichier que vous venez de supprimer l' utilisation de ces commandes et vous récupérez la copie à partir de là:
ls | grep 'myfile.txt~'
Avec un peu de chance , vous trouverez, puis:
cp 'myfile.txt~' 'myfile.txt'
j'avoir récupéré un fichier juste en utilisant maintenant cette méthode. Bonne chance!
la source