GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je savoir où se trouve physiquement un fichier sur le disque (numéros de bloc) ?

Vous pouvez utiliser l'ioctl FIBMAP, comme illustré ici, ou utiliser 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

Vous pouvez utiliser debugfs pour cela :

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

Changez le disque dur/la partition en conséquence et assurez-vous que le disque est démonté. Vous obtiendrez une liste avec tous les blocs utilisés :

BLOCKS:
(0):1643532
TOTAL: 1

Ce fil peut vous donner un aperçu de l'algorithme de placement de fichiers ext4.

debugfs a un bmap fonction, qui semble donner les données que vous voulez. Vous devriez pouvoir lui donner des blocs consécutifs d'un fichier et obtenir les numéros de blocs physiques.


Linux
  1. Comment savoir si le disque est un SSD ou un disque dur sous Linux

  2. Comment puis-je créer un fichier dans chaque dossier ?

  3. Où se trouve le fichier d'en-tête <conio.h> sous Linux ? Pourquoi ne puis-je pas trouver <conio.h> ?

  4. Comment puis-je trouver le fichier le plus ancien dans une arborescence de répertoires

  5. En utilisant bash, comment puis-je connaître la moyenne, le maximum et le minimum d'une liste de nombres ?

Comment puis-je savoir où mon site Web est hébergé ?

Comment puis-je trouver toutes les extensions de fichiers distinctes dans une hiérarchie de dossiers ?

Comment puis-je trouver l'emplacement MySQL my.cnf

Comment trouver la source d'un signal POSIX

Comment puis-je ouvrir un fichier avec des numéros de ligne affichés à partir de la ligne de commande dans 'vi' ?

Comment puis-je savoir pourquoi mon php5-fpm n'a pas pu démarrer ?