当前位置: 代码网 > 服务器>服务器>Linux > Linux系统查看文件创建时间和修改时间的三种方法

Linux系统查看文件创建时间和修改时间的三种方法

2026年08月06日 Linux 我要评论
在 ubuntu(以及大多数 linux 系统)中,查看文件的修改时间(modify)和创建时间(birth)最推荐使用 stat 命令。同时,ls 命令也能快速查看修改时间。方法一:使用stat命令

在 ubuntu(以及大多数 linux 系统)中,查看文件的修改时间modify)和创建时间birth)最推荐使用 stat 命令。同时,ls 命令也能快速查看修改时间。

方法一:使用stat命令(推荐,信息最全)

在终端中执行:

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)。指文件在磁盘上被创建的时间(例如执行 touchtar -czvf 生成文件的那一刻)。
  • access:访问时间。指文件最后一次被读取的时间。
  • change:状态更改时间(ctime)。指文件的元数据(如权限、所有者) 最后一次被更改的时间,注意它不一定是内容修改。

方法二:使用ls命令(快速查看)

如果你只关心修改时间(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 字段,这就是创建时间。

  • **关于 linux 的三种常用时间戳
    为了帮你区分,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查看文件创建和修改时间内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com