До сегодняшнего дня я использовал терминал в ограниченной степени для перемещения и извлечения каталогов и изменения даты файлов с помощью touch
команды. Я понял весь объем терминала после установки забавного скрипта на Mac и наличия chmod 755
файла, чтобы впоследствии его можно было выполнить.
Я хотел бы знать, что /usr/local/bin
, однако. /usr/
Я полагаю, это пользователь компьютера. Я не уверен, почему /local/
там. Очевидно, это означает локальный компьютер, но поскольку он находится на компьютере (или сервере), действительно ли это будет необходимо? Не было /usr/bin
бы хорошо?
А что есть /bin
? Почему эта область обычно используется для установки скриптов на терминал?
Близко.
Unix начинал как многопользовательская операционная система, поэтому это не «пользователь», это « пользователи », множественное число.
До выпуска AT & T Unix System V Release 4 (SVR4) в 1988 году с инструментами управления пользователями, в которых
/home
по/usr
умолчанию создавались домашние каталоги пользователей , было обычное местоположение. Directory Возможно, ваш$HOME
каталог находился/usr/jfw
в окне System III ./usr
содержится также то , как сейчас,/usr/bin
,/usr/lib
и т.д. Опыт показал , что сегрегация домашних каталогов была хорошая практикой управления системой, так и с/home
изменением политики в SVR4 он оставил позади все мы теперь думаем, как принадлежащие в/usr
./usr
у него все еще была веская причина удержать это имя: остались те файлы, которые не должны были быть доступны, пока система не загрузилась достаточно далеко, чтобы поддерживать нормальное интерактивное использование. То есть, то, что осталось позади, были ориентированные на пользователя части ОС. Это означало, что он/usr
мог находиться на другом физическом томе, что было хорошо во времена 92 МБ жестких дисков размером со стиральные машины .Ранние системы Unix старались не допускать доступа к файлам ядра ОС,
/usr
чтобы вы могли по-прежнему загружаться в однопользовательском режиме2, даже если/usr
том был по каким-то причинам отключен. Корневой том содержал достаточно инструментов, чтобы вернуть/usr
том в оперативный режим .Несколько ароматов Unix в настоящее время не игнорировать этот старый принцип конструкции , так как даже небольшие встроенные системы имеют достаточно мест как для традиционных объемных корневых файлов и все
/usr
на одном volume.³ Red Hat Enterprise Linux, Solaris и Cygwin SYMLINK/bin
к/usr/bin
и/lib
к/usr/lib
так что нет больше никакой разницы между этими каталогами.Да. Это относится к тому факту, что файлы в,
/usr/local
как предполагается, являются специфическими для этой единственной системы. Файлы, которые в любом случае являются общими, должны находиться в другом месте.Это также имеет корни в том, как системы Unix обычно использовались десятилетия назад, когда все это было стандартизировано. Опять же, жесткие диски того времени были громоздкими, действительно дорогими и хранили мало по сегодняшним стандартам. Чтобы сэкономить деньги и пространство на дисках, компьютерная лаборатория, полная коробок Unix, часто делится большей частью
/usr
через NFS или каким-либо другим сетевым протоколом обмена файлами, поэтому у каждого ящика не должно быть своей собственной избыточной копии. Файлы, относящиеся к одному коробка будет идти под/usr/local
, который будет отдельный объем от/usr
.Именно из-за этого исторического наследия большинство сторонних программ для Unix по умолчанию
/usr/local
устанавливаются вручную. Большая часть такого программного обеспечения позволит вам установить пакет где-нибудь еще, но, не делая выбора, вы получите безопасное значение по умолчанию, которое не мешает другим распространенным местам установки с более конкретными целями.Есть веские причины для установки программного обеспечения в другом месте. Команда компании Apple MacOS делает это , когда они строят, скажем,
bash
из исходного кода GNU Bash . Они используют/
в качестве префикса установки, переопределяя/usr/local
значение по умолчанию, так что Bash заканчивается в/bin
.Другой пример - способ, которым старые системы Linux
/usr/X11R6
отделяли свое программное обеспечение с графическим интерфейсом , чтобы отделить его от традиционной командной строки иcurses
программного обеспечения на основе. Это было сделано просто путем переопределения/usr/local
префикса по умолчанию с помощью/usr/X11R6
.⁵Это сокращение от «двоичный», что в данном контексте означает «файл, который не является простым текстом». Большинство таких файлов являются исполняемыми файлами в Unix-боксе, поэтому эти два термина стали синонимами в некоторых кругах. («Пожалуйста, создайте мне двоичный файл для RHEL 7, Фред».)
Текстовые файлы на коробке Unix живут в другом месте:
/etc
,/usr/include
,/usr/share
и т.д.Давным-давно, даже сценарии оболочки, представляющие собой простые текстовые файлы, не содержались в
bin
каталогах, но эта строка также размылась. Сегодняbin
каталоги обычно содержат любой исполняемый файл, будь то «бинарный» или нет.Сноски и отступления :
Примитивный характер инструментов управления пользователями до SVR4 означал, что
HOME=/usr/$NAME
схема была просто задокументирована как соглашение, а не применена программными инструментами по умолчанию.Вы можете увидеть это на странице 4-8 «Руководства системного администратора AT & T Unix System V Release 3.2 : здесь вы видите AT & T, рекомендующую старую
/usr/$NAME
схему в последней основной версии Unix до выхода SVR4.В старых системах Unix было довольно распространено, когда системные администраторы выбирали другую схему, которая имела для них больше смысла. Люди были людьми, это означало, что было изобретено много разных схем.
Одна схема, с которой я столкнулся прежде, чем
/home/$NAME
стала стандартом, была/u/$NAME
.Еще одна система , которую я использовал в начале 1990 - х годов было очень много пользователей , что они не могут поместиться все домашние каталоги на одном физическом томе, поэтому они использовали схему , как
/u1/$NAME
,/u2/$NAME
и так далее, как я помню. На каком диске оказался ваш домашний каталог, было просто вопросом, на каком из них было место на момент создания вашей учетной записи.Вы можете загрузить MacOS в однопользовательском режиме, удерживая его Cmd-Sво время загрузки. Отпустите, как только экран станет черным, и вы увидите светло-серый текст. Это похоже на работу под терминалом, но он занимает весь экран, потому что графический интерфейс еще не запущен.
Будь осторожен, ты бежишь как
root
.Введите «exit» в однопользовательском корневом запросе, чтобы выйти из однопользовательского режима и продолжить загрузку в многопользовательском режиме графического интерфейса.
Unixy операционки , которые все еще появляются , чтобы сохранить важные однопользовательский режим файлов из ,
/usr
не может, на самом деле, сделать это в эти дни. Однажды я сделал загрузочную коробку FreeBSD 9 недоступной, перейдя/usr
на том ZFS. Я забыл, что возможности ZFS-on-root не были доступны до FreeBSD 10, создав Catch 22 : ОС требовались файлы/usr
для монтирования/usr
!Это было достаточно плохо, но если бы FreeBSD 9 по-прежнему не использовала однопользовательскую загрузку
/usr
, я мог бы это исправить. Поскольку он не загружается даже в однопользовательском режиме,/usr
будучи несмонтируемым, очевидно, что традиция каким-то образом была нарушена. Мне пришлось загрузиться с аварийного компакт-диска, чтобы снова восстановить систему.Это также то, где мы получаем
/usr/share
: он разделяет файлы, которые могут быть общими даже для блоков Unix с разными типами процессоров. Как правило, текстовые файлы: справочные страницы, словарь и т. Д.«X11R6» относится к версии системы X Window, лежащей в основе графического интерфейса Linux, в то время, когда это соглашение было распространено. Системы Linux обычно перестали выделять программное обеспечение с графическим интерфейсом примерно во время замены X11R6 на X.Org .
Оригинальные системы Unix сохранили свои основные сценарии оболочки
/etc
, чтобы избежать смешения с истинными двоичными файлами в/bin
.источник
Я бы рекомендовал обратиться к Википедии для вопросов, связанных со структурой в целом, она будет охватывать основы.
Чтобы ответить на ваш вопрос напрямую, однако:
Вот почему вы склонны находить похожую структуру между ними; / USR / {, локальный /} {бен, SBIN, Lib}. Будучи новичком в оболочке, этот бит с {} является расширением оболочки. Попробуйте выполнить
из вашей локальной оболочки, чтобы увидеть, как это работает.
источник
/usr/local/bin
показывает UNIX-esque корни последней Mac OS (его BSD, основанный там).Это трансформировалось с ранних реализаций UNIX для Linux и BSD, но соглашение осталось. Теперь,
/usr/bin
было бы для "основных" или основных программ и библиотек, где/usr/local/bin
было бы для дополнительных и некритических программ и библиотек.источник
/usr/nzwulfin
по умолчанию. Еще одна распространенная схема. до того как/home
схема SVR4 вступила во владение, была/u
. Одна система, которую я использовал на ранних этапах, имела так много пользователей, что им требовалось несколько физических дисков для хранения пользовательских файлов, поэтому у них были такие вещи, как/u/d5/tangent
./usr/local/bin
является наиболее популярным местоположением по умолчанию для исполняемых файлов, особенно с открытым исходным кодом.Однако это, вероятно, плохой выбор, поскольку в системах Unix
/usr
в начале девяностых был стандартизирован, чтобы содержать иерархию файлов, которые принадлежат операционной системе и, таким образом, могут совместно использоваться несколькими системами, использующими эту ОС.Поскольку эти файлы статичны,
/usr
файловая система может быть смонтирована только для чтения./usr/local
нарушает этот стандарт, так как он локально проектируется и, следовательно, не используется совместно, поэтому должен быть доступен для чтения и записи, чтобы разрешить локальную компиляцию, и не является частью операционной системы. Жаль, что что-то вроде/opt/local
не было выбрано вместо ...источник
Я рекомендую вам использовать его
/usr/local
для коммерческих программ, таких как Mathematica. Поместите его в отдельный раздел при настройке. При обновлении ОС этот раздел не будет нарушен, и вам не придется переустанавливать его содержимое. Так что используйте его для вещей, которые вы хотите сохранить между обновлениями ОС.Отдельно, убедитесь, что вы также даете
/home
свой собственный раздел по этой причине.источник
Этот ответ также может быть полезен.
/ USR / местные
Первоначальная идея
/usr/local
заключалась в том, чтобы иметь отдельный ('local') '/ usr' каталог на каждом компьютере, кроме того/usr
, который мог быть просто смонтирован только для чтения откуда-то еще. Копирует структуру/usr
.В наши дни
/usr/local
повсеместно считается хорошим местом для хранения самостоятельно скомпилированных или сторонних программ./usr/local
Иерархия для использования системного администратора при установке программного обеспечения на местном уровне. Он должен быть защищен от перезаписи при обновлении системного программного обеспечения.Он может использоваться для программ и данных, которые совместно используются группой хостов, но не найдены в
/usr
. Локально установленное программное обеспечение должно быть размещено внутри,/usr/local
а не/usr
если оно не устанавливается для замены или обновления программного обеспечения/usr
.источник