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 graphiqueSi 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.
Il est possible d'utiliser la corbeille à partir de la ligne de commande, mais ce n'est pas configuré par défaut. Le package trash-cli
contient des outils de ligne de commande permettant d’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 il est proposé dans la réponse ci-dessous, il est possible d'utiliser le nom d'alias rm
, en remplaçant la commande rm
par trash-put
, mais il existe de nombreuses raisons de ne pas le faire; Certains d'entre eux sont:
trash-put
est beaucoup moins bien testée que rm
de 'GNU coreutils' dans Ubuntu, par exemple.rm
ne sont pas toutes prises en charge par trash-put
rm
très cassée.rm
est requisCela dit, voir réponse de @enzotib sur Les fichiers/répertoires supprimés avec rm peuvent-ils être restaurés? sur la manière de configurer l'alias.
Il existe un cas particulier dans lequel vous pouvez récupérer un fichier supprimé: il est encore ouvert dans certains programmes. Vous devez juste savoir quel programme l'utilise.
J'ai enregistré cette réponse de Patrick 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. - Patrick 18 déc à 04h44 et - camh 19 déc à 7h12 - Unix et Linux stackexchange