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.rhkb.cn/news/324308.html

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

相关文章

05、Kafka 操作命令

05、Kafka 操作命令 1、主题命令 (1)创建主题 kafka-topics.sh --create --bootstrap-server 192.168.135.132:9092,192.168.135.133:9092,192.168.135.134:9092 --topic test1 --partitions 4 --replication-factor 3–bootstrap-server:…

互动科技如何强化法治教育基地体验?

近年来,多媒体互动技术正日益融入我们生活的各个角落,法治教育领域亦不例外。步入法治教育基地,我们不难发现,众多创新的多媒体互动装置如雨后春笋般涌现,这些装置凭借前沿的科技手段,不仅极大地丰富了法制…

Capl中的运算符

Capl中的运算符类似于C语言。由于capl中没有指针的概念,所以没有指针取值,取地址等运算符。 Capl中的运算符优先级同C语言一样,同样小括号可以 提升优先级。 1.算数运算符 整数类型之间的数据进行除法运算,结果一定是整数。如果…

双目相机标定流程(MATLAB)

一:经典标定方法 1.1OPENCV 1.2ROS ROS进行双目视觉标定可以得到左右两个相机的相机矩阵和畸变系数,如果是单目标定,用ROS会非常方便。 3.MATLAB标定(双目标定) MATLAB用来双目标定会非常方便,主要是为…

SparkSQL编程入口和模型与SparkSQL基本编程

SparkSQL编程入口和模型 SparkSQL编程模型 主要通过两种方式操作SparkSQL,一种就是SQL,另一种为DataFrame和Dataset。 1)SQL:SQL不用多说,就和Hive操作一样,但是需要清楚一点的是,SQL操作的是表&#xf…

【北京迅为】《iTOP-3588开发板从零搭建ubuntu环境手册》-第2章 获取并安装Ubuntu操作系统

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

网络编程套接字 (二)---udosocket

本专栏内容为:Linux学习专栏,分为系统和网络两部分。 通过本专栏的深入学习,你可以了解并掌握Linux。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:网络 🚚代码仓库:小小unicorn的代…

力扣每日一题-统计已测试设备-2024.5.10

力扣题目:统计已测试设备 题目链接: 2960.统计已测试设备 题目描述 代码思路 根据题目内容,第一感是根据题目模拟整个过程,在每一步中修改所有设备的电量百分比。但稍加思索,发现可以利用已测试设备的数量作为需要减少的设备电…

前端组件库图片上传时候做自定义裁剪操作

不论是vue还是react项目,我们在使用antd组件库做上传图片的时候,有一个上传图片裁剪的功能,但是这个功能默认是只支持1:1的裁剪操作,如何做到自定义的裁剪操作?比如显示宽高比?是否可以缩放和旋转操作&…

Leetcode—239. 滑动窗口最大值【困难】

2024每日刷题&#xff08;132&#xff09; Leetcode—239. 滑动窗口最大值 算法思想 用vector会超时的&#xff0c;用deque最好&#xff01; 实现代码 class Solution { public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {deque<int> …

学习笔记:【QC】Android Q qmi扩展nvReadItem/nvWriteItem

一、qmi初始化 流程图 初始化流程: 1、主入口&#xff1a; vendor/qcom/proprietary/qcril-hal/qcrild/qcrild/rild.c int main(int argc, char **argv) { const RIL_RadioFunctions *(*rilInit)(const struct RIL_Env *, int, char **); rilInit RIL_Init; funcs rilInit…

react18【系列实用教程】JSX (2024最新版)

为什么要用 JSX&#xff1f; JSX 给 HTML 赋予了 JS 的编程能力 JSX 的本质 JSX 是 JavaScript 的语法扩展&#xff0c;浏览器本身不能识别&#xff0c;需要通过解析工具&#xff08;如babel&#xff09;解析之后才能在浏览器中运行。 bable 官网可以查看解析过程 JSX 的语法 …

【Java orm 框架比较】十 新增hammer_sql_db 框架对比

迁移到&#xff08;https://gitee.com/wujiawei1207537021/spring-orm-integration-compare&#xff09; orm框架使用性能比较 比较mybatis-plus、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp、jpa、dbvisitor、beetlsql、dream_orm、wood、hammer_sql_db 操作数据 …

【MySQL】SQL基本知识点DDL(1)

目录 1.SQL分类&#xff1a; 2.DDL-数据库操作 3.DDL-表操作-创建 4.DDL-表操作-查询 5.DDL-表操作-数据类型 6.DDL-表操作-修改 1.SQL分类&#xff1a; 2.DDL-数据库操作 3.DDL-表操作-创建 注意&#xff1a;里面的符号全部要切换为英文状态 4.DDL-表操作-查询 5.DDL…

Django开发实战之定制管理后台界面及知识梳理(中)

上一篇文章末尾讲到如何能够展示更多的字段在界面上&#xff0c;那么针对整个界面数据&#xff0c;如果我想按照某一个条件进行筛选&#xff0c;我该怎么做呢&#xff0c;只需要加上下面一行代码 注意&#xff1a;中途只有代码片段&#xff0c;文末有今天涉及的所有代码 1、增…

【Python可视化】pyecharts

Echarts 是一个由百度开源的数据可视化&#xff0c;凭借着良好的交互性&#xff0c;精巧的图表设计&#xff0c;得到了众多开发者的认可。而 Python 是一门富有表达力的语言&#xff0c;很适合用于数据处理。当数据分析遇上数据可视化时&#xff0c;pyecharts 诞生了。 需要安…

Lazada、Shopee测评自养号,快速出单技巧全解析!

每个人都憧憬着自己的店铺能够拥有一款或多款引人注目的热销商品&#xff0c;这些商品不仅能为店铺带来可观的收益&#xff0c;更重要的是它们能够成为吸引顾客的强大磁石&#xff0c;显著提升店铺的整体流量。一旦这样的爆款商品成功吸引顾客&#xff0c;其他产品也将随之受到…

PHP 框架安全:ThinkPHP 序列 漏洞测试.

什么是 ThinkPHP 框架. ThinkPHP 是一个流行的国内 PHP 框架&#xff0c;它提供了一套完整的安全措施来帮助开发者构建安全可靠的 web 应用程序。ThinkPHP 本身不断更新和改进&#xff0c;以应对新的安全威胁和漏洞。 目录&#xff1a; 什么是 ThinkPHP 框架. ThinkPHP 框架…

ASP.NET学生成绩管理系统

摘要 本系统依据开发要求主要应用于教育系统&#xff0c;完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力&#xff0c;比较系统地对教务、教学上的各项服务和信息进行管理&#xff0c;同时&#xff0c;可以减少劳动力的使用&#xf…

uniapp、web网页跨站数据交互及通讯

来来来&#xff0c;说说你的创作灵感&#xff01;这就跟吃饭睡觉一样&#xff0c;饿了就找吃的&#xff0c;渴了就倒水张口灌。 最近一个多月实在是忙的没再更新日志&#xff0c;好多粉丝私信说之前的创作于他们而言非常有用&#xff01;受益菲浅&#xff0c;这里非常感谢粉丝…