这个工具告诉我哪些文件是用Linux编写的?

这个工具告诉我哪些文件是用Linux编写的?,linux,file,iostat,Linux,File,Iostat,我在IOStat中发现,我的应用程序的某些部分正在大量编写,但我不知道它是哪个进程,也不知道它正在写入哪些文件。在Vista中,有一个显示在过去30秒内处于活动状态的文件的工具。Linux有类似的功能吗 查找上次修改的所有文件 每天24小时(最后一整天) 特定目录及其应用 子目录: 查找/目录\u路径-mtime-1-打印 更多信息,请访问: 不确定程序,但实用程序中的“查找”命令有很多选项,允许您查找在特定时间段内修改过的文件和/或目录 例如: $ find /home/you -iname

我在IOStat中发现,我的应用程序的某些部分正在大量编写,但我不知道它是哪个进程,也不知道它正在写入哪些文件。在Vista中,有一个显示在过去30秒内处于活动状态的文件的工具。Linux有类似的功能吗

查找上次修改的所有文件 每天24小时(最后一整天) 特定目录及其应用 子目录:

查找/目录\u路径-mtime-1-打印

更多信息,请访问:


不确定程序,但实用程序中的“查找”命令有很多选项,允许您查找在特定时间段内修改过的文件和/或目录

例如:

$ find /home/you -iname "*.txt" -mtime -1 -print
将查找上次在1天前修改的文本文件

你可以用某种脚本来包装这个调用,或者编写自己的快速小应用程序来使用结果

以下是一个包含更多信息和示例的网站:


您要找的是。
它是一个命令行工具,但也有一个。Linux提供了一个名为“dnotify”的文件更改通知API,以及一个命令行实用程序。你可以用它来跟踪过去30年的变化


我可能会编写一个直接构建在Linux API上的应用程序,并丢弃所有早于30秒的事件。

lsof将列出给定进程的所有打开文件:

lsof-p

strace-e trace=文件--
strace -e trace=file -- <command>

将准确显示应用程序正在读取和写入的文件如果要实时查看所有文件访问(最多32个进程),可以使用以下命令:

strace -f -e trace=file `ps aux | tail -n +2 | awk '{ORS=" "; print $2}' | sed -e 's/\([0-9]*\)/\-p \1 /g' | sed -e 's/\-p  $//g'` 

是否还有某种方法可以监视单个文件上的活动(读写kb/s)?服务器非常活跃,许多文件都会被更改,但我需要传输速度最高的文件…只是出于好奇:我知道filemon,但你指的是Vista中的哪个工具?@Ludwig Control Panel->管理工具->可靠性和性能监视器。然后单击显示“磁盘”的栏。它显示最活跃的文件以及哪些进程正在读取或写入。它已经在ServerFault上了:lsof只会显示进程现在打开的文件将在整个进程树上运行,或者仅一个进程?它不会在整个树上工作,但您可以使用“-p pid”选项附加到多达32个进程,或者使用“-f”跟踪子进程,因为它们是由当前跟踪的进程作为fork(2)系统调用的结果创建的