Primero: deje de usar esta unidad ahora . Está bien volver a montarlo de solo lectura, solo asegúrese de no escribir más. Sí, has borrado las fotos. Ellos pueden ser recuperables, pero cuanto más se siguen utilizando esa unidad, menos posibilidades hay que recuperar nada.
Su comando se ejecutó mv pic1.jpg pictures
, mv pic2.jpg pictures
etc. Cada invocación de mv
sobrescribió el archivo actualmente nombrado pictures
por otra imagen.
Mover un archivo (dentro del mismo sistema de archivos) significa separarlo del directorio que lo contiene y adjuntarlo al directorio de destino con el nuevo nombre. Por lo tanto, este comando no modificó ni eliminó los datos del archivo, solo las entradas del directorio de las imágenes que han desaparecido.
Puede ejecutar una herramienta que recorra el espacio libre de su sistema de archivos y busque cosas que parezcan archivos JPEG. Afortunadamente, cada archivo jpeg comienza con un encabezado reconocible. Las herramientas que buscan contenido eliminado se denominan herramientas de tallado . Hay algunos en Ubuntu, incluyendo recoveryjpeg , primero , testdisk , ... Si las fotos están en una partición doméstica separada o en una unidad externa, instale uno o más de esos paquetes y apúntelos a la partición con las imágenes eliminadas.
Si las fotos están en el disco de su sistema, debe dejar de usar su sistema de inmediato. Use otra computadora para descargar un CD o USB en vivo y arranque desde allí. Cualquiera de los CD en vivo que incluyen testdisk debería ajustarse a la factura, pero algunos son más fáciles de usar que otros. System Rescue CD es un buen CD de rescate de sistema de uso general. Ubuntu Rescue Remix puede ser más familiar para un usuario de Ubuntu.
Para referencia futura, adquiera el hábito de usar a mv -i
menos que pretenda sobrescribir archivos. Es posible que ya tenga un alias para mv
, pero eso solo se activa cuando escribe mv
directamente en la línea de comando, no cuando mv
es invocado por un script o por el find
comando.
$ : >pictures
$ mv -i foo.jpg pictures
mv: overwrite `pictures'?
Además, si coloca un /
después de un nombre que se supone que es el nombre de un directorio, recibirá un error si el directorio no existe o si hay un archivo con ese nombre que no es un directorio.
$ : >pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
$ rm pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
Para evitar las trampas de find
, puede utilizar la función de recorrido recursivo de directorio recursivo de bash. Primero debe activarlo con el comando shopt -s globstar
(puede agregar esta línea a su ~/.bashrc
. Luego:
mv **/*.jpg pictures/
(Tenga en cuenta que en bash, **/
también atraviesa enlaces simbólicos a directorios, y no hay forma de desactivarlo. Si desea un recorrido recursivo que no mire a través de enlaces simbólicos a directorios, use zsh o find).