Я пытаюсь понять файловую систему Linux, и один из вопросов:
1- Почему существует несколько папок для исполняемых файлов: /usr/bin
, /usr/sbin/
и /usr/local/bin
? Есть ли между ними какие-либо различия ?
2- Если у меня есть исполняемый файл и я хочу добавить его в свою систему, какое из трех последних расположений подойдет мне лучше всего?
решение1
- Запустите
man hier
из командной строки, чтобы получить ответ на свой первый вопрос. - Это зависит. Смотрите/usr/bin против /usr/local/bin в Linux
решение2
Он называется «Стандарт иерархии файловой системы», и его подробные сведения можно найти здесь.здесь
В целом:-
/usr/bin
предназначен для пользовательских программ.
/usr/sbin
предназначен для системных программ — тех, которые используются администраторами, а не обычными пользователями.
Оба вышеперечисленных варианта начинаются с , /usr
и стандарт утверждает, что они могут размещаться на общем сервере (например, с использованием NFS) и к ним могут обращаться различные хосты в сети. Варианты без /usr
(то есть /bin
и /sbin
) предназначены для основных программ, которые необходимы системе для загрузки (поскольку файлы в /usr
дереве не будут доступны, если они находятся на общем ресурсе NFS).
/local/bin
предназначены для локально скомпилированных пользовательских программ.
Если у вас есть исполняемый файл, который не был установлен с помощью системного менеджера пакетов, то, полагаю, вам следует поместить его в , /usr/local/bin
если он будет использоваться многими пользователями, или вы можете оставить его в своем домашнем каталоге, если он будет использоваться только вами.