GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistím, kde se soubor fyzicky nachází na disku (čísla bloků)?

Můžete použít ioctl FIBMAP, jak je ukázáno zde, nebo pomocí 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

Můžete použít debugfs pro toto:

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

Podle toho vyměňte pevný disk/disk oddílu a ujistěte se, že je disk odpojený. Získáte seznam všech použitých bloků:

BLOCKS:
(0):1643532
TOTAL: 1

Toto vlákno vám může poskytnout náhled na algoritmus umístění souboru ext4.

debugfsbmap funkce, která zdánlivě poskytuje požadovaná data. Měli byste být schopni přidělit po sobě jdoucí bloky souboru a získat čísla fyzických bloků.


Linux
  1. Jak zjistit umístění aktuálně používaného konfiguračního souboru MySQL v linuxu

  2. Kde najdu soubor buildinfo.sh?

  3. Jak mohu najít nejstarší soubor ve stromu adresářů

  1. Jak zjistit, zda je disk SSD nebo HDD v Linuxu

  2. Jak zobrazím seznam datových bloků souboru v systému Linux?

  3. Jak zjistit zdroj signálu POSIX

  1. Jak zjistit, kde je koš Firefoxu?

  2. Jak najdu všechny odlišné přípony souborů v hierarchii složek?

  3. Jak mohu vytvořit soubor v každé složce?