7 votes

J'ai accidentellement tout effacé d'un répertoire sur mon Macbook en utilisant le terminal.

J'ai accidentellement fait un rm -rf * sur un mauvais répertoire sur mon terminal macbook. Il semble que le rm fonctionne comme sur un système Linux, où elle est irréversible.

Mais j'ai sauvegardé mon Mac sur mon disque dur externe pour pouvoir le restaurer avec Time Machine, mais je voulais savoir si quelqu'un connaissait un autre moyen, de préférence plus rapide, de récupérer tous mes fichiers dans le répertoire où j'ai utilisé la commande ci-dessus ?

18voto

nohillside Points 82672

La restauration à partir de la sauvegarde est la meilleure solution, il n'y a pas de commande magique "undo rm -rf".

12voto

Kerry Jones Points 145

Vous n'avez pas besoin de restaurer toute votre machine. Vous n'avez besoin de restaurer qu'un seul dossier. Time machine est beaucoup plus rapide que je ne le pensais. C'est un gros problème pour moi, car j'ai été formé à ne jamais me reposer sur la sauvegarde.

Il suffit de lancer Time Machine et de copier le dossier, dans lequel vous avez supprimé tout le contenu, à l'endroit où vous l'aviez. J'ai dû remonter d'un niveau dans l'affichage de TimeMachine avant que le bouton de restauration ne devienne actif.

Bien sûr, il se peut que vous manquiez les toutes dernières modifications.

enter image description here

Choisissez le dossier que vous voulez restaurer. J'ai choisi mon dossier de numéros.

enter image description here

résultat : enter image description here

PS : Je ne recommande pas de supprimer des répertoires depuis le terminal. C'est plus sûr depuis le finder. J'ai ajouté les alias suivants à mon profil bash.

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

Exécutez ces commandes et voyez comment elles se passent. Lorsque vous supprimez tous les fichiers d'un répertoire avec la commande rm, il vous sera demandé d'approuver chaque fichier à supprimer. Une fois que vous avez établi que rm supprime les bons fichiers, utilisez control + c pour quitter. Répétez ensuite l'opération avec une barre oblique inversée \ devant la commande rm pour supprimer la version alias de la commande et passer à la commande rm normale. A titre d'avertissement, les alias ne sont pas transférés aux commandes avec une procédure sudo. Soyez prudent.

Dans mon profil de compte, j'ai amélioré la commande cd pour imprimer le répertoire dans lequel j'ai cliqué. Cela réduit légèrement le risque que je sois confus quant au répertoire dans lequel je me trouve.

# Print current directory after change directory command cd
alias cd='cdir'

# Define a command to change a directory and list the resulting directory
function cdir ()

{

  \cd "$*"
  pwd

}

8voto

Je faisais souvent la même erreur avec rm -rf à mon dernier emploi. Une technique que j'ai apprise d'un autre ingénieur était, au lieu de naviguer dans le répertoire que vous voulez vider, de naviguer dans le répertoire parent, et d'utiliser la commande rm -rf directory-to-clear/* à la place. Ce n'est pas non plus infaillible, mais vous avez beaucoup moins de chances de faire la même erreur.

2voto

DanRan Points 549

Copier à partir d'une sauvegarde est bien plus efficace que tout. Si vous voulez emprunter la voie la plus difficile, arrêtez immédiatement d'utiliser votre système d'exploitation et envisagez d'utiliser testdisk sur celui-ci à partir d'une installation d'OS externe.

Pour sauvegarder à partir de votre disque Time Machine, procédez comme suit :

Branchez votre sauvegarde Time Machine, puis ouvrez le terminal.

Ouvrez deux fenêtres de recherche. Dans l'une des fenêtres, naviguez jusqu'au répertoire supprimé sur votre disque dur local. Dans l'autre fenêtre du finder, naviguez jusqu'au même répertoire (votre copie de sauvegarde) sur le disque dur de Time Machine.

Retournez au terminal et tapez : cp -R puis allez dans le dossier de votre répertoire Time Machine qui est votre copie de sauvegarde, et faites-le glisser vers le terminal. Par exemple, si vous avez fait rm -rf* ~/Downloads/ o rm -rf* /Users/Myhomefolder/Downloads/

votre terminal devrait maintenant ressembler à ceci :

cp -R /Volumes/TimeMachineHD/Datedfolderyouwanttorevertto/Users/Myhomefolder/Downloads

puis entrez /* et un espace.

Ensuite, faites glisser le dossier supprimé à l'origine dans votre lecteur local à l'aide du finder, et faites glisser ce dossier vers le terminal.

votre terminal devrait maintenant ressembler à ceci :

cp -R /Volumes/TimeMachineHD/Datedfolderyouwanttorevertto/Users/Myhomefolder/Downloads/* /Users/Myhomefoldername/Downloads

puis appuyez sur backspace pour aligner votre curseur à côté de la dernière lettre du terminal, et tapez / .

La commande finale dans votre terminal devrait ressembler à ceci :

cp -R /Volumes/TimeMachineHD/Datedfolderyouwanttorevertto/Users/Myhomefolder/Downloads/* /Users/Myhomefoldername/Downloads/

Si vous avez initialement supprimé un dossier protégé dans Root, assurez-vous de saisir sudo dans le terminal avant d'entrer la commande.

Assurez-vous que vous avez la commande et les répertoires corrects, puis appuyez sur Entrée pour exécuter la commande. La sauvegarde va maintenant être copiée sur votre disque dur.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X