Sobrescribí /dev/sda con el comando mv

Sobrescribí /dev/sda con el comando mv

Cometí un error al escribir mi comando demasiado rápido y lo "sobrescribí" (?) /dev/sdaen lugar de mover un archivo en /devel 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 sourcecambiarle el nombre. Con ls -i -1puedo comprobar que sourcemantiene su número de inodo incluso si targetexistí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/sr0se comporta como /dev/urandom.

La conclusión es:su /dev/sdafue 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, 0fragmento 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/sda1se pasa a un mountcomando, no a /dev/sda. Esto se debe a que sda1corresponde a undividirmientras que sdacorresponde 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).

información relacionada