fswatch工具:跟踪Linux中的文件和目录更改

fswatch是一个跨平台的文件更改监视器,当指定文件或目录的内容被更改或修改时,它会收到通知警报。

fswatch在不同的操作系统上执行多种类型的监视器,例如:

  • 基于 Apple OS X 的文件系统事件 API 构建的监视器。
  • 基于kqueue的监视器(FreeBSD 4.1 中存在的通知接口)也支持许多 *BSD 系统(包括 OS X)。
  • 基于 Solaris 内核的文件事件通知 API 及其衍生产品的监视器。
  • 基于 inotify 的监视器,inotify 是一个内核子系统,可显示应用程序的文件系统修改。
  • 基于 ReadDirectoryChangesW 的监视器,这是一种记录目录更改的 Windows API。
  • 定期检查文件系统状态的监视器,将文件修改时间保存在内存中并手动确定文件系统更改(可以在任何可以使用 stat 的地方工作)。
fswatch的特点
  • 支持多种特定于操作系统的 API
  • 允许递归目录监控
  • 使用包含和排除正则表达式执行路径过滤
  • 支持自定义记录格式
  • 此外,它还支持周期性空闲事件

在Linux系统中安装fswatch

要在Linux上安装fswatch,请使用以下适合你特定Linux发行版命令。

sudo apt install fswatch [在Debian、Ubuntu和Mint上]
sudo yum install fswatch [在RHEL/CentOS/FedoraRocky/AlmaLinux上]
sudoemerge -a sys-apps/fswatch [在Gentoo Linux上]
sudo apk add fswatch [在Alpine Linux上]
sudo pacman -S fswatch [在Arch Linux上]
sudo zypper install fswatch [在OpenSUSE上]    
sudo pkg install fswatch [在 FreeBSD 上]

如果fswatch无法从默认系统存储库安装,可以从源构建,如以下安装说明所示。

首先,​ 使用以下git 命令克隆最新的fswatch git 存储库并安装它,命令如下:

git clone https://github.com/emcrisostomo/fswatch.git
cd fswatch
./autogen.sh
./configure
make
sudo make install
重要提示:在从源代码编译 fswatch 之前,请确保系统上安装了GNU GCC(C和C++编译器)和开发工具( Debian/Ubuntu上的build-essential )。

如果没有,请在各自的 Linux 发行版上使用以下命令安装它。

sudo dnf group install 'Development Tools' [在RHEL/CentOS/FedoraRocky/AlmaLinux上]
sudo apt-get install build-essential [在Debian、Ubuntu和Mint上]

在Debian/Ubuntu发行版上,执行fswatch命令时可能会出现以下错误。

fswatch: error while loading shared libraries: libfswatch.so.13: cannot open shared object file: No such file or directory

要修复此问题,需要执行以下命令,这将有助于刷新动态库的链接和缓存,然后才能开始使用 fswatch。

sudo ldconfig

使用fswatch监控Linux上的文件更改

运行fswatch的一般语法是:

fswatch [option] [path]

在Linux系统上,建议使用默认的inotify监视器,你可以使用-M-list-monitors选项列出可用的监视器:

fswatch -M
fswatch --list-monitors

fswatch - 列出监视器

下面的命令你您能够观察当前目录 ( home/tecmint) 中的更改,事件每4秒传送到标准输出。

-l-latency选项允许你以秒为单位设置延迟,默认值为1秒。

fswatch -l 4 .

fswatch - 监视主目录更改

下一个命令是每5秒监视/var/log/auth.log文件的更改:

fswatch -l 5 /var/log/auth.log

使用-t--timestamp选项打印每个事件的时间戳,如果以UTC格式打印时间,使用-u--utf-time选项。此外,你还可以使用-f--format-timeformat选项格式化时间:

fswatch --timestamp /var/log/auth.log

接下来,-x--event-flags告诉fswatch在事件路径旁边打印事件标志。你可以使用–event-field-seperator选项来使用特定分隔符打印事件。

fswatch --events-flags ~ /var/log/auth.log

要打印指示主目录和/var/log/auth.log文件中的更改的事件的数值,请使用-n--numeric选项,如下所示:

fswatch --numeric ~ /var/log/auth.log 

最后,你可以查看fswatch手册页以获取详细的使用选项和信息:

man fswatch

有关更多信息和使用方法,请访问fswatch Github 存储库。

如果想查看整个Linux服务器活动情况,阅读 Linux服务器:16个监控系统进程的Top命令示例

在这篇文章中,我们介绍了一个简单的命令行实用程序,可以帮助 Linux 用户在指定文件或目录层次结构的内容被修改时收到通知。

希望安装一切顺利,如果您的情况并非如此,或者遇到什么问题,可以在下面留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF之DataGird应用

1,DataGrid相关属性 GridLinesVisibility:DataGrid网格线是否显示或者显示的方式。HorizontalGridLinesBrush:水平网格线画刷。VerticalGridLinesBrush:垂直网格线画刷。HorizontalScrollBarVisibility:水平滚动条可见…

ASP.NET MVC 如何使用 Form Authentication?

前言 .NET 的 Form Authentication 是一种基于表单的简单且灵活的身份验证机制,用户通过输入用户名和密码来登录应用程序,并且通过配置来控制用户访问权限。 在使用 Form Authentication 时,我们需要在 web.config 文件中配置身份验证和授权…

Spring Cloud Consul 4.1.1

该项目通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习惯用法,为 Spring Boot 应用程序提供 Consul 集成。通过一些简单的注释,您可以快速启用和配置应用程序内的常见模式,并使用基于 Consul 的组件构建大型分布式系统。提供的模式…

Spark云计算平台Databricks使用,第一个Spark应用程序WordCount

1 上传文件 上传words.txt文件:Spark云计算平台Databricks使用,上传文件-CSDN博客 上传的文件的路径是/FileStore/tables/words.txt,保存在AWS的S3 hello world hello hadoop hello world hello databricks hadoop hive hbase yarn spark …

利用BACnet分布式IO控制器优化Niagara楼宇自动化系统

在智能建筑领域,随着物联网技术的飞速发展,如何实现高效、灵活且安全的楼宇自动化控制成为了行业关注的焦点。BACnet IP分布式远程I/O模块,作为这一领域的创新成果,正逐渐成为连接智能建筑各子系统的关键桥梁,尤其在与…

springboot -多数据源管理方案

多数据源的配置有多种方式 方式一 、依赖dataSource的配置 1.建立多数据源配置 spring:# 数据源配置datasource:pdm:driver-class-name: oracle.jdbc.driver.OracleDriverjdbc-url: jdbc:oracle:thin:10.216.xxx.xxx:3000:orclusername: cfpdmpassword: capecapp:driver-cla…

走进CHEN MEI HUA的设计哲学:书写东方女性力量与态度的时尚篇章

在时尚的舞台中央,品牌不止是商品,更是故事的讲述者、文化的传承者。CHEN MEI HUA,一个源自中国上海的高端女装品牌,以其独特的设计理念及文化内核,成为了时尚界一颗耀眼的明珠。今天,让我们一起走进CMH的世…

如何安装ElasticSearch及相关件

一、简介 ElasticSearch是什么? elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。 ElasticSearch 插件 elasticsearch-head是一款专门针对于elasticsearch的客户端工具&am…

3W 1.5KVDC 隔离单输出 DC/DC 电源模块 ——TPL-3W 系列

TPL-3W系列是一款额定功率为3W的隔离产品,国际标准引脚,宽范围工作温度–40℃ 到 105℃,在此温度范围内都可以稳定输出3W,并且效率非常高,高达88%,同时负载调整率非常低,对于有输出电压精度有要…

ATA-300/3000系列功率放大器全新升级!免费样机“试”不宜迟!

2024年4月,Aigtek安泰电子ATA-300/3000系列功率放大器,迎来了进一步升级,最大输出功率可达1000Wp,最大输出电流20Ap,四象限输出,可驱动功率型负载。新产品的功率密度和可靠性都更高,能够进行的进…

【漏洞复现】某小日子太阳能系统DataCube3审计

漏洞描述 某小日子太阳能系统DataCube3终端测量系统 多个漏洞利用方式 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进…

华普检测温湿度监测系统建设方案

一、项目背景 随着医疗行业的蓬勃发展,药品、试剂和血液的储存安全直接关系到患者的健康。根据《药品存储管理规范》、《医疗器械冷链(运输、贮存)管理指南》、《疫苗储存和运输管理规范》和《血液存储要求》等相关法规,医院药剂…

uni-app(一):云端插件的使用(Android)

云端插件的使用 1.创建项目2.购买插件3.选用插件4.进入 uni-app 配置文件修改支持 CPU 类型5.制作支持 App 的自定义调试基座6.等待自定义调试基座打包完成7.编写调用插件代码8.运行 1.创建项目 2.购买插件 3.选用插件 4.进入 uni-app 配置文件修改支持 CPU 类型 5.制作支持 Ap…

【valse 2024】开幕式内容汇总(持续更新)

提示:更新中,一周左右更新完毕。需要具体课件的可私信 文章目录 一、大会主旨报告主旨报告-1:大模型时代的机遇和挑战主旨报告-2:以深度学习框架为牵引促进自主 AI生态发展主旨报告-3:从洞穴的影子到智能的光辉--连接和交互方式的改变塑造未来生活 二、大…

对camera raw中的纹理和清晰度的内容的修正(之前的内容写错了,懒得改了重新写一篇)

之前对于环的解释,不太行,这里我给出进一步地说明。 首先对环的解释: 我这里说的环指的是频域段中的ai变化的时候对图像像素的变化的极大的影响程度的环状效果,会出现不规则的环状的提亮或增暗的效果。实际上是每个fj都有影响,但…

限量背包问题

问题描述 限量背包问题:从m个物品中挑选出最多v个物品放入容量为n的背包。 问题分析 限量背包问题,可以用来解决许多问题,例如要求从n个物品中挑选出最多v个物品放入容量为m的背包使得背包最后的价值最大,或者总共有多少种放法…

【数据结构】栈的实现以及数组和链表的优缺点

个人主页:一代… 个人专栏:数据结构 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进…

ETL工具kettle(PDI)入门教程,Job

先新建两个Transform,MysqlToMysql.ktr和CsvToExcel.ktrURL:ETL工具kettle入门教程,transform,Mysql->Mysql,Csv->Excel-CSDN博客 主对象树,作业上右击,点击新建 核心对…

面试题库-项目

1.项目主要实现了哪些功能? 本项目是专门为校园食堂窗口定制的一款软件产品,包括系统管理后台和客户端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对餐厅的菜品、套餐、订单、员工等进行管理维护。客户端主要提供给学生及校职…

台球桌上的答案 如何优化图形化编程对复杂程序的展现

在公司的休息区,卧龙和凤雏正站在台球桌旁,一场激战即将打响。 “来吧,凤雏,让我们一决高下!”卧龙手持台球杆,面带自信的微笑,向凤雏发起挑战。 凤雏点了点头,拿起台球杆&#xff0…