如何在Android设备上使用inotifyd连续监视目录

时间:2019-05-30 18:02:20

标签: android linux filesystemwatcher

我需要查看android设备上的目录(例如/ sdcard)。我需要记录在/ sdcard发生的任何操作。例如,如果某个应用程序在/ sdcard上创建文件或目录,则我想将发生的应用程序和事件的名称记录到文件中。

我在Google上搜索了有关观看目录的命令。我发现我可以使用“ inotifyd”命令。我真的不知道该怎么用。我找不到明确的示例来说明如何使用此命令

有人可以帮助我理解此命令吗,如何工作?

1 个答案:

答案 0 :(得分:0)

在我的手机上,有免疫力的人吐出这种用法:

usage: inotifyd PROG FILE[:MASK] ...

When a filesystem event matching MASK occurs to a FILE, run PROG as:
  PROG EVENTS FILE [DIRFILE]

If PROG is "-" events are sent to stdout.

This file is:
  a  accessed    c  modified    e  metadata change  w  closed (writable)
  r  opened      D  deleted     M  moved            0  closed (unwritable)
  u  unmounted   o  overflow    x  unwatchable

A file in this directory is:
  m  moved in    y  moved out   n  created          d  deleted

When x event happens for all FILEs, inotifyd exits (after waiting for PROG).

经过一些测试,我发现它对我有用:

inotifyd - /sdcard/myfile.txt

例如,如果我运行e /sdcard/myfile.txt,这将吐出touch /sdcard/myfile.txt

如果您想将更改记录到文件中,则可以使用:

inotifyd - /sdcard/myfile.txt >/sdcard/changes.log 2>&1

要在发生更改时调用脚本,可以使用:

inotifyd myscript.sh /sdcard/myfile.txt