Вы когда-нибудь задумывались, почему в Unix-подобных системах столько директорий для исполняемых файлов? Почему mount в /bin, а htop в /usr/bin, а свои скрипты многие кладут в /usr/local/bin?
⭐️ Быстрый разбор:
/bin- базовые утилиты, которые нужны системе для загрузки и восстановления (например, cp, ls, mount)./sbin- то же, что /bin, но для системного администрирования (fsck, reboot, iptables)./usr/bin- всё остальное: утилиты для обычной работы пользователей (vim, git, curl)./usr/sbin- админ-инструменты, не нужные на этапе загрузки (apache2, sshd, postfix)./usr/local/binи/usr/local/sbin- то, что вы ставите вручную, не через пакетный менеджер. Сюда удобно кидать своё ПО и скрипты, чтобы не мешать системным файлам.
📜 Интересный факт: всё это уходит корнями в 70-е. Тогда у разработчиков Unix не хватало места на одном диске, и они добавили второй, назвав его /usr. На него перенесли часть системы, включая bin и sbin. Так и появилась современная иерархия.
🌟 Сейчас в большинстве дистрибутивов /bin и /sbin - это просто символические ссылки на /usr/bin и /usr/sbin. Например, в Debian 11 и Fedora всё давно живёт в /usr.
Иерархия стала анахронизмом, но сохраняется ради совместимости. Логичнее было бы всё централизовать, а смысловое разделение оставить только между системным (/usr) и пользовательским (/usr/local) ПО.
⚡️ Совет: пользуйтесь /usr/local/bin для собственных скриптов и утилит - это хорошая практика.
#linux #unix
🧑💻 NetworkAdmin