Какие каталоги у Linux есть, чего нет у macOS? - PullRequest
0 голосов
/ 13 января 2019

Я программист на Python, который пытается создать какую-то систему, которая создает сохраняемые данные для создаваемой игры, и я хочу, чтобы она была в разных местах в чем-то вроде Ubuntu, чем в macOS. Поскольку у меня нет macOS, и невозможно просто получить ISO для получения виртуальной машины MacOS, я не могу просмотреть файлы и папки и посмотреть, что у нее есть (или нет), что есть у Linux или не делает.

Я пытался все время пытаться заполучить ISO для создания виртуальной машины в VirtualBox, но не увенчался успехом.

Какие файлы или папки у macOS есть у Linux или наоборот?

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Чтобы завершить (превосходный) ответ @Michael, вот список домашнего и корневого каталога после новой установки на последний стабильный выпуск MacOS System (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
0 голосов
/ 13 января 2019

Настройки приложения в macOS обычно сохраняются где-то в ~ / Library: общие места для ~ предпочтений ~ / Library / Preferences / com.example.mycoolgame.plist (должен быть в формате plist, а com.example.mycoolgame должен быть действительный идентификатор пакета, которым вы владеете (вы должны владеть доменом)). Преимущество / недостаток этого пути заключается в том, что опытные пользователи знают об этом каталоге и могут редактировать файлы там, где пожелают.

Тогда у вас есть ~ / Library / Caches для кэшированных данных. Все кэшированные данные должны быть размещены где-то под этим каталогом. (Никогда не используйте его для содержимого, которое не может быть восстановлено или повторно загружено.)

~ / Library / ApplicationSupport / YourApplicationName / ...: здесь вы можете делать все что угодно. Было бы хорошо, если бы «YourApplicationName» было бы глобально уникальным в этом случае. Так что лучше сделайте это долго. Пользователи обычно не видят содержимое файловой системы чего-либо ниже «~ / Library», поэтому короткие имена не нужны.

Конечно, вы также можете поместить свои сохраненные игры в ~ / Documents / MyCoolGame / savegames и сообщить пользователю, что вы сохраняете игры там.

Понятно (возможно): я не уверен, что системные API должным образом расширяют "~". Я думаю, что, вероятно, нет: вызов fopen с путем, начинающимся с "~", скорее всего, не будет правильным. Каталог users находится в чем-то вроде «/ Users / max», поэтому «~» раскрывается до «/ Users / max» в командной строке, если имя пользователя «max».

Я не могу ответить на ваш первоначальный вопрос "Какие каталоги в Linux есть у MacOS?" потому что у меня сейчас нет коробки с Linux, и я не думаю, что она будет полезна для вашего случая использования.


Для глобальных данных также существует иерархия «/ Библиотека». Но обычные пользователи не имеют доступа к этому месту, поэтому вашей игре нужно будет запрашивать права администратора, что сделает все намного сложнее, и это будет неприемлемо для пользователей MacOS. Способ macOS состоит в том, чтобы иметь автономный пакет приложений и помещать все пользовательские или временные данные в соответствующее место в домашней папке пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...