
Cometí un error al escribir mi comando demasiado rápido y lo "sobrescribí" (?) /dev/sda
en lugar de mover un archivo en /dev
el directorio. ¿Cómo puedo recuperarlo?
¿Y qué es exactamente /dev/sda
? ¿Es el directorio donde está montado el disco duro/SSD?
Respuesta1
Cuando lo hago (con archivos normales):
echo 1 > source
echo 2 > target
cp -l target target2
mv source target
cat target2
entonces lo entiendo 2
. Esto significa que no se escribe nada en target
, creo que simplemente se desvincula antes de source
cambiarle el nombre. Con ls -i -1
puedo comprobar que source
mantiene su número de inodo incluso si target
existía antes.
Otra prueba es
mv /dev/urandom /dev/sr0
No envía datos a mi unidad óptica. En cambio, después de eso /dev/sr0
se comporta como /dev/urandom
.
La conclusión es:su /dev/sda
fue reemplazada por alguna otra "entrada" (que también perdió su nombre original). Reiniciar solucionará este problema, a menos que su sistema sea antiguo (o inusual) y mantenga estos archivos de dispositivo estáticos.
¿Y qué es exactamente
/dev/sda
?
Es un archivo especial que (normalmente) corresponde a su disco duro u otro almacenamiento. Unix identifica dichos recursos mediante un número mayor y un número menor. Generalmente, el número mayor identifica al controlador del dispositivo y el número menor identifica un dispositivo en particular (posiblemente entre muchos) que controla el controlador. Para ver estos números prueba ls -l /dev/sda
. Mi salida es:
brw-rw---- 1 root disk 8, 0 Jul 8 00:48 /dev/sda
Este 8, 0
fragmento es una <major>, <minor>
tupla aquí.
Yo escribí esa/dev/sda
generalmentecorresponde a su HDD porque en su caso (después de mv
) ahora tiene algo más bajo este nombre.
¿Es el directorio donde está montado el disco duro/SSD?
No. Cuando lo montas el comando es como
mount /dev/sda /a/directory/to/mount/to/
Entonces estas son dos cosas diferentes.
(Tenga en cuenta que generalmente /dev/sda1
se pasa a un mount
comando, no a /dev/sda
. Esto se debe a que sda1
corresponde a undividirmientras que sda
corresponde a ladisco duro completo. Los sistemas de archivos generalmente viven dentro de particiones, pero es posible tener uno en un dispositivo donde no hay particiones, por lo que puede ocurrir el comando anterior. Comparar:Usos de la configuración de disco de partición única).