fs_usage 工具:如何输出*完整*路径名

fs_usage 工具:如何输出*完整*路径名

我在 Mac 上使用 fs_usage 将我的应用程序的文件访问转储到文本文件中。唯一的问题是只输出路径的截断版本。手册页指出了这一点,但似乎没有选项可以在输出中显示完整的文件路径(至少当我将其重定向到文件时:我纯粹在终端中运行它,它输出正确的路径)。我有很多目录结构,其中最后几个路径组件看起来非常相似,但它们来自不同的父目录。

答案1

看起来 fs_usage 的输出限制为~253 个字符,这表明它可能被硬编码为 255 或 256 个字符的限制。

GUI 工具七人不受这样的限制,你也可以尝试日志记录器

fseventer -http://www.fernlightning.com/doku.php?id=software:fseventer:start

fslogger-关联

答案2

fs_usage -w对我来说似乎效果很好。

来自手册页:

-w 指定 -w 选项会强制更广泛、更详细的输出,而不管窗口大小。

重定向到文件有效。我只在 OSX 10.8 和 10.9 上测试过。

答案3

至少在 macOS 10.11.6 上,fs_usage -w即使重定向到文件,仍然会给我大约 250 个字符的行(其中字符 57-222 专用于路径)。
我尝试在 Terminal、iTerm2 和 Alacritty 下运行它,所有这些都使用非常小的字体(以实现更宽的屏幕尺寸),希望这可能是由终端仿真器以某种方式引起的(不太可能,但为什么不呢),但无济于事。
我同意行长度是硬编码的假设,也许是为了提高速度。

编辑:来自fs_使用情况.c

/*
 * MAXCOLS controls when extra data kicks in.
 * MAX_WIDE_MODE_COLS controls -w mode to get even wider data in path.
 */
#define MAXCOLS 132
#define MAX_WIDE_MODE_COLS 264
#define MAXWIDTH MAX_WIDE_MODE_COLS + 64

相关内容