如何在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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...