Почему в пути есть /bin?

Почему в пути есть /bin?

Теперь, когда почти все современные основные Linux и Unix имеют /binв качестве символической ссылки на /usr/bin, почему по умолчанию PATHcontains /usr/binсопровождается /bin? Не сломаю ли я что-нибудь, если PATHудалю свой /bin? Я предполагаю, что он там по умолчанию из соображений совместимости какого-то рода, но не могу вспомнить, из-за каких.

решение1

Как вы упомянули. Папка /bin — это место, где в большинстве систем находились все исполняемые файлы пользователя системы. Но со временем,/bin,/сбини подобные, перешли в/usrподпапка. В настоящее время большинство систем создают ссылку /bin -> /usr/bin это на всякий случай, если кто-то будет запускать старые версии оболочек, пользовательские скрипты или просто жестко закодированные пути в программах — все это должно работать, даже если они не обновлялись 10 или более лет :)

Что касается вопроса, следует ли удалить его из $PATH: Если вы используете обычную учетную запись пользователя (а не root) и выконечновы не будете запускать никакую программу, требующую/bin- вы можете это сделать. Главный вопрос для вас: действительно ли вас это беспокоит, если вы его оставите?

решение2

В древние времена, когдабольшойдиски имели несколько MiB, системы Unix имели свои собственные исполняемые файлы/библиотеки, в /binи /libтак далее. Пользователи запросили дополнительные возможности, которые не требовались для запуска машины, и поэтому были размещены на диске для пользователей, возможно, дешевом, медленном, но большем, /usr. Позже диски достигли диапазона GiB, машины стали персональными (мой собственный компьютер, а не тот, что был в университете/кафедре) начали иметь только один диск, который был разделен (разделен) на маленький /и (большой) /usr; если какая-то случайность повредит диск (или данные на нем), более вероятно, что /он выживет (или небольшой «спасательный» диск с его содержимым) и может быть использован для исправления системы. Сегодня разделять «необходимые для системы» и «приятно иметь» двоичные файлы не имеет особого смысла (сейчас вы можете спрятать полную установку большинства дистрибутивов Linux на флешке). Если бы структура файловой системы была разработана сегодня, то, вероятно, ее бы просто не было /usr.

Связанный контент