Puis-je récupérer un fichier supprimé?

J’ai supprimé par erreur un fichier via ma connexion SSH. Comment puis-je récupérer ce fichier ou, si Ubuntu a quelque chose comme une corbeille?

rm versus suppression de l’interface graphique

Si vous avez utilisé la commande rm , vous avez effectivement supprimé le fichier. Les données ne sont plus accessibles à partir du système de fichiers – sauf qu’il y avait un autre lien physique vers le fichier (inhabituel) ou que vous avez supprimé un lien symbolique.

Les données réelles sont peut-être encore sur le disque, sur les blocs de disque, le système de fichiers est supposé être inutilisé. Si vous voulez le récupérer, vous ne devriez pas écrire sur le disque, car il pourrait réutiliser l’espace disque contenant vos données. Vous pouvez essayer une récupération de données régulière sur le fichier avec les outils adaptés au système de fichiers que vous avez utilisé.

Pour le système de fichiers ext4 par défaut, voir: Existe – t-il un logiciel de récupération disponible pour ext4? et la plupart des réponses à la question liée ci-dessous.

Corbeille pour la CLI

Il est possible d’utiliser la corbeille à partir de la ligne de commande, mais ce n’est pas configuré par défaut. Le paquet trash-cli contient des outils de ligne de commande pour utiliser la corbeille de votre environnement de bureau.

Il existe des commandes telles que trash-put , trash-list etc.
Les noms sont assez longs – vous pouvez définir des alias de shell comme

 alias tp='trash-put' 

ou

 alias del='trash-put' 

puis utilisez del au lieu de rm pour supprimer des fichiers ou des répertoires de manière plus sûre.

Comme proposé dans la réponse ci-dessous, il est possible d’utiliser le nom d’alias rm , en remplaçant la commande rm actuelle par trash-put , mais il existe de nombreuses raisons de ne pas le faire; Certains d’entre eux sont:

  • La mise en œuvre de trash-put est beaucoup moins bien testée que celle de GNU coreutils dans Ubuntu, par exemple.
  • Les options de la rm par défaut ne sont pas toutes supscopes par trash-put
  • Quelqu’un d’autre utilisera le shell avec l’alias tôt ou tard et verra techniquement une commande rm très cassée.
  • Une syntaxe spéciale est nécessaire lorsque la vraie entreprise est requirejse
  • Généralement, ce n’est pas une bonne idée de jouer avec un outil très dangereux, au moins de risquer la confusion.

Ceci dit, voir la réponse de @enzotib dans Peut- on restaurer les fichiers / répertoires supprimés avec rm? sur la façon de configurer l’alias.

Il existe un cas particulier dans lequel vous pouvez récupérer un fichier supprimé – quand il est encore ouvert dans un programme. Vous devez juste savoir quel programme l’utilise.

J’ai enregistré cette réponse de Pasortingck sous Unix et Linux Stack Exchange, mais pas un lien vers l’original.

Récupérer un fichier supprimé si le fichier est toujours ouvert dans un programme.

Si le fichier est toujours ouvert, vous pouvez le récupérer en allant à / proc / PID / fd, où PID est le pid d’un programme dont le fichier est toujours ouvert. Ce répertoire contient tous les descripteurs de fichiers ouverts du programme, et vous pouvez y accéder comme des fichiers normaux. Vous pouvez donc copier le fichier hors de / proc. – Pasortingck 18 déc à 16h44 et – camh le 19 déc à 7h12 – Unix et Linux stackexchange