4人参与 • 2026-08-06 • Linux
在 ubuntu(以及大多数 linux 系统)中,查看文件的修改时间(modify)和创建时间(birth)最推荐使用 stat 命令。同时,ls 命令也能快速查看修改时间。
在终端中执行:
stat /data/mysqlbackup/dump_20260721_143022.tar.gz
输出示例:
file: dump_20260721_200403.tar.gz size: 3741042622 blocks: 7306736 io block: 4096 regular file device: 253,16 inode: 6291460 links: 1 access: (0664/-rw-rw-r--) uid: ( 1000/ admin) gid: ( 1000/ admin) access: 2026-07-22 09:06:37.619559515 +0800 modify: 2026-07-21 20:06:01.114217818 +0800 change: 2026-07-21 21:00:02.817101953 +0800 birth: 2026-07-21 20:08:57.496734782 +0800
重点关注以下三个时间:
modify:修改时间(mtime)。指文件内容最后一次被修改的时间(例如 tar 打包写入数据或编辑文本)。birth:创建时间(crtime)。指文件在磁盘上被创建的时间(例如执行 touch 或 tar -czvf 生成文件的那一刻)。access:访问时间。指文件最后一次被读取的时间。change:状态更改时间(ctime)。指文件的元数据(如权限、所有者) 最后一次被更改的时间,注意它不一定是内容修改。如果你只关心修改时间(modify),ls -l 是最快的:
ls -l /data/mysqlbackup/dump_20260721_143022.tar.gz
输出示例:
-rw------- 1 user user 5242880000 jul 21 14:22 /data/mysqlbackup/dump_20260721_143022.tar.gz
jul 21 14:22 即为修改时间(modify)。如果需要查看更精确的秒级时间,使用 --full-time:
ls -l --full-time /data/mysqlbackup/dump_20260721_143022.tar.gz
如果你想看文件夹 dump 本身的创建时间,同样使用 stat:
stat /data/mysqlbackup/dump
file: /data/mysqlbackup/dump size: 180224 blocks: 352 io block: 4096 directory device: 253,16 inode: 6291461 links: 2 access: (0755/drwxr-xr-x) uid: ( 1000/ admin) gid: ( 1000/ admin) access: 2026-07-22 09:26:21.375281610 +0800 modify: 2026-07-21 19:57:51.000000000 +0800 change: 2026-07-22 09:08:00.523732850 +0800 birth: 2026-07-22 09:07:41.098457918 +0800
注意:birth 显示为 -(横线)时,说明您使用的文件系统(如较旧的 ext3 或某些网络存储)不支持记录文件创建时间,此时只能看到修改时间。
如果 stat 不显示 birth,用 debugfs(仅限 ext4 文件系统)
这一步需要知道文件的 inode 号,且需要 root 权限:
# 1. 获取 inode 号 ls -i 文件名 # 2. 查看创建时间(假设 inode 为 123456,设备为 /dev/sda1) sudo debugfs -r 'stat <123456>' /dev/sda1
在输出中查找 crtime 字段,这就是创建时间。
stat 命令通常会显示三类时间,建议对比查看:| 时间类型 | 英文标识 | 触发条件 | 备注 |
|---|---|---|---|
| 修改时间 | modify | 文件内容被更改 | ls -l 默认显示此项 |
| 状态更改时间 | change | 文件元数据(如权限、所有者)被更改 | 注意:修改内容也会触发 change 更新 |
| 访问时间 | access | 文件被读取或执行 | 现代系统常因性能优化而关闭此功能 |
| 创建时间 | birth | 文件被创建 | 需文件系统支持(ext4/xfs/btrfs) |
小提示:如果你想看某个目录下所有文件的创建时间,可以结合 find 命令(仅限支持 birth 的系统):
find /路径 -type f -printf "%c@ %p\n" | sort -n
(%c@ 表示创建时间的 unix 时间戳)
到此这篇关于linux系统查看文件创建时间和修改时间的三种方法的文章就介绍到这了,更多相关linux查看文件创建和修改时间内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论