linux监视文件用什么命令?linux实时查看文件修改

在 Linux 系统中,监视文件(监控文件的变化、创建、删除、修改等)是一个常见的需求,常用于日志分析、自动化部署、同步数据等场景。

以下是几种常用的方法,从简单到高级排列:

在linux中如何查看隐藏文件
加载中
在linux中如何查看隐藏文件

tail -f:监视文件内容变化(最常用)

适用于实时查看日志文件或文本内容的追加。

tail -f /var/log/syslog
  • 功能:实时显示文件末尾的内容,当有新内容写入时自动刷新。
  • 常用参数:
    • -f:持续跟踪文件。
    • -F:类似 -f,但如果文件被删除或重命名,它会等待文件重新创建(适合日志轮转场景)。
    • --pid=PID:当指定进程结束时退出监视。

inotifywait:监视文件系统事件(推荐)

这是 inotify-tools 包中的一个工具,可以监视文件的元数据变化(如修改、创建、删除、权限更改等),而不仅仅是内容追加。

安装

# Ubuntu/Debian
sudo apt install inotify-tools
# CentOS/RHEL
sudo yum install inotify-tools

基本用法

linux监视文件用什么命令?linux实时查看文件修改

# 监视单个文件的变化 inotifywait -m /path/to/file # 监视目录及其子目录 inotifywait -m -r /path/to/dir

常用参数

  • -m:持续监视(monitor),不退出。
  • -r:递归监视子目录。
  • -e:指定监视的事件类型,如 modify, create, delete, move, attrib 等。
  • -q:安静模式,减少输出。

示例:监视文件修改并执行命令

inotifywait -m -e modify /path/to/file | while read path action file; do
    echo "文件 $file 被修改了"
    # 在这里执行你的脚本,例如重启服务
    sudo systemctl restart myservice
done

常见事件类型

  • CREATE:文件或目录被创建。
  • DELETE:文件或目录被删除。
  • MODIFY被修改。
  • MOVE:文件或目录被移动。
  • ATTRIB:文件属性(如权限、时间戳)被修改。

watch:定期执行命令并显示结果

适用于周期性检查文件状态(如大小、权限、时间戳)。

# 每2秒显示一次文件信息
watch -n 2 ls -l /path/to/file
# 监视文件大小变化
watch -n 1 stat /path/to/file

linux监视文件用什么命令?linux实时查看文件修改

  • 优点:简单直观,适合人类观察。
  • 缺点:不是实时事件驱动,而是轮询方式,可能有延迟。

find + watch 或脚本:复杂监视

如果需要更复杂的逻辑(如监视多个文件、特定条件),可以结合 find 和 while 循环。

# 监视目录下所有 .log 文件的修改时间
while true; do
    find /path/to/dir -name ".log" -newer /tmp/last_check -exec ls -l {} ;
    touch /tmp/last_check  # 更新参考时间
    sleep 5
done

高级工具:entr 或 fswatch

entr(Event Notify Tool)

  • 简单易用,适合执行命令。
  • 安装:sudo apt install entr
  • 用法:
    ls .c | entr -d gcc -o main main.c
    # 当 .c 文件变化时,自动重新编译

fswatch

  • 跨平台,支持多种后端(inotify, FSEvents, kqueue 等)。
  • 适合需要跨平台兼容性的场景。

总结对比

linux监视文件用什么命令?linux实时查看文件修改

工具 适用场景 实时性 复杂度 是否事件驱动
tail -f 查看日志内容追加 高 低 是
inotifywait 监视文件元数据变化(创建/删除/修改) 高 中 是
watch 周期性检查文件状态 中(轮询) 低 否
entr 文件变化时执行命令 高 低 是
fswatch 跨平台文件监视 高 中 是

推荐选择

  • 只看日志内容:用 tail -f。
  • 需要响应文件创建/删除/修改事件:用 inotifywait。
  • 文件变化时自动执行脚本:用 inotifywait 或 entr。
  • 简单查看文件状态:用 watch。

如果你有具体的使用场景(监视某个目录下的新文件并上传到服务器),可以提供更多细节,我可以为你编写具体的脚本。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/480643.html

赞 (0)
分享wifi密码怎么设置?手机连不上wifi密码忘了怎么办
上一篇 2026年7月10日 15:13
如何在Excel中快速删除时间?excel删除时间格式保留日期
下一篇 2026年7月10日 15:15

相关推荐

  • 启动大屏配置报错怎么办?app大数据可视化大屏配置教程

    启动大屏配置是App大数据可视化的核心入口,通过拖拽式组件与实时数据源绑定,能在几分钟内搭建出具备业务洞察力的监控看板,无需编写代码即可实现数据从采集到展示的闭环,在数字化转型的深水区,数据大屏早已不是简单的“展示橱窗”,而是企业决策的“驾驶舱”,很多团队在搭建App大数据_数据大屏时,往往陷入过度设计的误区……

    2026年6月13日
    3300
  • 如何重置GaussMySql密码?mysql数据库密码忘了怎么办

    重置数据库密码的核心方法是使用mysqladmin命令或登录数据库修改mysql.user表,具体操作取决于是否拥有当前密码及系统权限,已知旧密码,直接重置新密码当你能正常登录数据库时,这是最简单的场景,业内专家指出,使用命令行工具是最直接且高效的方式,无需进入复杂的SQL交互界面,使用mysqladmin工具……

    2026年6月1日
    3900
  • 双核8G服务器到底能容纳多少人,网站并发量多少?

    双核8G服务器能容纳多少人?在典型Web应用场景下,经过合理优化,它可以支撑500至1500个并发用户,但实际容量因业务类型、代码效率和网络配置而差异显著,拆解双核8G的资源天花板CPU与内存的分配逻辑双核CPU意味着服务器同时只能处理两个物理线程,即便有超线程技术,实际并发能力也有限,对于计算密集型任务,如动……

    2026年8月13日
    400
  • aspnet连接到数据库代码怎么写?测试连接到数据库报错如何解决

    ASP.NET连接数据库失败的核心原因通常集中在连接字符串配置错误、数据库服务状态异常及权限配置不当三个维度,解决问题的关键在于标准化连接代码逻辑并利用异常捕获机制精准定位报错点,在实际开发运维中,超过80%的连接故障可以通过检查配置文件和数据库服务设置快速排除,无需复杂的代码重构, 构建标准的数据库连接代码逻……

    2026年3月27日
    11500
  • 福建域名注册哪家公司靠谱,域名注册价格多少钱?

    在福建地区选择域名注册服务,核心在于平衡本地化服务与全国性平台的优势,重点确认备案支持、续费价格和隐性成本,福建域名注册价格对比与选择策略主流渠道的价格分布福建域名注册的价格体系由三部分组成:首年注册费、续费费率和转移费用,国内头部平台如阿里云、腾讯云对.cn域名普遍给出首年优惠,但续费时多数恢复官方指导价,福……

    2026年8月1日
    200
  • 简米云GPU服务器一个月到底多少钱,怎么收费

    阿里云GPU服务器每月费用从几百元到数万元不等,具体取决于实例类型、GPU型号和配置,按需选择可从入门级vGPU到高性能A100集群,阿里云GPU服务器价格构成与实例选择阿里云GPU实例覆盖vGPU、计算型和加速型三大类,分别搭载不同GPU芯片,定价随规格和计费模式波动,影响月费的核心因素包括GPU型号、vCP……

    2026年7月29日
    1800
  • 40g云服务器能放多少张图片,图片数量怎么算

    40GB的云服务器大约能存放1万到4万张图片,具体数量取决于图片的分辨率、文件格式和压缩率,实际可用空间通常在35GB左右,图片存储数量的核心变量图片分辨率与文件大小图片占据的空间直接由分辨率、色彩深度和压缩算法决定,常见场景下:网页缩略图(100KB以内):适合列表页或小图展示,社交分享图(500KB-2MB……

    2026年8月18日
    600
  • 音创点歌机服务器硬盘最大支持多少G,容量够用吗?

    音创点歌机服务器的硬盘最大支持容量,在当前主流型号中普遍为8TB(约8192GB),部分早期产品最大支持4TB,这个结论来自对大量实际部署案例的总结,以及硬件参数的长期追踪,如果你正在规划点歌机服务器的存储方案,需要先了解这个上限,才能避免后续扩容时的麻烦,硬盘容量上限的决定因素硬盘容量不是想加就能加,服务器主……

    2026年8月4日
    1400
  • linux sigsegv怎么解决,是什么原因?

    Linux SIGSEGV 是段错误信号,核心原因是程序访问了非法内存地址;解决它最直接的方法是开启 core dump 并用 GDB 回溯调用栈,找到具体出错的代码行,linux sigsegv 的常见原因有哪些SIGSEGV 在 Linux 系统里几乎每天都会出现,尤其是用 C/C++ 写底层服务或嵌入式程……

    2026年7月22日
    800
  • 国外云服务云计算云技术有限公司到底是什么,国外云服务是什么

    国外云服务提供商是全球数字经济的底层基础设施,本质上它们是利用大规模数据中心和虚拟化技术,将计算能力、存储资源和网络服务通过互联网进行按需分配的企业,要深入理解国外云服务云计算云技术有限公司到底是什么,必须将其视为一种公用事业化的IT服务模式,而非单纯的硬件销售商,这些公司通过构建遍布全球的物理服务器集群,利用……

    2026年2月24日
    16200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注