linux - 如何跟踪文件的创建和修改

标签 linux bash shell

我们已经将一个 perl 脚本放在一起,它主要查看传递给它的参数,检查是否正在创建或修改文件,然后将其保存在 mysql 数据库中,以便以后可以轻松访问。这是有趣的部分,我如何让这个 perl 脚本在终端中键入的所有命令之前运行。我需要制作这个虚拟证明,这样人们就不会忘记运行它。

抱歉,我没有正确提出这个问题。我想要做的是在每个命令前添加,这样每个命令都会像这样运行,例如“./run.pl ls”。这样我就可以跟踪文件更改,如果命令是 mv 或者它创建了一个 out 文件。该脚本几乎可以解决这个问题,但我只是不知道如何向用户无缝运行它。

我正在使用 bash 终端运行 ubuntu 服务器。

谢谢

最佳答案

如果我理解正确的话,您需要在运行每个命令之前执行一个函数,类似于 preexecprecmdzsh .

不幸的是bash对此没有 native 支持,但您可以使用 DEBUG 来实现陷阱。

Here是应用此方法的示例代码。

This page还提供了一些有用的信息。

关于linux - 如何跟踪文件的创建和修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711023/

相关文章:

c - Linux 中的 execl() 命令

linux - 完成的作业运行时间 linux

bash - yq 根据现有文件创建复杂对象

linux - BASH:变量仅显示最后一行

java - 我的 Java 程序在调用 shell 命令后挂起

linux - 如何在脚本中输入密码和用户名

c - 使用 posix 而不是 fork/execv 运行 bash

linux - 如何永久清除 linux/ubuntu 终端或 bash 中的所有历史记录?

linux - echo 命令在 shell 脚本中未按预期工作

python - 如何从 bash shell 提示符运行带有句子作为命令行参数的 python 程序