У меня есть шесть каталогов с командными файлами. Это /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/binи /usr/local/sbin.
Каковы различия между ними? Если я пишу свои собственные сценарии, где я должен их добавить?
Связанный:
У меня есть шесть каталогов с командными файлами. Это /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).
если я пишу свои собственные сценарии, где я должен добавить их?
Ни один из вышеперечисленных. Вы должны использовать /usr/local/binили /usr/local/sbinдля общесистемных доступных скриптов. localПуть означает , что он не управляет пакетами системы (это ошибка для пакетов Debian / Ubuntu).
Для пользовательских сценариев используйте ~/bin(личная папка bin в вашем домашнем каталоге).
FHS говорит для /usr/local:
Третичная иерархия для локальных данных, характерных для этого хоста . Как правило , имеет дополнительные подкаталоги, например,
bin/,lib/,share/.
/binпроблема размещение скриптов ? Я переместил свои сценарии в соответствии с вашим ответом, но мне все еще любопытно
Severity:Serious Certainty:Certain
ls -laничего не показывает
У меня был похожий вопрос год + назад: лучший каталог для размещения моих скриптов 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?
Для ваших собственных скриптов ID пользователя вставьте их /home/YOUR_NAME/bin. Имейте в виду, что вы должны сначала создать этот каталог и перезапустить терминал, чтобы автоматически установить путь ~/.profile. Смотрите: Как добавить / home / username / bin в $ PATH?
Я собираюсь взять некоторые из моих более сложных сценариев bash в Ask Ubuntu и настроить их при помощи сценариев установки github. Вот несколько примеров:
Я думаю, что скрипты должны быть установлены в /usr/bin$ PATH, но я пока не уверен в подходящем месте.
man hierраздел, на который не ответил gertvdijk. т.е. вы можете получить иерархическую структуру каталогов в командной строке, не прибегая к чтению его в Интернете (т.е. здесь).
man hierявляется информационно недостаточным отрывком из ИМО). Впрочем, это может быть моим личным мнением.
/usr/X11R6/bin и /usr/local/binкоторая включена в man heir.
/usr/local/binпоскольку вы не менеджер пакетов?