Что это? ...
5 ответов
Википедия имеет достойное объяснение. Из этой статьи:
/bin
: «Основные двоичные файлы команд, которые должны быть доступны в однопользовательском режиме; для всех пользователей, например, cat, ls, cp.»/usr/bin
: «Ненужные двоичные файлы команд (не нужны в однопользовательском режиме); для всех пользователей».
$ man hier
содержит хорошее описание иерархии файловой системы
В старые времена маленьких дисков было обычно иметь /bin на загрузочном диске и /usr /bin на отдельном диске (иногда даже на общем сетевом диске). /bin будет содержать все необходимое для загрузки системы или исправления, если по какой-либо причине /usr /bin не может быть смонтирован. Это еще одна из тех исторических катастроф, которые сегодня не имеют особого смысла.
Различие простое:
/bin
- это место, где хранятся системные двоичные файлы (в основном эти двоичные файлы принадлежат пользователю root), тогда как /usr/bin
- это обычное место для двоичных файлов, которые используются обычными пользователями без полномочий root. Это также обычное место для хранения бинарных программ, созданных компилятором, для использования другими пользователями.
Часто (даже сегодня, по разным причинам) люди создают /usr как отдельную файловую систему. В этих обстоятельствах сначала монтируется /, затем программы для / используются для монтирования / bin. Таким образом, существует требование, что все, что нужно для достижения точки монтирования /usr, должно находиться в / bin или / sbin. Кроме того, все полезное для устранения неполадок (если вы не можете смонтировать /usr) также лучше хранить в / bin или / sbin.