Est-il possible de restaurer des fichiers/répertoires supprimés du terminal en utilisant rm
et rm -r
?. Si un fichier est supprimé de l'interface graphique, il peut être restauré à partir de la corbeille, mais comment restaurer un fichier s'il est supprimé à l'aide de l'utilitaire rm ?.
À cette fin, j'utilise le paquet trash-cli
et l'alias suivant dans mon ~/.bashrc
alias rm=trash
Et le package trash-cli
peut être installé à l'aide de la commande suivante: Sudo apt-get install trash-cli
.
Les fichiers que vous supprimez seront déplacés vers la corbeille et vous pourrez les voir dans la corbeille Nautilus.
Vous pouvez toujours accéder au nom réel rm
en utilisant l'une des méthodes suivantes:
command rm something
'rm' something
\rm something
Il existe également des commandes pour accéder à la corbeille à partir du terminal, trash-list
, restore-trash
(ou trash-restore
), trash-empty
installable à partir du paquet trash-cli (puis consultez leurs pages de manuel).
Dernière remarque, il n'est pas conseillé d'utiliser un tel alias pour les super-utilisateurs, car il peut interférer avec les opérations du système.
Le supprimer du terminal le supprime définitivement - la récupération est très difficile et parfois impossible.
Si votre type de partition est ext3
(vérifiez-le en utilisant le System->Administration->Disk Utility
), puis jetez un oeil à ext3undel .
Si ce n'est pas le cas (si vous avez installé Ubuntu avec les paramètres par défaut ), essayez le programme extundelete
.
Il n'y a aucune garantie que vous récupérerez quoi que ce soit.
Vous recherchez: extundelete - pour récupérer les fichiers supprimés de la partition ext3/ext4
Pour trouver un tel paquet, vous pouvez essayer: apt-cache search undelete
Pour utiliser l'utilitaire, installez-le avec: Sudo apt-get install extundelete
Après l'installation, appelez man extundelete
et étudiez-le attentivement.
Juste comme alternative, si vous savez précisément de quel type de fichier il s’agit ...
Sudo apt-get install foremost
Ouvrez maintenant /etc/foremost.conf
et vous verrez une longue liste de lignes commentées. Si votre type de fichier existe, décommentez la ligne (vous pouvez également vouloir supprimer les lignes non pertinentes).
Si votre type de fichier n'existe pas, ajoutez votre propre ligne. Dites que je veux récupérer un fichier .css et que je connais ses 40K environ. Je pourrais faire ajouter ceci:
css n 40000 Theme\sName: Plugin\sFixes
La 2ème colonne fait référence à la casse, la troisième colonne à la limite supérieure de taille, la 4ème colonne indique le début du fichier (n'oubliez pas d'utiliser des caractères d'échappement) et la dernière colonne indique comment le fichier se termine habituellement.
Utilisez la commande suivante (éditez le disque en conséquence. Pourrait vérifier avec la commande df
)
foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output
Ce qui va se passer ensuite, c'est avant tout créer un dossier appelé sortie et vider toutes les données récupérées (dans ce cas) dans le dossier. À partir de là, vous pouvez utiliser diff
ou meld
pour comparer les 'fichiers' récupérés et voir quels sont les fichiers les plus à jour.
En termes plus abstraits, chaque fois que vous supprimez un fichier sur l’interface graphique, le fichier est "déplacé" vers un "tampon" spécial, un répertoire appelé trash
name__. Vous pouvez le localiser dans votre répertoire home
name__, ~/.local/share/Trash/
. Les fichiers "supprimés" de ce répertoire seront réellement supprimés. Cette suppression réelle correspond à ce qui se produit lorsque vous utilisez rm
sur un fichier.
Il est extrêmement difficile de récupérer des fichiers supprimés. Les fichiers du système de fichiers sont représentés sous forme de nœuds dans un arbre B ou similaire. Lorsqu'un fichier est supprimé à l'aide de rm
name__, l'arborescence est mise à jour, le nombre de liens physiques est réduit, l'entrée correspondante dans la liste des répertoires est supprimée. Si du tout, votre fichier avait un lien en dur, votre fichier est absolument sûr. Vous pouvez faire un file / -samefile filename
. Vous pouvez rechercher le fichier si vous vous souvenez aussi de son numéro d'inode (ce n'est pas le cas).
Un autre cas se présente lorsqu'aucune des possibilités ci-dessus n'est vraie. Chaque fois que vous rm
un fichier, l'entrée de fichier du répertoire est supprimée, ce qui réduit le nombre de liens physiques de un. Et si le nombre de liens physiques tombe à zéro, le pointeur sur le fichier sur l'inode est supprimé ou est marqué pour être supprimé. Dans les deux cas, votre fichier "immobile" se trouve sur le disque dur. Le fichier n’est effacé du disque dur que lors d’un remontage ultérieur. La récupération de fichiers à un tel moment est extrêmement difficile et implique de passer par l’arborescence du système de fichiers et les inodes représentant les emplacements réels des blocs de disque. J'ai entendu parler d'un outil populaire, mais je ne l'ai jamais utilisé, appelé extundelete
name__. Bien qu'il n'y ait aucune garantie, cela vaut la peine d'essayer.
Une fois que vous avez récupéré vos fichiers avec succès ou non, hâtez-vous de faire des sauvegardes régulières. C'est extrêmement simple sur Ubuntu.
Désolé, mais les fichiers supprimés d'une ligne de commande avec "rm" et "rm -f" contournent la "Corbeille" que vous avez sur le bureau de Gnome.
Vous voudrez peut-être aussi demander s'il existe des outils "non supprimés" d'extfs, comme il en existe pour FAT et NTFS. (Je n'en connais pas, mais je serais surpris s'il n'y en avait pas.)
utilisez l'utilitaire "rm-trash" qui les traite les met à la corbeille pour une récupération ultérieure et prend en charge toutes les options de la commande "rm".
Sudo add-apt-repository ppa:nateshmbhat/rm-trash
Sudo apt-get update
Sudo apt-get install rm-trash
"rm-trash" est
rm