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
我是一名 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