GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo averiguar dónde se encuentra físicamente un archivo en el disco (números de bloque)?

Puede usar FIBMAP ioctl, como se muestra aquí, o usar hdparm:

/ $ sudo /sbin/hdparm --fibmap /etc/X11/xorg.conf

/etc/X11/xorg.conf:
 filesystem blocksize 4096, begins at LBA 0; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0    1579088    1579095          8

Podrías usar debugfs por esto:

debugfs -R "stat ~/myfile" /dev/hda1

Cambie el disco duro/partición según corresponda y asegúrese de que el disco esté desmontado. Obtendrá una lista con todos los bloques utilizados:

BLOCKS:
(0):1643532
TOTAL: 1

Este hilo puede darle una idea del algoritmo de colocación de archivos ext4.

debugfs tiene un bmap función, que parece dar los datos que desea. Debería poder darle bloques consecutivos de un archivo y obtener los números de bloque físicos.


Linux
  1. ¿Cómo puedo encontrar todas las extensiones de archivo distintas en una jerarquía de carpetas?

  2. ¿Cómo puedo crear un archivo en cada carpeta?

  3. ¿Dónde está el archivo de encabezado <conio.h> en Linux? ¿Por qué no puedo encontrar <conio.h>?

  4. ¿Cómo puedo editar todos los archivos devueltos por find in vi en Linux?

  5. ¿Cómo encontrar el administrador de archivos predeterminado?

Cómo encontrar si el disco es SSD o HDD en Linux

¿Cómo saber dónde está la papelera de Firefox?

¿Cómo puedo saber dónde está alojado mi sitio web?

¿Cómo puedo averiguar el tipo MIME de un archivo (Content-Type)?

¿Cómo encuentro la ubicación MySQL my.cnf?

¿Cómo puedo abrir un archivo con números de línea que se muestran desde la línea de comando en 'vi'?