是否有一个文件夹可供所有进程和用户随时访问?

是否有一个文件夹可供所有进程和用户随时访问?

我有一个从运行环境收集调试信息的脚本,我需要弄清楚是否可以保存该信息。

它可以随时被调用:

  • 启动时
  • 当系统运行时
  • 关机时等...
  • 以及任何用户或进程/服务。

我需要一个可以随时访问所有内容的文件夹。

那已经存在了吗?如果不是,我怎样才能实现它?
由于这是出于调试目的,我不关心安全性,因此在发布产品之前它将全部删除。

答案1

/tmp,但其中存储的数据将在重新启动时删除

答案2

您可以创建一个新的顶级目录(在 下/),例如命名test并适当设置权限:

sudo mkdir /test
sudo chmod 777 /test

通过将其设为顶级目录,您不必担心中间目录的权限。

在代码/脚本中,我会测试目录是否存在,如果不存在,我会不是创建它,假设这是一个生产系统。确保任何尝试从目录写入/读取的例程都会顺利失败(以防我忘记删除生产系统的一些测试代码)。

答案3

您还可以使用/dev/shm/,这是内存中分配的空间。空间受到 RAM 数量的限制,但由于它位于内存中,因此没有延迟,这与/tmp/硬盘驱动器相反(SSD 则不然,因为它们的延迟接近于零)。因此/dev/shm/,如果您需要存储少量数据,它可以作为替代方案。在某些 Linux 发行版上,它可以位于/run/shm/.

tmpfs了解更多信息。

答案4

@Anthon 的答案可能是满足您规定的要求的最佳答案,但有一个缺点无法通过他或 @Creeks 的答案 ind 克服,即在 fsck 之前和期间。在大多数情况下,类似 UNIX 的系统以只读方式启动根分区,检查是否有错误,如果一切正常,则以读写方式重新挂载它。这是一个好主意,但它会留下一个窗口,使您的工具无法工作。如果这不打扰你@Anthon 就是你的人。如果您需要在此窗口期间工作,唯一可行的解​​决方案是第二台计算机和几个串行端口。这有几个缺点,包括增加的硬件要求和缺乏速度,但主要优点是串行端口可用得更快(除了 USB 串行适配器之外,大多数串行端口在初始化之前可用)

相关内容