Seperti yang saya pahami, setiap file pada sistem operasi mirip Unix memiliki nomor inode (yang dapat dilihat dengan "ls -i"), dan setiap inode adalah daftar blok disk yang berisi data aktual suatu file.
Apakah ada perintah Linux yang menggunakan nama file sebagai argumennya dan mencetak daftar blok disk yang ditunjuk oleh inode file tersebut?
PS Filesystem yang dimaksud adalah ext3.
linux
unix
filesystems
ext3
mikrofon
sumber
sumber
File not found by ext2_lookup
. Jadi lebih baik menggunakan notasi inode untuk argumen stat. Gunakanls -i
untuk mendapatkan nomor inode file, lalu aktifkan debugfs dengan nomor itu di '<>' alih-alih / path / ke / file. Misalnya:# debugfs -R "stat <1234567>" /dev/sda2
path/to/file
tidak bekerja dalam semua kasus? Yang membingungkan bagi saya adalah bahwa melaluidebugfs ..... /dev/fs_blockdev
pemahaman saya hanya ada satu filesystem yang dipertimbangkan, dan semua file di dalam sistem ini dapat diakses baik melalui jalurnya atau melalui inode, apa yang ingin Anda ungkapkan?debugfs -R "stat /home/myuser/foo.txt" /dev/sda5
menghasilkan kesalahan. Tapi memohondebugfs -R "stat /path/on/rootfs" /dev/sda3
berhasil.sudo
, jika tidak, beberapa pesan tidak membantu akan ditampilkan.Lihatlah sintaks untuk "debugfs", dan secara khusus perintah "stat". Itu akan menampilkan daftar blok data yang digunakan oleh file. Anda dapat mengirimkan parameter ke "debugfs" dengan argumen "-f" untuk memanggilnya dari skrip.
sumber
Cara sederhana untuk mendapatkan daftar blok (tanpa harus membaca dari partisi seperti pada
debugfs
jawaban) adalah dengan menggunakanFIBMAP
ioctl. Saya tidak tahu perintah apa pun untuk melakukannya, tetapi sangat mudah untuk menulisnya; pencarian Google cepat memberi saya contoh penggunaan FIBMAP , yang melakukan apa yang Anda inginkan. Satu keuntungannya adalah ia akan bekerja pada sistem file apa pun yang mendukungbmap
operasi, bukan hanya ext3.Alternatif yang lebih baru (dan lebih efisien) adalah
FIEMAP
ioctl, yang juga dapat mengembalikan informasi terperinci tentang luasan (berguna untuk ext4).sumber
Saya tidak akan bekerja pada zfs, tetapi akan pada ext4, btrfs, (v) fat, dll
man 8 hdparm
:sumber
Setidaknya pada beberapa mesin linux ... "ls -s" mungkin memberikan apa yang Anda cari.
Sunting: saya salah, saya melihat bahwa Anda sedang mencari daftar blokir sendiri, bukan jumlah mereka.
sumber
e2fsck -b 32768 / dev / hda1 saya merasa Anda dapat mencoba ini atau jika Anda mencari lebih banyak docx pada saat yang sama Anda dapat memeriksa berikut
http://www.linux-tutorial.info/modules.php?name=MContent&pageid=97
sumber