若文件已纳入Git仓库,可通过Git命令查看详细的历史记录(包括提交者、时间、修改内容)。
git log --follow -- <文件名>(--follow参数用于跟踪文件重命名);git show <提交哈希值>;git log --since="2025-01-01" --until="2025-09-21" -- <文件名>。stat命令查看文件元数据(快速获取修改时间)stat命令可直接显示文件的最后修改时间(Modify)、**状态变更时间(Change)**等信息,适用于未用版本控制的文件。
stat <文件名>(输出中“Modify:”后的时间为最后修改时间);find /目标目录 -type f -exec stat --format="%y %n" {} \; | sort(按时间排序)。ls命令按修改时间排序ls命令的-lt参数可按修改时间从新到旧列出文件,适合快速查看近期修改的文件。
ls -lt;ls -l --time-style=full-iso <文件名>(显示完整ISO格式时间)。inotifywait)若需实时跟踪文件修改(如编辑文档时的每次保存),可使用inotifywait工具(属于inotify-tools包)。
sudo apt-get install inotify-tools;inotifywait -m -e modify <文件路径>(-m表示持续监控,-e modify指定监控修改事件);inotifywait -m -e modify --format '%w%f %T' --timefmt '%Y-%m-%d %H:%M:%S' <文件路径>(显示文件路径及修改时间)。auditd)若需要详细记录文件访问/修改的系统日志(如谁在何时修改了文件),可使用auditd工具(适用于安全审计场景)。
sudo apt-get install auditd audispd-plugins;sudo systemctl start auditd;sudo systemctl enable auditd;sudo auditctl -w /目标文件路径 -p wa -k file_changes(-w指定监控路径,-p wa监控写入和属性更改,-k设置自定义关键字);ausearch -k file_changes(过滤关键字为file_changes的日志)。若启用了“文件历史记录”备份,可通过图形界面恢复文件的历史版本(类似Windows的“文件历史”)。
以上方法覆盖了从版本控制到系统审计的不同场景,可根据文件类型(如代码/普通文件)、需求(如实时监控/历史版本恢复)选择合适的方式。