Por accidente, utilicé rm
un archivo que no quería eliminar. ¿Hay alguna manera de recuperarlo en Linux?
linux
file-recovery
rm
HaiYuan Zhang
fuente
fuente
rm
es un comando "peligroso" de UNIX / Linux (leer$ man rm
). Úselo con extrema precaución . Dicho esto, es una forma rápida de eliminar archivos de los que está seguro. Los entornos de escritorio modernos de Linux y Unix proporcionan una solución de "bote de basura" , por lo que el usuario puede recuperar fácilmente archivos borrados accidentalmente.Respuestas:
Los siguientes son pasos genéricos para recuperar archivos de texto.
Primero use el comando wall para decirle al usuario que el sistema se está cayendo en un modo de usuario único:
Presione CTRL + D para enviar el mensaje.
Luego use el comando init 1 para llevar el sistema a un modo de usuario único:
Usando grep (forma UNIX tradicional) para recuperar archivos
Utilice la siguiente sintaxis grep:
O
Dónde,
Para recuperar el archivo de texto que comienza con la palabra "nixCraft" en / dev / sda1, puede intentar el siguiente comando:
Luego use vi para ver file.txt.
Este método SOLO es útil si el archivo eliminado es un archivo de texto. Si está utilizando el sistema de archivos ext2, pruebe el comando de recuperación.
Encontrado en http://www.cyberciti.biz/tips/linuxunix-recover-deleted-files.html
fuente
init 1
, elimine manualmente todos los demonios del sistema, exceptosshd
. También creo que en este punto debería volver a montar todos los sistemas de archivos RO y guardarlos en tmpfs (suponiendo que sus archivos temporales encajen en la memoria RAM) para evitar sobrescribir los archivos con los datos temporales. Por supuesto, tendrá que copiarlo en otro lugar más tarde, ya sea a un servidor remoto o volver a los sistemas de archivos locales después de volver a montarlos RW.dd
e intente encontrar el archivo dentro de él (usandogrep
, o un editor).Editar: a veces
ddrescue
funciona mejor quedd
.fuente
Si su sistema de archivos es ext3 , use ext3grep .
fuente
Testdisk tiene una opción de recuperación que debería funcionar con Linux.
Hay un tutorial para Linux . Tenga en cuenta que funciona para ext2 , ext3 y ext4 .
fuente
La única respuesta correcta es: restaurar su archivo desde la copia de seguridad. Todos deben tener una copia de seguridad. Para archivos realmente importantes, debe tener dos copias de seguridad. Usted no? Bueno, lástima, aquí hay una lección aprendida (Perdón por sonar duro, pero estoy en el almacenamiento de datos, y las personas no retroceden hasta que pierden algunos datos importantes, eso es un hecho. Entonces sí, pareces estúpido, pero así es casi todos los demás).
OK, no tienes respaldo. debe dejar de usar el sistema de archivos que contenía el archivo AHORA MISMO . Cualquier actividad de escritura definitivamente puede manipular los datos del archivo que pueden (solo pueden ) permanecer en el disco.
Si cometió el trágico error de usar solo una partición como sistema de archivos raíz y / home, eso significa que debe arrancar desde otro dispositivo. EMPRESA .
Si su archivo tiene algún formato común (archivo de Word, JPG, etc.), use Photorec . Photorec puede recuperar los formatos de archivo más comunes.
Puede probar el método "ext3 undelete" propuesto anteriormente, pero debe sentirse cómodo con la línea de comandos, comprender el funcionamiento interno básico de Linux, etc.
Si su archivo es de algún formato especial, mala suerte. Una vez escribí un programa Perl para escanear una unidad en busca de algunos archivos especiales, y funcionó bastante bien; pero necesitará saber algo de programación para hacerlo, y también estar bastante a gusto con Linux.
fuente
Lo hice hace un par de años. Mi enfoque fue directamente, sin tiempo que perder, desmontar la partición y luego
tener un archivo de copia de seguridad del estado exacto de la partición. Luego, puede volver a montar la partición y continuar con los negocios de la forma habitual mientras busca el archivo eliminado en la imagen creada. La imagen probablemente será MUY grande ya que necesita todo el espacio "vacío", por lo que podría ser un problema práctico almacenarla.
Luego fue solo para realizar búsquedas aburridas después de fragmentos de texto que esperaba estar en algún lugar de la sopa de contenido de partición. Por ejemplo, para encontrar archivos .tex, ejecuté
que imprimió un gran contexto alrededor de la frase "subsección" y guardó el resultado en un archivo para buscarlo manualmente. Imprimí un contexto tan grande, ya que me tomó tanto tiempo buscar la imagen que preferiría no hacerlo más veces de lo necesario.
Además, el comando
strings
fue útil para eliminar la basura binaria de la salida, pero si recuerdo correctamente, también eliminó todas las líneas nuevas, lo que podría ser un problema.Para encontrar archivos binarios de la misma manera, uno podría tener éxito en encontrar un encabezado característico o algo de cierto archivo, pero imagino que será una gran aventura.
Breves notas técnicas: existen dificultades técnicas con la recuperación de disco y Ext3 / 4. Es algo largo de explicar, pero brevemente (e inadecuadamente): Ext3 / 4 elimina los "marcadores" que le dicen al sistema operativo dónde se encuentran los archivos en el disco cuando los elimina. Los archivos no se eliminan, pero ya nadie sabe en qué parte del disco comienzan y terminan, y a veces incluso están fragmentados en varios lugares. Algunos otros sistemas de archivos simplemente establecen los estados de los archivos en "eliminados", pero mantienen los datos de ubicación. Luego, recuperar no es más difícil que mirar los punteros de archivo con este indicador (aún deberían estar disponibles si no se ha producido demasiada actividad), y luego esperar que su contenido no se haya sobrescrito.
¿Qué es lo mejor? Retórica, en mi opinión. La copia de seguridad frecuente es la respuesta a todos estos problemas. Datos importantes sin un sistema de respaldo automatizado es un accidente esperando a ocurrir, en mi humilde opinión.
Anécdota personal obligatoria: iba a eliminar
foo\ foo*
de~
. escribí, que lamentablemente, dado que
foo
aparentemente era un enlace simbólico y el único archivo que coincidía con esto, el shell se convirtió enPresioné Enter y me senté allí mirando el comando, que debería haber tomado un segundo como máximo. Después de un poco más de tiempo
rm
me preguntó si quería "eliminar el archivo protegido contra escritura 'algo'". Rápidamente sentí los escalofríos y presioné suavemente y muy controladoCtrl+c
. ~ La mitad de mi~
fue eliminada, pero logré recuperar todo el valor a través del grepping descrito anteriormente y algunas copias de seguridad más o menos actuales. Tenía algunos datos de medición personalmente muy valiosos (léase: mucho tiempo) y muy recientes en el disco que se perdieron, pero había hecho copias de seguridad cuádruples. Uno desapareció aquí, otro debido a la interrupción del sistema en la escuela, otro estaba corrupto y al principio no pude encontrar el cuarto, ya que por error lo había colocado en la carpeta incorrecta :-D. No harm -r
se atascó en un archivo protegido contra escritura, el cuarto se habría comido desde que esa carpeta se montó a través de sshfs en mi~
. Desde entonces tengo mucho más cuidado con ese tipo de cosas.fuente
Si es el rm estándar , espero que tenga una copia de seguridad. El procedimiento para recuperar un archivo eliminado sería diferente para cada sistema de archivos, si es que se puede hacer. Linux no tiene una "papelera de reciclaje" incorporada; una vez que eliminas un archivo, todo desaparece.
De cualquier forma que lo haga, querrá desconectar la computadora, tan pronto como sea posible, ya que continuar ejecutando la computadora (incluso para apagarla) provoca escrituras en el disco y aumenta la posibilidad de que algunos bloques que anteriormente ocupaban el archivo se sobrescribirá. Una vez que haya hecho eso, colóquelo en otra computadora, reinicie desde un CD en vivo (asegurándose de no montar la unidad a menos que lo monte como de solo lectura) o retire el disco duro y llévelo a un especialista en recuperación de datos.
fuente
Establezca sus expectativas bajas. Si se escribió algo sobre los datos 'eliminados', lo perderá.
He realizado una pequeña cantidad de recuperación y las mejores herramientas que encontré a menudo fueron diseñadas para ciertos formatos. Por ejemplo, 'photorec' fue genial cuando quería recuperar decenas de miles de archivos JPEG.
Recuva también me ha ayudado antes y podría ser su mejor opción. (Es gratis, no se deje engañar por pagar con sus anuncios)
Al final del día, si lo que perdió es importante, desconecte el disco y deje de escribir en él. Use cada pieza de software de recuperación que pueda encontrar hasta que recupere sus datos o deje de valer la pena. Si es realmente importante, envíelo a profesionales a un alto precio.
Si ha tenido suerte con una herramienta antes, vuelva a intentarlo ya que está familiarizado con ella. Al final del día, no deberían estar escribiendo en el disco, por lo que puede usar el software hasta que encuentre uno que funcione.
fuente
Aquí hay un gran documento para ti. Encontrará un montón de consejos prácticos allí.
Por cierto, hay dos grupos de personas:
Felicidades, acabas de ascender al grupo 2. ;-)
fuente
Si tiene una aplicación abierta que actualmente está leyendo el archivo, como VLC o LibreOffice, entonces esta excelente respuesta de L & U.SO me ayudó a salir de este lío. Aquí hay un método alternativo para hacer lo mismo.
La idea general es encontrar el enlace
/proc/PID/fd/DESCRIPTOR_NUMBER
y copiarlo nuevamente en su ubicación original. Useps aux | grep APP_NAME
para encontrar el PID y luegols -la /proc/PID/fd/
para encontrar el DESCRIPTOR_NUMBER adecuado.fuente
La respuesta "correcta" es asumir que no hay un método para recuperar de manera confiable, y en su lugar restaurar desde copias de seguridad o un sistema clonado o reinstalar.
TestDisk es una gran herramienta, y hay otras formas de poder recuperar algunos datos del disco físico dependiendo del sistema de archivos y la antigüedad de la eliminación, pero el tiempo y el dolor involucrados pueden ser demasiado grandes, así que MANTENGA LAS COPIAS DE SEGURIDAD (y también pruebe que son válidos y restaurables)!
fuente
Si no es sobrescrito por otros usuarios, entonces tienes suerte. Accidentalmente eliminé mi archivo fuente cpp y utilicé una herramienta llamada foremost , que me ayudó a restaurar los escombros cpp 60G del disco. Finalmente, recuperé mi archivo ensamblando esos escombros pieza por pieza. ¡Creo que escanea cierto patrón para un tipo de archivo específico y atraviesa todos los inodos en el disco para recuperar archivos! ¡Solo inténtalo!
fuente
Si accidentalmente ha eliminado el archivo de Linux, puede usar este comando:
en lugar de
search text
usted puede poner el nombre del archivo y puede especificar el directorio donde desea restaurar en lugar de/home
.fuente
Puedes probar este script. Funciona bien y está destinado a ser usado en lugar de rm y lo estoy usando ampliamente ahora.
https://github.com/nateshmbhat/safe-rm
Caracteristicas :
rm
fuente
Tuve el mismo problema la semana pasada y probé muchos programas, como debugfs, photorec, ext3grep y extundelete. ext3grep fue el mejor programa para recuperar archivos. El sintax es muy fácil:
o:
Este video muestra es un mini tutorial que puede ayudarlo.
fuente