Accidentalmente eliminé un archivo ejecutando:
rm -rf ./Desktop/myScript.sh
Creo que es posible recuperar el archivo, porque el rm
comando se elimina temporalmente. ¿Cómo puedo recuperar el archivo eliminado en Mac OSX?
shell
shell-script
data-recovery
cat_minhv0
fuente
fuente
Respuestas:
MacOS es un sistema operativo Unix y
rm
significa "adiós". La interfaz GUI le permite mover un archivo a la papelera (que luego puede recuperar), pero eso no fue lo que hizo. Si tiene una copia de seguridad (p. Ej., Tiene Time Machine ejecutándose), entonces está guardado.Aclaración
Estrictamente hablando (como señala @ire_and_curses) a
rm
simplemente elimina la entrada del directorio para el archivo y deja intactos los bloques de disco que usó. Si pudiera detener el sistema de archivos en el que se encontraba el archivo, existen métodos avanzados mediante los cuales puede intentar volver a descubrir el contenido de esos bloques. También hay algunas herramientas de recuperación que se pueden comprar para recuperar la pérdida. El problema central es que nada más reutiliza ninguno de los bloques de disco representados por su archivo.MacOS también tiene un comando seguro de eliminación (
srm
) que sobrescribe un archivo antes deunlink
editarlo, lo que lo hace irrecuperable. Uso elunlink
término ya que esta es la llamada del sistema subyacente asociada con elrm
comando de un shell . Esto prepara el escenario para la siguiente parte de esta discusión, a continuación.Nota al margen
[Debería apresurarme a agregar que incluso si sobrescribe un disco varias veces, hay formas de leer lo que se escribió una docena o más veces antes. Para desinfectar adecuadamente un disco para su eliminación, realmente se requiere un baño de ácido, un gran martillo y una trituradora. ]
unlink
Si ingiere un archivo, disminuye el número de enlaces de inodo del archivo. Si este valor llega a cero, el archivo se elimina del directorio del sistema de archivos y sus bloques de disco se liberan para su reutilización. Esto solo sucede cuando ningún proceso tiene el archivo abierto. A menudo es confuso para los administradores descubrir que un sistema de archivos está utilizando una gran cantidad de espacio que no puede explicarse por la simple suma de bloques de disco (con algo parecidodu
). La razón más frecuente es que se ha eliminado un archivo abierto, por lo que ya no está representado en su directorio. La razón es que los bloques de disco permanecen en uso hasta que finaliza el último proceso que utiliza el archivo.Abrir un archivo e inmediatamente
unlink
usarlo es en realidad una práctica común para crear archivos seguros y temporales. Herramientas comolsof
pueden exponer estos archivos invisibles si busca archivos con un recuento de enlaces (NLINK) de cero.En Unix y Linux (de los cuales MacOS es un Unix de marca),
rm
sigue la filosofía de Unix de "hacerlo" sin fanfarria si es posible. Es decir, si tiene los permisos para eliminar un archivo (es decir, su directorio permite la escritura), entoncesrm
hace exactamente lo que le pide. Es posiblerm='rm -i'
que desee crear un alias de shell que le solicite confirmación antes de realizar la operación. Usando el-f
interruptor conrm
anulaciones que si es necesario. Un aliasrm
es más útil cuandoglob
elimina eliminacionesrm *.log
. Es decir, tiene la opción de omitir un archivo en la lista.fuente
Dependiendo de su contenido, pero puede usar diferentes softwares de terceros para hacer eso, por ejemplo:
y muchos más.
Puede encontrar más aplicaciones escribiendo 'recuperación de datos' en App Store.
La forma más avanzada es iniciar su OSX en modo de recuperación (o desmontar su partición si puede) y buscarla manualmente (si recuerda algún texto específico de su script).
Algun ejemplo:
fuente