【问题标题】:Detecting OS based on files unique to the operating system根据操作系统特有的文件检测操作系统
【发布时间】:2013-12-26 23:38:04
【问题描述】:

我正在寻找一种基于文件识别操作系统的方法。我的主要目标是识别将 Macintosh 系统与其他基于 Unix 的系统区分开来的文件。通过检查 system32 文件夹的存在,我已经从列表(包含所有硬盘分区)中删除了 Windows。另外,我想确保自 Macintosh OS 启动(至少自 Snow Leopard 以来)以来,该区别文件一直可用。我尝试检测 Applications 文件夹,它似乎工作正常,但我有点担心任何其他风格的 Linux 可能碰巧有 Applications 文件夹,这就是我在此处发布此查询的原因。请让我知道我有各种选项(无论是文件还是文件夹)来检测操作系统。提前致谢

【问题讨论】:

  • MacOSX 和其他 Unix 都有来自 Posix 的 uname(2)... 而 Linux 没有任何 Applications 目录。

标签: linux operating-system


【解决方案1】:

为什么不用 uname 命令?

calvin@desktop $ uname 
Linux

calvin@hayden-07 $ uname
Darwin

至于基于文件。 Linux 和一些 BSD 有 /proc 文件系统,而 Mac OSX 没有。如果你看到一个 /proc 文件夹,你很有可能不是 Mac

跟进 /proc 提示。这可能会有所帮助

calvin@barnabas:~$ cat /proc/version
Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3     (Debian 4.6.3-14) ) #1 SMP Debian 3.2.51-1

【讨论】:

  • 我可以访问这些文件,但无法运行这些进程。但是那个 /proc 提示很有用。谢谢
  • 也可以试试/etc/lsb-release/etc/issue
  • 是的,这非常适合将 linux 风格与各种可能性隔离开来!谢谢
猜你喜欢
  • 2012-02-05
  • 1970-01-01
  • 2010-10-17
  • 2014-06-25
  • 2014-04-14
  • 2011-07-08
  • 2012-06-02
  • 2014-03-11
相关资源
最近更新 更多