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.mfbz.cn/a/612920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nginx部署前后端分离项目

部署前后端分离项目,要求前端项目、后端项目、数据库分别部署在3台服务器 服务器准备 服务器名IP软件包前端192.168.99.137nginx后端192.168.99.139jar数据库192.168.99.100mariadb 1、前端服务器 yum install -y epel-release && yum install -y nginx…

9.spring-图书管理系统

文章目录 1.开发项目流程1.1开发开发1.2数据库的设计 2.MySQL数据库相关代码3.构造图书结构3.1用户登录3.2图书列表3.3图书添加3.4图书删除3.4.1批量删除 3.5图书查询(翻页) 4.页面展示4.1登录页面4.2列表页面4.3增加图书页面4.4修改图书信息页面 5.功能展示5.1增加图书信息5.2…

分布式与一致性协议之TCC协议

TCC协议 概述 虽然MySQL XA能实现数据层的分布式事务,解决多个MySQL操作的事务问题,但还面临别的问题:在接收到外部的指令后,需要访问多个内部系统,执行指令约定的操作,还必须保证指令执行的原子性(也就是事务要么全…

nestjs 全栈进阶--中间件

视频教程 22_nest中中间件_哔哩哔哩_bilibili 1. 介绍 在Nest.js框架中,中间件(Middleware)是一个非常重要的概念,它是HTTP请求和响应生命周期中的一个重要组成部分,允许开发者在请求到达最终的目的控制器方法之前或…

机器学习算法 - 逻辑回归

逻辑回归是一种广泛应用于统计学和机器学习领域的回归分析方法,主要用于处理二分类问题。它的目的是找到一个最佳拟合模型来预测一个事件的发生概率。以下是逻辑回归的一些核心要点: 基本概念 输出:逻辑回归模型的输出是一个介于0和1之间的…

【数据结构】队列详解(Queue)

文章目录 有关队列的概念队列的结点设计及初始化队列的销毁判空和计数入队操作出队操作 有关队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)入队列:进行插入操作的一端…

Redis不同数据类型value存储

一、Strings redis中String的底层没有用c的char来实现,而是使用SDS数据结构( char buf[])。 缺点:浪费空间 优势: 1.c字符串不记录自身的长度,所以获取一个字符串长度的复杂度是O(N),但是SDS记录分配的长度alloc,已使用长度len,获取长度的…

CSS文字描边,文字间隔,div自定义形状切割

clip-path: polygon( 0 0, 68% 0, 100% 32%, 100% 100%, 0 100% );//这里切割出来是少一角的正方形 letter-spacing: 1vw; //文字间隔 -webkit-text-stroke: 1px #fff; //文字描边1px uniapp微信小程序顶部导航栏设置透明,下拉改变透明度 onP…

[js] 递归,数组对象根据某个值进行升序或者降序

一、效果图 1.1 父级 1.2 父级与子级 二、代码 升序降序&#xff0c;只要把 a.num - b.num 改成 b.num - a.num <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, i…

pycharm 将项目连同库一起打包及虚拟环境的使用

目录 一、创建虚拟环境 1、用 anaconda 创建 2、Pycharm 直接创建 二、虚拟环境安装第三方库 1、创建项目后&#xff0c;启动终端(Alt F12)&#xff0c;或者点击下方标记处。 2、使用 pip 或者 conda 来进行三方库的安装或卸载 3、将项目中的库放入文档&#xff0c;便于…

Dual Aggregation Transformer for Image Super-Resolution论文总结

题目&#xff1a;Dual Aggregation Transformer&#xff08;双聚合Transformer&#xff09; for Image Super-Resolution&#xff08;图像超分辨&#xff09; 论文&#xff08;ICCV&#xff09;&#xff1a;Chen_Dual_Aggregation_Transformer_for_Image_Super-Resolution_ICCV…

Android之给Button上添加按压效果

一、配置stateListAnimator参数实现按压效果 1、按钮控件 <Buttonandroid:id"id/mBtnLogin"android:layout_width"match_parent"android:layout_height"48dp"android:background"drawable/shape_jfrb_login_button"android:state…

腾讯共享WiFi项目的加盟方式有哪些?

在这个互联互通的时代&#xff0c;共享经济的浪潮正以前所未有的力量席卷全球&#xff0c;而腾讯作为中国互联网巨头之一自然不会错过这场盛宴。其推出的腾讯共享WiFi项目自问世以来就备受瞩目&#xff0c;它不仅为用户提供便捷的上网服务&#xff0c;更为创业者打开了一个全新…

Language2Pose: Natural Language Grounded Pose Forecasting # 论文阅读

URL https://arxiv.org/pdf/1907.01108 TD;DR 19 年 7 月 cmu 的文章&#xff0c;提出一种基于 natural language 生成 3D 动作序列的方法。通过一个简单的 CNN 模型应该就可以实现 Model & Method 首先定义一下任务&#xff1a; 输入&#xff1a;用户的自然语言&…

win10电脑桌面便签纸怎么设置?添加桌面便签方法

对于上班族来说&#xff0c;电脑桌面上的电子便签纸是一项不可或缺的工具。在快节奏的工作环境中&#xff0c;我们经常需要随时记录重要信息、安排工作任务&#xff0c;而电子便签纸以其便捷性和实时性成为了我们的得力助手。 想象一下&#xff0c;在紧张的项目讨论中&#xf…

mysql 细分

索引选择性 索引列的唯一值数量 / 表中的总行数 mysql如何优化-CSDN博客 批量问题 批处理默认是逐条发送 SQL 到数据库的&#xff0c;没有充分利用数据库提供的原生批处理能力&#xff0c;需要额外的配置来启用真正的批处理支持&#xff0c;如使用ExecutorType.BATCH 自定…

提升网络性能,解决网络故障,了解AnaTraf网络流量分析仪

在当今数字化时代&#xff0c;网络性能监测与诊断(Network Performance Monitoring and Diagnosis,NPMD)成为了企业和个人关注的焦点。随着网络流量不断增长&#xff0c;确保网络的稳定性和高效性变得更加重要。在这个领域&#xff0c;AnaTraf网络流量分析仪是您不可或缺的得力…

自然资源-土地征收成片开发知识梳理

自然资源-土地征收成片开发知识梳理 1、什么是成片开发 &#xff1f; 自然资源部印发的《土地征收成片开发标准&#xff08;试行&#xff09;》对成片开发的概念做了界定&#xff0c;成片开发是指在国土空间规划确定的城镇开发边界内的集中建设区&#xff0c;由县级以上地方人…

章十二、数据库(1) —— 概述、MySQL数据库、SQL、DDL、DML、DQL、多表设计

为什么学习数据库&#xff1a; ● 实现数据持久化到本地&#xff1b; ● 使用完整的管理系统统一管理&#xff0c;可以实现结构化查询&#xff0c;方便管理&#xff1b; 一、 数据库概述 ● 数据库 数据库&#xff08;DataBase&#xff09;为了方便数据的 存储 和 管理 &…

LLM记录:五一 Llama 3 超级课堂

LLM记录&#xff1a;五一 Llama 3 超级课堂 想玩大模型&#xff0c;自己又没那个环境&#xff0c;参加五一 Llama 3 超级课堂&#xff0c;简单记录一下llama3-8b的相关体验&#xff0c;实在是邀请不到人&#xff0c;还好后面开放了24G显存&#xff0c;好歹模型能跑起来了&…