J'ai accidentellement supprimé un fichier en exécutant:
rm -rf ./Desktop/myScript.sh
Je pense qu'il est possible de récupérer le fichier, car la rm
commande supprime temporairement. Comment récupérer le fichier supprimé sur Mac OSX?
shell
shell-script
data-recovery
cat_minhv0
la source
la source
Réponses:
MacOS est un système d'exploitation Unix et
rm
signifie «au revoir». L'interface graphique vous permet de déplacer un fichier vers la corbeille (que vous pouvez ensuite récupérer) mais ce n'est pas ce que vous avez fait. Si vous avez une sauvegarde (par exemple, vous avez Time Machine en cours d'exécution), vous êtes enregistré.Clarification
Strictement parlant (comme le souligne @ire_and_curses), a
rm
supprime simplement l'entrée de répertoire du fichier tout en laissant intacts les blocs de disque qu'il a utilisés. Si vous pouviez suspendre le système de fichiers dans lequel se trouvait le fichier, il existe des méthodes avancées par lesquelles vous pouvez essayer de redécouvrir le contenu de ces blocs. Il existe également des outils de récupération qui peuvent être achetés pour récupérer la perte. Le problème central est que rien d'autre ne réutilise les blocs de disque représentés par votre fichier.Le MacOS dispose également d'une commande de suppression sécurisée (
srm
) qui écrase un fichier avant qu'il ne soitunlink
édité, le rendant irrécupérable. J'utilise leunlink
terme car il s'agit de l'appel système sous-jacent associé à larm
commande d' un shell . Cela prépare le terrain pour la prochaine partie de cette discussion, ci-dessous.Sidenote
[Je devrais m'empresser d'ajouter que même si vous écrasez un disque plusieurs fois, il existe des moyens de lire ce qui a été écrit une douzaine de fois auparavant. Pour désinfecter correctement un disque à éliminer, il faut vraiment un bain d'acide, un gros marteau et un broyeur. ]
unlink
ing un fichier diminue le nombre de liens inode du fichier. Si cette valeur atteint zéro, le fichier est supprimé du répertoire du système de fichiers et ses blocs de disque libérés pour une réutilisation. Cela se produit uniquement lorsque aucun processus n'a ouvert le fichier. Il est souvent déroutant pour les administrateurs de constater qu'un système de fichiers utilise de très grandes quantités d'espace qui ne peuvent pas être prises en compte par la simple sommation de blocs de disque (avec quelque chose commedu
). Le plus souvent, la raison en est qu'un fichier ouvert a été supprimé, de sorte qu'il n'est plus représenté dans son répertoire. La raison en est que les blocs de disques restent inutilisés jusqu'à la fin du dernier processus utilisant le fichier.L'ouverture d'un fichier et
unlink
sa création immédiate sont en fait une pratique courante pour créer des fichiers temporaires sécurisés. Des outils commelsof
peuvent exposer ces fichiers autrement invisibles si vous recherchez des fichiers avec un nombre de liens (NLINK) de zéro.Sous Unix et Linux (dont MacOS est un Unix de marque), an
rm
suit la philosophie Unix du "do-it" sans fanfare si possible. Autrement dit, si vous avez les autorisations pour supprimer un fichier (c'est-à-dire que votre répertoire autorise l'écriture) fait alorsrm
exactement ce que vous demandez. Vous voudrez peut-être créer un alias de shellrm='rm -i'
qui vous demandera de confirmer avant d'effectuer l'opération. Utiliser le-f
commutateur avec desrm
remplacements si nécessaire. Un aliasrm
est plus utile lorsque vousglob
supprimez commerm *.log
. Autrement dit, vous avez la possibilité de sauter un fichier dans la liste.la source
En fonction de votre contenu, mais vous pouvez utiliser différents logiciels tiers pour ce faire, par exemple:
et beaucoup plus.
Vous pouvez trouver plus d'applications en tapant «récupération de données» dans l'App Store.
Un moyen plus avancé consiste à démarrer votre OSX en mode de récupération (ou à démonter votre partition si vous le pouvez) et à la rechercher manuellement (si vous vous souvenez d'un texte spécifique de votre script).
Un exemple:
la source