Les fichiers / répertoires supprimés avec rm peuvent-ils être restaurés?

59

Est-il possible de restaurer les 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?.

    
posée user3215 13.10.2010 - 08:37
la source

7 réponses

58

Pour ce faire, j'utilise trash-cli package et l'alias suivant dans mon ~/.bashrc

alias rm=trash

Les fichiers que vous supprimez seront déplacés vers la corbeille et vous pourrez les voir dans la corbeille nautile.

Vous pouvez toujours accéder au rm réel 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 depuis le terminal, trash-list , restore-trash (ou trash-restore ), trash-empty installable à partir du paquet trash-cli (puis voir leurs pages de manuel).

Dernière remarque, il n’est pas conseillé d’utiliser un tel alias pour les super-utilisateurs, car cela peut interférer avec les opérations du système.

    
réponse donnée enzotib 13.10.2010 - 09:08
la source
24

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 System->Administration->Disk Utility ), consultez ext3undel .

Si ce n'est pas le cas (si vous avez installé Ubuntu avec les paramètres par défaut ), essayez le programme extundelete .

Rien ne garantit que vous récupérerez quoi que ce soit.

    
réponse donnée evgeny 13.10.2010 - 08:47
la source
13

Vous recherchez: extundelete - utilitaire de récupération des 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.

    
réponse donnée H.-Dirk Schmitt 09.03.2013 - 21:36
la source
6

Comme alternative, si vous savez précisément 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 souhaiterez peut-être également supprimer les lignes non pertinentes).

Si votre type de fichier n'existe pas, ajoutez votre propre ligne. Disons que je veux récupérer un fichier .css et je sais que c'est environ 40K. Je pourrais ajouter ceci:

css     n       40000   Theme\sName:     Plugin\sFixes

La deuxième colonne fait référence à la sensibilité à la casse, la troisième colonne à la limite supérieure de la taille, la quatrième colonne correspond au démarrage du fichier (n'oubliez pas d'utiliser des caractères échappés) et la dernière colonne correspond à la fin du fichier. / p>

Utilisez la commande suivante (modifiez 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 qu’avant tout, on va créer un dossier appelé sortie et vider toutes les données récupérées (dans ce cas) dans le dossier. De là, vous pouvez utiliser diff ou meld pour comparer les «fichiers» récupérés et voir quel est le plus récent.

    
réponse donnée Reuben L. 21.02.2014 - 07:37
la source
4

Parlant dans les termes les 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 . Vous pouvez le localiser dans votre répertoire home , ~/.local/share/Trash/ . Les fichiers "supprimés" de ce répertoire seront réellement supprimés. Cette suppression réelle est ce qui se passe 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 sur un arbre B ou similaire. Lorsqu'un fichier est supprimé avec rm , 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 vous avez un lien physique, votre fichier est absolument sûr. Vous pouvez faire un file / -samefile filename . Vous pouvez rechercher le fichier si vous vous souvenez de son numéro d’inode (ce n’est guère le cas).

Un autre cas est celui où 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 par un. Et si le nombre de liens physiques tombe à zéro, le pointeur vers le fichier de l'inode est supprimé ou est marqué pour être supprimé. De toute façon, votre fichier "toujours" réside sur le disque dur. Le fichier est en fait effacé du disque dur uniquement lors du remontage ultérieur. La récupération de fichiers à un moment donné est extrêmement difficile, cela implique de parcourir l'arborescence du système de fichiers et les inodes représentant les emplacements réels des blocs de disque. Il y a un outil populaire dont j'ai entendu parler, mais que je n'ai jamais utilisé, appelé extundelete . Bien qu'il n'y ait aucune garantie, cela vaut la peine d'essayer.

Une fois que vous récupérez vos fichiers avec succès ou non, hâtez-vous de faire des sauvegardes régulières. C'est extrêmement simple sur Ubuntu.

    
réponse donnée John Strood 10.10.2016 - 13:04
la source
2

Désolé, mais les fichiers supprimés depuis une ligne de commande avec le "rm" et le "rm -f" contournent le "Trashcan" que vous avez sur le bureau Gnome.

Vous voudrez peut-être aussi demander s’il existe des outils "undelete" de type extfs comme pour FAT et NTFS. (Je n'en connais aucun, mais je serais surpris s'il n'y en avait pas.)

    
réponse donnée Stéphane 13.10.2010 - 08:44
la source
0

Vous pouvez essayer ce script. Fonctionne bien et est destiné à être utilisé en lieu et place de rm

lien

Caractéristiques:

  • destiné à être utilisé à la place de rm
  • gère tous les arguments que rm peut prendre
  • gère les collisions de noms de fichiers avec les fichiers déjà présents dans la corbeille
  • gère automatiquement certains problèmes de permission
  • si rm est appelée depuis un autre script ou indirectement, la commande système 'rm' est automatiquement utilisée
  • affiche les messages d'erreur appropriés comme ceux qui apparaissent dans rm
réponse donnée Natesh bhat 15.05.2018 - 03:40
la source

Lire d'autres questions sur les étiquettes