gpt4 book ai didi

macos - 如何监视网络映射驱动器上的文件更改?

转载 作者:行者123 更新时间:2023-12-03 20:54:57 25 4
gpt4 key购买 nike

据我所知,网络映射驱动器显示为/Volumes 文件夹的子文件夹。

从此文件夹中获取文件更改更新(删除/创建/更新)的正确方法是什么?

/dev/fsevents 会为此工作吗?

Finder 如何知道这些变化?

最佳答案

您可以使用 fswatch ,我觉得最容易通过 homebrew 安装.而且,是的,它确实使用了 FSEvents。然后你只需要做:

fswatch /Volumes/MUSIC

哪里 MUSIC是我网络上基于 Samba 的音乐服务器。

这是它的实际运行情况...首先我在顶部窗口中显示已安装的卷(并且该 MUSIC 是基于 Samba 的),然后我开始 fswatch在左下窗口中,然后我在上窗口中的文件系统中进行修改,您可以在 Finder 中看到它们发生的情况,并在左下窗口中看到 fswatch跟踪所有事件。

enter image description here

您还可以使用它在检测到事件时与另一个程序交互,如下所示(摘自 fswatch 联机帮助页):

可能是最简单的管道方式 fswatch到另一个程序以响应事件是
使用 xargs:
   $ fswatch -0 [opts] [paths] | xargs -0 -n 1 -I {} [command]
  • fswatch -0 将使用 NUL 字符拆分记录。
  • xargs -0 将使用 NUL 字符拆分记录。这是正确匹配所必需的
    阻抗与 fswatch。
  • xargs -n 1 将调用命令每条记录。如果你想每 x 条记录做一次,那么
    使用 xargs -n x。
  • xargs -I {} 将使用解析的参数替换命令中出现的 {}。如果
    您正在运行的命令不需要事件路径名称,只需删除此选项即可。
    如果您更喜欢使用其他替换字符串,请将 {} 替换为您的替换字符串。
  • 关于macos - 如何监视网络映射驱动器上的文件更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526204/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com