如何在Linux上列出文件的数据块?

据我所知,类Unix操作系统上的每个文件都有一个inode编号(可以用“ls -i”查看),每个inode是一个包含文件实际数据的磁盘块列表.

是否有Linux命令以文件名作为参数并打印出该文件的inode指向的磁盘块列表?

附:有问题的文件系统是ext3.

解决方法

您可以使用“debugfs”工具在命令行或interactivley上查看文件信息.
使用:
# debugfs /dev/<spartition>
# stat /path/to/file

要么

# debugfs -R "stat /path/to/file" /dev/<partition>

例如:

# debugfs -R "stat /etc/passwd"  /dev/sda5
Inode: 435914   Type: regular    Mode:  0644   Flags: 0x0
Generation: 979004472    Version: 0x00000000
User:     0   Group:     0   Size: 1577
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 8
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x4a2d6f78 -- Mon Jun  8 23:07:20 2009
atime: 0x4a2d6f79 -- Mon Jun  8 23:07:21 2009
mtime: 0x4a2d6f78 -- Mon Jun  8 23:07:20 2009
Size of extra inode fields: 4
BLOCKS:
(0):1767438
TOTAL: 1

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...