С поддержкой await
и обещанием Bluebird :
await bluebird.delay(1000);
Это будет работать как синхронный sleep(1)
языка c. Мое любимое решение.
Вообще говоря, параметры командной строки переопределяют переменные среды, которые отменяют пользовательские значения по умолчанию, которые отменяют системные значения по умолчанию.
Что касается пользовательской конфигурации, я заметил тенденцию к отходу от индивидуального ~ / .myprogramrc
в структуру ниже ~ / .config
. Например, Qt 4 использует ~ / .config /
с настройками по умолчанию QSettings
. Основные среды рабочего стола KDE и Gnome также используют файловую структуру под определенной папкой (не уверен, что KDE 4 использует ~ / .config
, XFCE действительно использует ~ / .config
).
Ваше приложение должно соответствовать спецификации XDG Base Directory Specification . Большинство ответов здесь либо устарели, либо неверны.
Ваше приложение должно хранить и загружать данные и файлы конфигурации в / из каталогов, указанных следующими переменными среды:
$ XDG_DATA_HOME
(по умолчанию: "$ HOME / .local / share "
): пользовательские файлы данных. $ XDG_CONFIG_HOME
(по умолчанию: " $ HOME / .config "
): пользовательские файлы конфигурации. $ XDG_DATA_DIRS
(по умолчанию: «/ usr / local / share /: / usr / share /»
): упорядоченный по приоритету набор каталогов системных данных. $ XDG_CONFIG_DIRS
(по умолчанию: «/ etc / xdg»
): упорядоченный по приоритету набор каталогов конфигурации системы. $ XDG_CACHE_HOME
(по умолчанию: «$ HOME / .cache»
): пользовательские файлы несущественных данных. Сначала вы должны определить, является ли рассматриваемый файл:
$ XDG_CONFIG_HOME: $ XDG_CONFIG_DIRS
); $ XDG_DATA_HOME: $ XDG_DATA_DIRS
); или $ XDG_CACHE_HOME
). Рекомендуется, чтобы ваше приложение помещало свои файлы в подкаталог указанных выше каталогов. Обычно это что-то вроде $ XDG_DATA_DIRS /
или $ XDG_DATA_DIRS /
При загрузке вы сначала пытаетесь загрузить файл из пользовательских каталогов ( $ XDG _ * _ HOME
) и, если не удалось, из системных каталогов ( $ XDG _ * _ DIRS
). При сохранении сохраняйте только в пользовательские каталоги (поскольку у пользователя, вероятно, не будет доступа на запись в системные каталоги).
Для других, более ориентированных на пользователя каталогов см. Спецификация пользовательских каталогов XDG ]. Он определяет каталоги для рабочего стола, загрузки, документы, видео и т. Д.
(1) Нет (к сожалению). Изменить: Другие ответы верны, конфигурация для каждого пользователя обычно хранится в точечных файлах или точечных каталогах в домашнем каталоге пользователей. Все, что выше уровня пользователя, часто остается лишь догадками.
(2) Общесистемный ini-файл -> пользовательский ini-файл -> среда -> параметры командной строки (от низшего к высшему)
/ var / log / yourapp /
Некоторая дополнительная информация с tutorialhelpdesk.com
Структура каталогов Linux / других Unix-подобных систем и подробности каталогов.
В Windows почти все программы установить свои файлы (все файлы) в каталог с именем: 'Program Files'. В Linux этого не происходит. Система каталогов классифицирует все установленные файлы. Все файлы конфигурации находятся в / etc
, все двоичные файлы находятся в / bin
или / usr / bin
или / usr / local / bin
]. Вот вся структура каталогов вместе с тем, что они содержат:
/
- Корневой каталог, который составляет основу файловой системы. Все файлы и каталоги логически содержатся внутри корневого каталога независимо от их физического расположения.
/ bin
- содержит исполняемые программы, которые являются частью операционной системы Linux. Многие команды Linux, такие как cat, cp, ls, more и tar, находятся в / bin
/ boot
- содержит ядро Linux и другие файлы, необходимые для менеджеров загрузки LILO и GRUB.
/ dev
- содержит все файлы устройства. Linux рассматривает каждое устройство как отдельный файл. Все такие файлы находятся в / dev
.
/ etc
- Содержит большинство файлов конфигурации системы и сценариев инициализации в подкаталоге /etc/rc.d
.
] / home
- Домашний каталог является родительским для домашних каталогов пользователей.
/ lib
- Содержит файлы библиотеки, включая загружаемые модули драйверов, необходимые для загрузки системы.
/ lost + found
- Каталог для потерянных файлов. В каждом разделе диска есть каталог «потерян + найден».
/ media
- каталог для монтирования файловых систем на съемных носителях, таких как приводы CD-ROM, дискеты и Zip-накопители.
/ mnt
- A каталог для временно смонтированных файловых систем.
/ opt
- Дополнительные пакеты программного обеспечения копируют / устанавливают сюда файлы.
/ proc
- Специальный каталог в виртуальной файловой системе. Он содержит информацию о различных аспектах системы Linux.
/ root
- Домашний каталог пользователя root.
/ sbin
- Содержит административные двоичные файлы. Здесь находятся такие команды, как mount, shutdown, umount.
/ srv
- Содержит данные для служб (HTTP, FTP и т. Д.), Предлагаемых системой.
/ sys
- Специальный каталог который содержит информацию об устройствах с точки зрения ядра Linux.
/ tmp
- Временный каталог, который можно использовать как рабочий каталог (хранилище для временных файлов). Содержимое этого каталога очищается при каждой загрузке системы.
/ usr
- Содержит подкаталоги для многих программ, таких как X Window System.
/ usr / bin
- Содержит исполняемые файлы для многих Команды Linux. Он не является частью основной операционной системы Linux.
/ usr / include
- Содержит файлы заголовков для языков программирования C и C ++
/ usr / lib
- Содержит библиотеки для языков программирования C и C ++ .
/ usr / local
- содержит локальные файлы. Он имеет те же каталоги, что и / usr.
/ usr / sbin
- содержит административные команды.
/ usr / share
- содержит файлы, которые являются общими, например, файлы конфигурации по умолчанию, изображения, документация и др.
/ usr / src
- Содержит исходный код ядра Linux.
/ var
- Содержит различные системные файлы, такие как журнал, почтовые каталоги, спул печати и т. Д., Которые имеют тенденцию меняться в числа и размер с течением времени.
/ var / cache
- Область хранения кэшированных данных для приложений.
/ var / lib
- Содержит информацию, относящуюся к текущему состоянию приложений. Программы изменяют это при запуске.
/ var / lock
- содержит файлы блокировки, которые проверяются приложениями, так что ресурс может использоваться только одним приложением.
/ var / log
- Содержит файлы журналов для различных приложений.
/ var / mail
- Содержит электронные письма пользователей.
/ var / opt
- Содержит данные переменных для пакетов, хранящихся в каталоге / opt.
/ var / run
- содержит данные, описывающие систему с момента ее загрузки.