GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich herausfinden, wo sich eine Datei physisch auf der Festplatte befindet (Blocknummern)?

Sie können das FIBMAP-ioctl verwenden, wie hier beispielhaft gezeigt, oder hdparm:

verwenden
/ $ 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

Sie könnten debugfs verwenden dazu:

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

Ändern Sie die Festplatte/Partition entsprechend und vergewissern Sie sich, dass das Laufwerk ausgehängt ist. Sie erhalten eine Liste mit allen verwendeten Blöcken:

BLOCKS:
(0):1643532
TOTAL: 1

Dieser Thread kann Ihnen einen Einblick in den Algorithmus zur Platzierung von ext4-Dateien geben.

debugfs hat einen bmap Funktion, die die gewünschten Daten zu liefern scheint. Sie sollten in der Lage sein, ihm aufeinanderfolgende Blöcke einer Datei zu geben und die physischen Blocknummern zu erhalten.


Linux
  1. Wie finde ich alle unterschiedlichen Dateierweiterungen in einer Ordnerhierarchie?

  2. Wo finde ich die buildinfo.sh-Datei?

  3. Wie kann ich in jedem Ordner eine Datei erstellen?

  4. Wo ist die Header-Datei <conio.h> unter Linux? Warum kann ich <conio.h> nicht finden?

  5. Wie kann ich alle Dateien bearbeiten, die von find in vi in ​​Linux zurückgegeben werden?

Wie finde ich heraus, wo meine Website gehostet wird?

Wie finde ich den MIME-Typ (Content-Type) einer Datei heraus?

Wie finde ich den my.cnf-Speicherort von MySQL?

Wie finde ich heraus, welche Festplatten im System sind?

Wie kann ich eine Datei mit Zeilennummern öffnen, die von der Befehlszeile in 'vi' angezeigt werden?

Wie kann ich herausfinden, warum mein php5-fpm nicht gestartet werden konnte?