2011-05-05 18:30:54 +0000 2011-05-05 18:30:54 +0000
116
116

Annuler une commande "rm -rf ~" ?

J'avais un dossier dont je ne voulais pas qu'il s'appelle “~”, alors en ligne de commande, j'ai tapé

rm -rf ~

et j'ai accidentellement supprimé mon dossier personnel (puisque ~ est devenu /home/username). Y a-t-il un moyen de revenir en arrière ou dois-je essentiellement recréer le compte à partir de zéro ?

Réponses (12)

148
148
148
2011-05-05 18:34:16 +0000

En général, il n'y a pas de retour facile.

Vous pouvez restaurer à partir de votre sauvegarde quotidienne.

67
67
67
2011-05-06 02:20:40 +0000

D'autres (tels que @RiMMER , @Adam , et @James T ) ont mentionné que, pour la plupart des systèmes de fichiers, il est possible de récupérer la plupart ou la totalité de vos données (peut-être sans les noms de fichiers), parce que les données ne sont pas réellement mises à zéro, mais seulement supprimées du tableau des fichiers. Cela n'est pas seulement vrai pour Linux - il en va de même pour Windows et Mac.

Cependant, personne n'a mentionné la chose la plus importante - Eteignez votre ordinateur. MAINTENANT.

De nombreux programmes - y compris le navigateur Internet que vous utilisez en ce moment - mettent les données en cache sur le disque dur, et presque tout ce que vous faites peut entraîner le redimensionnement de votre ordinateur ou l'écriture dans le fichier d'échange. Ces deux types de programmes écrivent dans des secteurs libres du disque dur, ce qui risque d'écraser vos précieuses données.

Ainsi, éteignez votre ordinateur, retirez le disque dur et mettez-le dans un autre ordinateur. Montez le disque dur en lecture seule, et récupérez les fichiers sur un disque dur séparé. Lorsque vous avez récupéré tout ce qui peut vous intéresser - et uniquement alors - réécrivez les fichiers sur le disque d'origine.

13
13
13
2011-05-06 02:41:43 +0000

Je crois que chaque utilisateur de linux doit, à un moment donné, apprendre cette douloureuse leçon de première main avant de réellement apprendre l'importance des sauvegardes, ainsi que de prêter attention aux détails et d'être prudent.

Par exemple, si vous supprimez des fichiers d'apparence bizarre, vous pouvez d'abord exécuter des commandes sur ce fichier bizarre qui n'ont pas d'effets secondaires et qui n'apportent pas de modifications à vos données. Par exemple, si vous aviez exécuté

cd ~

avant d'essayer de supprimer le dossier, vous auriez vu qu'il changerait plutôt de répertoire pour votre dossier d'origine, et non le dossier ~. Une fois que vous avez suivi suffisamment d'étapes de dépannage pour apprendre la véritable commande, vous devez placer correctement cd dans le dossier ~, puis vous pouvez appuyer sur la touche fléchée vers le haut pour extraire la dernière commande de l'historique et changer cd en rm et alors seulement essayer de supprimer le dossier.

Je vous suggère de prendre des mesures comme celle-ci avant d'effectuer toute action qui soit permanente. Ce n'est ni permanent ni infaillible, mais vous avez de bien meilleures chances d'éviter ces moments d'oups si vous faites preuve de ce degré de précaution lorsque vous effectuez des actions qui ont des effets secondaires.

7
7
7
2011-05-05 19:00:15 +0000

Si vous utilisez le système de fichiers ext3, alors ext3grep est votre nouveau meilleur ami. Un bon tutoriel (parmi beaucoup d'autres) sur l'utilisation d'ext3grep peut être trouvé ici .

6
6
6
2011-05-05 18:49:12 +0000

Vous pouvez essayer d'utiliser testdisk pour annuler la suppression de fichiers individuels . Apparemment, cela ne fonctionne que sur ext2 et NTFS (mais cela vaut quand même la peine d'essayer).

Si vous avez ext3 ou ext4, vous pouvez récupérer fichier connu s en utilisant photorec , qui finira probablement par récupérer plus que vous ne le souhaitez. Photorec récupère les fichiers sans les informations sur le nom du fichier, ce qui peut être fastidieux à parcourir.

4
4
4
2011-05-06 14:31:40 +0000

Si vous disposez d'un disque dur externe suffisamment grand, vous avez une autre option peut-être la plus sûre. Vous aurez besoin de suffisamment d'espace pour stocker toute la partition de la maison, y compris l'espace libre.

Démarrez à partir d'un CD et ne montez pas du tout le disque dur de la maison. Montez le disque externe. dd la partition home drive dans un fichier sur le disque externe. montez le fichier comme un périphérique de bouclage faites votre travail de suppression sur cette image, en sachant que vous ne pouvez pas endommager votre système de fichiers d'origine. Selon le système de fichiers, il peut y avoir beaucoup de choses à essayer, dont certaines sont potentiellement destructrices.

Cela m'a sauvé une fois avec une version bêta de Reiser4 alors que je ne savais pas ce qu'il ferait même si je le montais en lecture seule. J'ai lu quelque part qu'à l'époque, les écritures de journal étaient encore possibles.

C'est aussi une bonne technique pour sauvegarder les données d'un disque mourant.

2
2
2
2011-05-05 18:46:33 +0000

Il existe des techniques pour récupérer des fichiers en inspectant les inodes qui n'ont pas été recyclés. Plus vous écrivez de données dans le système de fichiers après la suppression, moins vous avez de chances de récupérer vos données. La meilleure stratégie pour récupérer des données après une suppression accidentelle est de les restaurer à partir d'une sauvegarde.

2
2
2
2011-05-07 18:27:57 +0000

Je suis désolé pour vos données. Tout le monde a déjà expliqué comment régler votre problème de données, mais voici quelques informations sur la manière de le faire la prochaine fois que vous verrez un dossier appelé ~. Trouvez la personne qui l'a créé et assurez-vous qu'elle ne le refasse plus jamais. 2. N'utilisez pas -rf ou d'autres arguments puissants pour faire la suppression. Au lieu de cela, allez-y doucement et assurez-vous que vous pouvez voir ce qui se passe. Il est possible d'entrer dans le tilde sans qu'il ne s'étende à votre répertoire d'origine en l'échappant dans le shell. En théorie, vous pourriez rm -rI \~, mais vous pouvez aller plus loin. 1. D'abord, cd \~ pour entrer dans ce dossier, peut-être même utiliser pwd pour vérifier que vous y êtes bien. Dix, enlevez son contenu pendant que vous y êtes. Encore une fois, faites attention, mais nettoyez le dossier avec rf -rI * et si vous avez besoin d'obtenir .* aussi. 2. Maintenant, remontez avec cd .. et supprimez le répertoire avec rmdir \~.

2
2
2
2011-05-06 05:30:57 +0000
alias rm="rm -i"

En supposant que vous utilisiez le shell Bash (mettez ceci dans votre fichier .bashrc pour qu'il persiste dans les nouveaux shells que vous ouvrez).

Cela devrait conduire à ce que rm vous demande de confirmer ce que vous voulez supprimer, ce qui est agréable surtout lorsque vous faites -rf, mais il va aussi étendre ‘~’ au chemin complet de votre répertoire d'origine dans l'invite, ce qui devrait vous donner un indice que vous ne supprimez pas un fichier ‘~’ mais en fait votre répertoire d'origine.

$ rm -rf ~
rm: examine files in directory /nas/users/u12345/unix (yes/no)? n

Ceci n'est pas techniquement une réponse à votre question, mais pourrait vous aider à éviter un tel problème à l'avenir.

EDIT : Certaines personnes peuvent vous décourager d'utiliser cette technique car elle vous rend moins prudent avec la commande “rm”. D'après mon expérience, c'est loin d'être la vérité. En réalité, l'effet de l'alias est de vous décourager d'utiliser “rm -rf” - comme vous le savez, il en résultera de nombreuses invites auxquelles vous ne voudrez pas répondre - et afin d'obtenir un “rm -rf” sans invite, vous devez délibérément faire référence à la commande rm en tant que /bin/rm (ou autre). Cela conduit à une utilisation beaucoup plus consciente et délibérée de la commande “rm” en général - car vous devez toujours faire précéder l'utilisation de rm d'un choix mental de “rm ou /bin/rm” - à la fois sur votre serveur et sur tout autre serveur auquel vous êtes connecté. Et un monde où tout le monde pense avant d'utiliser rm serait plus sûr en effet !

1
1
1
2011-05-06 07:04:37 +0000

Je viens de faire un cd .snapshot et de restaurer les fichiers. Mais, je fais cela au travail et je n'ai aucune idée de l'origine du répertoire .snapshot. J'ai pensé que c'était peut-être une fonctionnalité de Linux.

1
1
1
2018-06-10 04:22:55 +0000

Recovery Tools - Command Line :

*Recovery Tools - Gui : *

*Infos : *

Selon mon expérience personnelle, je récupère mes données en utilisant “UFS Explorer” et photorec

(1) = Pas open source, pas gratuit

(2) = Pas open source, gratuit

(3) = Open source et gratuit

(4) = Avoir le support ntfs

(5) = Avoir la fonction de structure de répertoire

-3
-3
-3
2011-05-06 00:07:52 +0000

rm est éternel.

Bien que cela ne vous aide pas maintenant, vous pourriez à l'avenir ne pas utiliser rm ou pour vraiment vous forcer, ajouter un script trouvé plus tôt dans votre chemin d'accès et nommé rm qui déplace les fichiers vers un dossier de la corbeille que vous nettoyez une autre fois (vous permettant de faire des erreurs et de ne pas être SOL).