Comment récupérer un fichier supprime sous linux

Cela vous est-il déjà arrivé?
Vous avez réalisé que vous avez supprimé par erreur un fichier :

à l'aide de la touche Suppr

en utilisant rm dans la ligne de commande

Dans le premier cas, vous pouvez toujours aller dans la Corbeille, rechercher le fichier et le restaurer à son emplacement d'origine.
Mais qu'en est-il du second cas?
Comme, je suis sûr que vous le savez sans doute, la ligne de commande Linux n'envoie pas les fichiers supprimés n'importe où, il les supprime.
Dans cet article, nous partagerons un conseil qui peut être utile pour éviter que cela ne vous arrive, et un outil que vous pouvez envisager d'utiliser si à un moment donné vous êtes assez négligent de le faire de toute façon.

Création d'un alias 'rm -i'

L'option -i, lorsqu'elle est utilisée avec rm (ainsi que d'autres outils de manipulation de fichiers tels que cp ou mv) provoque l'apparition d'une invite avant de supprimer un fichier.
Il en va de même pour copier, déplacer ou renommer un fichier dans un emplacement où déjà existe un même nom.
Cette invite vous donne une deuxième chance de considérer si vous voulez réellement supprimer le fichier, si vous confirmez l'invite.
Dans ce cas, je suis désolé, mais cette astuce ne vous protégera pas de votre propre négligence.

Pour remplacer rm par un alias à 'rm -i', faites:

alias rm='rm -i'

La commaRde alias confirmera que rm est maintenant un alias:

test@test1:~# alias rm='rm -i'
test@test1:~# alias
alias rm='rm -i'

Toutefois, cela ne durera que pendant la session actuelle, dans le shell actuel.
Pour rendre le changement permanent, vous devrez ajouter et sauvegarder alias rm='rm -i' à la fin du fichier d'un fichier d’initialisation du shell :

soit de ~/.bashrc (certaines distributions peuvent utiliser ~/.profile) pour le login que vous utilisez.

ou de /etc/bash.bashrc (certaines distribution peuvent aussi utiliser /etc/bashrc) pour l'ensemble des login présent sur la machine.

Pour que les modifications du fichier (~/.bashrc, ~/.profile, /etc/bash.bashrc ou /etc/bashrc) prennent effet immédiatement saisir :

. ~/.bashrc

ou

. ~/.profile

ou

. /etc/bash.bashrc

ou

. /etc/bashrc

Lorsqu’un script est appelé ainsi appelé . script, il est interprété directement par le shell en cours d’exécution, sans lancer de nouvelle instance. Aussi les variables et fonctions définies par ce script seront-elles disponibles même après sa terminaison.

Vérifier le résultat avec les commande alias, comme au dessus :

test@test1:~#alias
test@test1:~#
test@test1:~#. ~/.bashrc
test@test1:~# alias
alias rm='rm -i'

L'outil de forensic - foremost

Espérons que vous ferez attention à vos fichiers et que vous n'aurez besoin que d'utiliser cet outil lors de la récupération d'un fichier perdu à partir d'un disque externe ou d'une clé USB.

Toutefois, si vous vous rendez compte que vous avez accidentellement supprimé un fichier dans votre système et vous paniquez.
Jetons un coup d’œil a un outil de forensic qui a été conçu pour ce genre de scénarios.

Pour installer foremost dans CentOS/RHEL 7, vous devez d'abord activer Repoforge:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install foremost

Dans Debian et les dérivés, il suffit de faire :

aptitude install foremost

Une fois l'installation terminée, nous allons procéder à un test simple.
Nous commencerons par supprimer un fichier image nommé nosdos.jpg dans le répertoire /boot/images:

cd images
rm nosdos.jpg

Pour le récupérer, utilisez avant tout (vous devrez d'abord identifier la partition sous-jacente /dev/sda1 où /boot se trouve dans ce cas):

foremost -t jpg -i /dev/sda1 -o /home/test/rescued

Où /home/test/rescued est un répertoire sur un disque séparé, gardez à l'esprit que récupérer des fichiers sur le même disque où ils ont été enlevés n'est pas une décision judicieuse.

Si, au cours de la récupération, vous occupez les mêmes secteurs de disque où les fichiers supprimés étaient auparavant, il se peut qu'il ne soit pas possible de récupérer quoi que ce soit.
En outre, il est essentiel d'arrêter toutes vos activités avant d'effectuer la récupération.

Après la fin de l'exécution, le fichier récupéré (si la récupération était possible) se trouve dans le répertoire /home/test/rescued/jpg.
source : techmint.com