linux如何查看文件的元数据信息

在linux系统中如何查看文件的元数据信息,比如文件的inode编号、 文件的atime(Access Time)、mtime(Modify Time)、ctime(Change Time)、文件的硬链接数量、文件是普通文件还是目录还是符号链接等。

1、可以使用stat命令来查看,如:
stat test.new
其中,
Size:表示文件大小。
Blocks:文件占用的磁盘块数。
IO Block:linux系统默认的IO分块的大小,磁盘的读写是以块为单位的,那这个块大小是多少呢,通过这个参数可以查看到。
regular file:表示该文件是一个普通文件;如果是是一个目录的话,那么这里显示的将是directory;如果是符号链接(即软链接)的话,那么这里显示的将是symbolic link,表示这是个软链接。
Inode:inode是index node的简称,即索引节点的意思,表示文件的索引节点的编号。
Links:指向该索引节点的硬链接数,注意,这里表示的是硬链接数,不包含软链接数;
其实懂得其中原理的话,也很好理解,因为一个文件的软链接是不会直接与该文件(例如文件A)的inode建立映射关系的,创建一个软链接的话,其实会创建一个新文件(例如文件B),它会对应一个新的inode,然后这个inode里存储着这个软链接(B)所指向的文件(A)的路径,linux文件系统访问软链接(B)时会找到其inode节点里存储的路径(文件A的路径),即找到将要访问的文件名(A),然后再通过文件名找到A所关联的inode编号,进而获取该inode存储的文件A的元数据信息,最终才能定位到文件A的磁盘块并读取数据。所以每个文件的Links值只统计指向本索引节点的硬链接数量,不会包含软链接。
Access:上次访问文件的时间。
Modify:上次修改文件内容的时间。
Change:上次改变文件属性的时间,这里的文件属性指的是如文件的权限、文件属主之类的。

如果只是读取文件,那么这三个时间里只有Access发生改变;
如果是修改文件内容,那么这三个时间都会改变;
如果是修改文件属性,那么这三个时间只有Change发生改变。

使用stat查看文件的元数据信息

参考:https://www.cnblogs.com/klb561/p/9241228.html

你可能感兴趣的:(linux如何查看文件的元数据信息)