Cela vous est-il déjà arrivé?
Vous avez réalisé que vous avez supprimé par erreur un fichier :
Suppr
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.
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 :
~/.bashrc
(certaines distributions peuvent utiliser ~/.profile
) pour le login que vous utilisez./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
. script
, il est interprété directement par le shell en cours d’exécution, sans lancer de nouvelle instance.
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'
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