什么是所有 unix 系统上都存在的文件?

jj1*_*172 0 linux

我正在尝试运行一个从 VM 下载文件的脚本,但我无法指定传入的 VM。但是,无论传入的 VM 的状态如何,我都想确保下载成功,并且我知道它是一个 unix/linux 系统。

我的问题是 - 是否有我可以用来下载的特定文件可以保证存在于所有 unix/linux 系统上?

谢谢!

Dop*_*oti 9

几乎唯一可以保证存在的是根目录本身。有很多标准几乎是普遍遵守的,但对于一个无聊的系统工程师来说,完全有可能推出一个 Linux 版本,其中/etc存在/andsoforth/bin居住/cupboard/usr居住/luser,等等。在这样的系统中,所有赌注都被取消了。

  • 您完全错过了我的答案的要点,因为虽然任何符合既定标准的系统确实都会有“/bin/sh”和“/etc/passwd”,但它们实际上_不_ **保证**存在于这些位置。如果“/etc”被一个足够无聊/异常/有创造力的管理员移动到“/et_cetera”,那么“passwd”文件现在位于“/et_cetera/passwd”,并且“/etc/passwd”不存在。 (4认同)
  • +1 为 `/andsoforth` 和 `/cupboard`。感谢所有的 Ghoti。 (2认同)
  • @vonbrand,然后某个小丑递给你一份 [GoboLinux](https://en.wikipedia.org/wiki/GoboLinux),你发现自己使用 `/Programs/bash/5.0/bin/bash` 作为默认外壳。 (2认同)

Ser*_*nyy 6

/etc/passwd通常使用的安全专业人士观/标志捕捉运动的证明,以及一个很好的理由-在每一个UNIX这个文件存在类似系统。

但是,值得注意的是,这并不意味着passwd将成为主要访问数据库,因为其他数据库(如 LDAP)也将发挥作用。

  • 问题是,不保证`/etc/passwd`存在,因为可以移动`/etc`,这是我回答的要点。 (3认同)
  • 我同意; 只是问题中的“保证”这个神奇的词使它成为一个很难回答的问题。OP 无法将他们的接受分为同等有效的答案,这有点遗憾(: (3认同)