Linux 有哪些 macOS 没有的目录?

What directories does Linux have that macOS doesn't?

我是一名 Python 程序员,正在尝试制作一个系统,为我正在制作的游戏创建保存数据,我希望它位于不同的地方,例如 Ubuntu 比我做 macOS。因为我没有 macOS,而且不可能只启动并获取 ISO 来获得 macOS VM,我无法查看文件和文件夹并查看它有(或没有)Linux 做或不做。

我已经尝试过寻找 ISO 来在 VirtualBox 中构建 VM,但一直没有成功。

macOS 有哪些文件或文件夹 Linux 有,反之亦然?

macOS 上的应用程序设置通常保存在 ~/Library 中的某个位置:常见位置是 ~/Library/Preferences/com.example.mycoolgame.plist 用于首选项(应该是 plist 格式,"com.example.mycoolgame" 应该是您拥有的有效捆绑包 ID(您应该拥有域))。这个路径的advantage/disadvantage是高级用户知道这个目录,可以随意编辑那里的文件。

那么你有 ~/Library/Caches 用于缓存数据。所有缓存的数据都应该放在这个目录下的某个地方。 (但切勿将其用于无法重新生成或重新下载的内容。)

~/Library/ApplicationSupport/YourApplicationName/...: 在这里你基本上可以为所欲为。如果 "YourApplicationName" 在这种情况下是全局唯一的就好了。所以最好把它写长一点。用户通常看不到“~/Library”下任何内容的文件系统内容,因此不需要短名称。

当然,你也可以把你的游戏存档放在~/Documents/MyCoolGame/savegames里,告诉用户你把游戏存在那里了。

问题(可能):我不确定系统 API 是否正确扩展了“~”。我认为可能不是:使用以“~”开头的路径调用 fopen 很可能不会做正确的事情。用户目录位于类似于“/Users/max”的位置,因此如果用户名是 "max".

,则“~”会在命令行中扩展为“/Users/max”

我无法回答你原来的问题 "What directories does Linux have that macOS doesn't?" 因为我手头没有 Linux 盒子,我认为这对你没有帮助用例。


对于全局数据,还有“/Library”层级。但是普通用户无法访问这个地方,所以你的游戏需要申请管理员权限,这会让一切变得更加复杂,这对 macOS 用户来说会感觉不友好。 macOS 方法是拥有一个独立的应用程序包,并将所有用户特定或临时数据放入用户主文件夹中的适当位置。

为了完成@Michael 的(优秀)回答,这里列出了在最新稳定版本的 MacOS 系统 (10.14.2) 上全新安装后的主目录和根目录

MacBook-Pro:~ max$ ls -al /
total 37
drwxr-xr-x  26 root  wheel   832 Jan  6 19:00 .
drwxr-xr-x  26 root  wheel   832 Jan  6 19:00 ..
-rw-rw-r--   1 root  admin  8196 Jan 13 07:11 .DS_Store
drwx------   5 root  admin   160 Jan  6 11:47 .Spotlight-V100
d-wx-wx-wt   2 root  wheel    64 Jan 14 06:39 .Trashes
----------   1 root  admin     0 Aug 18 06:53 .file
drwx------  11 root  admin   352 Jan 14 06:39 .fseventsd
drwxr-xr-x   2 root  wheel    64 Aug 18 06:53 .vol
drwxrwxr-x+ 39 root  admin  1248 Nov 30 12:49 Applications
drwxr-xr-x+ 60 root  wheel  1920 Nov 30 12:50 Library
drwxr-xr-x   2 root  wheel    64 Aug 18 06:53 Network
drwxr-xr-x@  5 root  wheel   160 Nov 30 12:46 System
drwxr-xr-x   5 root  admin   160 Jan  6 18:59 Users
drwxr-xr-x+  4 root  wheel   128 Jan 14 06:39 Volumes
drwxr-xr-x@ 37 root  wheel  1184 Nov 30 12:55 bin
drwxrwxr-t   2 root  admin    64 Aug 18 06:53 cores
dr-xr-xr-x   3 root  wheel  4301 Jan 14 06:39 dev
lrwxr-xr-x@  1 root  wheel    11 Jan  6 18:49 etc -> private/etc
dr-xr-xr-x   2 root  wheel     1 Jan 14 06:40 home
-rw-r--r--   1 root  wheel   313 Aug 18 10:03 installer.failurerequests
dr-xr-xr-x   2 root  wheel     1 Jan 14 06:40 net
drwxr-xr-x   6 root  wheel   192 Nov 30 12:50 private
drwxr-xr-x@ 64 root  wheel  2048 Jan  6 18:49 sbin
lrwxr-xr-x@  1 root  wheel    11 Jan  6 18:49 tmp -> private/tmp
drwxr-xr-x@  9 root  wheel   288 Nov 30 12:38 usr
lrwxr-xr-x@  1 root  wheel    11 Jan  6 18:49 var -> private/var

主目录:

MacBook-Pro:~ max$ ls -al ~
total 16
drwxr-xr-x+ 15 max    staff   480 Jan 14 06:43 .
drwxr-xr-x   5 root  admin   160 Jan  6 18:59 ..
-r--------   1 max    staff     7 Jan  6 18:59 .CFUserTextEncoding
drwx------   2 max    staff    64 Jan 14 06:40 .Trash
-rw-------   1 max    staff     0 Jan 13 07:11 .bash_history
drwx------  10 max    staff   320 Jan 14 06:40 .bash_sessions
-rw-------   1 max    staff   908 Jan 14 06:43 .viminfo
drwx------+  3 max    staff    96 Jan  6 18:59 Desktop
drwx------+  3 max    staff    96 Jan  6 18:59 Documents
drwx------+  3 max    staff    96 Jan  6 18:59 Downloads
drwx------@ 51 max    staff  1632 Jan 13 07:11 Library
drwx------+  3 max    staff    96 Jan  6 18:59 Movies
drwx------+  3 max    staff    96 Jan  6 18:59 Music
drwx------+  3 max    staff    96 Jan  6 18:59 Pictures
drwxr-xr-x+  4 max    staff   128 Jan  6 18:59 Public