插件窝 干货文章 指导如何查看 Linux 文件的时间

指导如何查看 Linux 文件的时间

时间 文件 文件名 命令 172    来源:    2025-04-10

在 Linux 系统中,每个文件都存储有三种时间戳(timestamps),可以通过 stat 命令或 ls 命令查看:


1. 使用 stat 命令(推荐)

stat 文件名

输出示例:

  File: 文件名
  Size: 1024       Blocks: 8          IO Block: 4096   regular file
Access: 2023-10-25 09:00:00.000000000 +0800
Modify: 2023-10-25 08:30:00.000000000 +0800
Change: 2023-10-25 08:45:00.000000000 +0800
 Birth: 2023-10-25 08:20:00.000000000 +0800
  • Access Time (atime): 文件最后被访问(读取或执行)的时间。
  • Modify Time (mtime): 文件内容最后被修改的时间。
  • Change Time (ctime): 文件元数据(如权限、所有者等)最后被修改的时间。
  • Birth Time (btime): 文件创建时间(部分文件系统支持,如 ext4)。

2. 使用 ls 命令

  • 查看修改时间 (mtime)(默认显示):

    ls -l 文件名
    

    输出示例:
    -rw-r--r-- 1 user group 1024 Oct 25 08:30 文件名

  • 查看访问时间 (atime)

    ls -lu 文件名
    
  • 查看变更时间 (ctime)

    ls -lc 文件名
    

3. 时间戳的格式说明

  • 时间格式通常为:YYYY-MM-DD HH:MM:SS + 时区。
  • 使用 --time-style 自定义显示格式(仅限 ls): bash ls -l --time-style="+%Y-%m-%d %H:%M:%S" 文件名

4. 注意事项

  • atime 的更新:部分系统默认禁用 atime 更新(通过 relatime 挂载选项优化性能)。
  • btime 的支持:需内核和文件系统支持(如 ext4、XFS),旧系统可能无法显示。
  • 时区问题:时间戳基于系统时区配置,可通过 date 命令检查当前时区。

5. 快速总结

时间类型 命令选项 描述
mtime ls -lstat 文件内容修改时间
atime ls -lustat 文件访问时间
ctime ls -lcstat 元数据(如权限)修改时间
btime stat 文件创建时间(可能不可用)

如果需要进一步处理时间戳(如脚本中提取),可以结合 dateawk 工具格式化输出。