В Linux разные локации, как правило, в хорошем состоянии отражают некоторую логику. Например.:
/bin
содержит самые основные инструменты (программы)
/sbin
содержит самые основные программы администратора
Обе они содержат элементарные команды, используемые при загрузке и устранении фундаментальных неисправностей. И здесь вы видите первое отличие. Некоторые программы не предназначены для использования обычными пользователями.
Тогда взгляни /usr/bin
. Здесь вы должны найти больший выбор команд (программ), обычно более 1000 из них. Они являются стандартными инструментами, но не так важен , как в /bin
и /sbin
.
/usr/bin
содержит команды, в то время как файлы конфигурации находятся в другом месте. Это разделяет как функциональные объекты (программы), так и их конфигурационные и другие файлы, но с точки зрения функциональности пользователя это удобно, поскольку наличие команд, не смешанных с чем-либо еще, позволяет просто использовать PATH
переменную, указывающую на исполняемые файлы. Это также вносит ясность. Все, что есть, должно быть исполняемым.
Взгляни на мой PATH
,
$ echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/home/tomas/bin
/usr/local/bin
/usr/bin
/bin
/usr/local/games
/usr/games
Есть ровно шесть мест, содержащих команды, которые я могу вызывать напрямую (т.е. не по их путям, а по именам их исполняемых файлов).
/home/tomas/bin
мой личный каталог в моей домашней папке для моих личных исполняемых файлов.
/usr/local/bin
Я объясню отдельно ниже.
/usr/bin
описано выше.
/bin
также описано выше.
/usr/local/games
является комбинацией /usr/local
(будет объяснено ниже) и игр
/usr/games
это игры. Не следует смешивать с исполняемыми файлами утилит, они имеют свои отдельные местоположения.
Сейчас к /usr/local/bin
. Это несколько скользко, и здесь уже объяснялось: что такое / usr / local / bin? , Чтобы понять это, вам нужно знать, что папка /usr
может использоваться многими компьютерами и монтироваться из сетевого расположения. Команды там не нужны при загрузке, как отмечалось ранее, в отличие от команд /bin
, поэтому расположение может быть смонтировано на более поздних этапах процесса загрузки. Он также может быть установлен только для чтения. /usr/local/bin
с другой стороны, предназначен для локально установленных программ и должен быть доступен для записи. Таким образом , в то время как многие сетевые машины могут совместно использовать общий /usr
каталог, каждый из них будет иметь свои собственные /usr/local
установки внутри общего /usr
.
Наконец, взгляните на PATH
моего пользователя root:
# echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
Он содержит эти:
/usr/local/sbin
, который содержит команды администратора типа /usr/local
/usr/local/bin
, которые являются теми же, которые может использовать обычный пользователь. Опять же, их тип может быть описан как /usr/local
.
/usr/sbin
являются несущественными утилитами администрирования.
/usr/bin
являются несущественными административными и обычными пользовательскими утилитами.
/sbin
являются необходимыми инструментами администратора.
/bin
являются необходимыми инструментами администратора и обычного пользователя.