У меня есть шесть каталогов с командными файлами. Это /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
и /usr/local/sbin
.
Связанные:
Для этого обратитесь к Стандарту иерархии файловых систем (FHS) для Linux .
/bin
: для двоичных файлов, используемых до монтажа раздела /usr
. Это используется для простых двоичных файлов, используемых на самой ранней стадии загрузки, или для тех, которые должны быть доступны в однопользовательском режиме загрузки. Подумайте о двоичных файлах, таких как cat
, ls
и т. Д.
/sbin
: то же самое, но для двоичных файлов с требуются права суперпользователя (root) .
/usr/bin
: То же, что и первое, но для общих общесистемных двоичных файлов .
/usr/sbin
: То же, что и выше, но для бинарных файлов с привилегиями суперпользователя (root).
, если я пишу свои собственные сценарии, куда мне добавить их?
blockquote>Ничего из вышеперечисленного. Вы должны использовать
/usr/local/bin
или/usr/local/sbin
для общесистемных доступных сценариев. Путьlocal
означает, что он не управляется системными пакетами (это ошибка для пакетов Debian / Ubuntu).Для пользовательских сценариев используйте
~/bin
(личная папка bin в вашем домашнем каталоге).FHS говорит для
/usr/local
:Третичная иерархия для локальных данных, характерна для этого хоста . Обычно имеет дополнительные подкаталоги, например,
BLOCKQUOTE>bin/
,lib/
,share/
.
У меня был похожий вопрос год назад +: Лучший каталог для размещения моих bash-скриптов?
man hier
(иерархия) списков все каталоги. Чтобы получить те, которые предназначены только для двоичных файлов, используйте:
$ man hier | grep -E 'bin$|sbin$|^.{7}(/bin)|^.{7}(/sbin)' -A2
/bin This directory contains executable programs which are needed in single user
mode and to bring the system up or repair it.
--
/sbin Like /bin, this directory holds commands needed to boot the system, but
which are usually not executed by normal users.
--
/usr/X11R6/bin
Binaries which belong to the X-Window system; often, there is a symbolic
link from the more traditional /usr/bin/X11 to here.
--
/usr/bin
This is the primary directory for executable programs. Most programs exe‐
cuted by normal users which are not needed for booting or for repairing the
--
/usr/local/bin
Binaries for programs local to the site.
--
/usr/local/sbin
Locally installed programs for system administration.
--
/usr/sbin
This directory contains program binaries for system administration which
are not essential for the boot process, for mounting /usr, or for system
Чтобы все пользователи имели доступ к вашим сценариям, вы можете поместить их в /usr/local/bin
. Имейте в виду, что вам нужен sudo
доступ для добавления / изменения файлов здесь. См .: Существует ли стандартное место для размещения пользовательских сценариев Linux?
Для собственных сценариев с идентификаторами пользователя поместите их в /home/YOUR_NAME/bin
. Имейте в виду, что вы должны сначала создать этот каталог и перезапустить терминал, чтобы автоматически установить путь с помощью ~/.profile
. См .: Как добавить / home / username / bin в $ PATH?
Я собираюсь принять некоторые из моих более сложных скриптов bash в Спросите Ubuntu и настройте их с помощью скриптов установки в github
. Вот несколько примеров:
Я думаю , что сценарии должны быть установлены в /usr/bin
, который находится в $ PATH, но я пока не уверен в подходящем месте.