Usr local bin windows

Что такое / usr / local / bin?

До сегодняшнего дня я использовал терминал в ограниченной степени для перемещения и извлечения каталогов и изменения даты файлов с помощью touch команды. Я понял весь объем терминала после установки забавного скрипта на Mac и наличия chmod 755 файла, чтобы впоследствии его можно было выполнить.

Я хотел бы знать, что /usr/local/bin , однако. /usr/ Я полагаю, это пользователь компьютера. Я не уверен, почему /local/ там. Очевидно, это означает локальный компьютер, но поскольку он находится на компьютере (или сервере), действительно ли это будет необходимо? Не было /usr/bin бы хорошо?

А что есть /bin ? Почему эта область обычно используется для установки скриптов на терминал?

/usr/local/bin для программ, которые может запустить обычный пользователь.

  • /usr/local Иерархия для использования системного администратора при установке программного обеспечения на местном уровне.
  • Он должен быть защищен от перезаписи при обновлении системного программного обеспечения.
  • Он может использоваться для программ и данных, которые являются общими для группы хостов, но не найдены в /usr .
  • Локально установленное программное обеспечение должно быть размещено в /usr/local / usr, а не в том случае, если оно устанавливается для замены или обновления программного обеспечения /usr .

Этот источник помогает объяснить стандарт иерархии файловой системы на более глубоком уровне.

/ usr /, я полагаю, является пользователем компьютера.

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 так что нет больше никакой разницы между этими каталогами.

. / local / . очевидно обозначает локальный компьютер .

Да. Это относится к тому факту, что файлы в, /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 .⁵

Читайте также:  See path environment variable windows

Это сокращение от «двоичный», что в данном контексте означает «файл, который не является простым текстом». Большинство таких файлов являются исполняемыми файлами в 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 .

Cygwin installation: Missing /usr/bin and /usr/local/sbin directories

I have Windows 7 64-bit PC. I just installed Cygwin latest version 2.6.0 on it in c:\cygwin64 directory. During installation I make sure that I selected these packages: gcc-core , make , openssl , ssh , vim , emacs , scp and ftp . The installation completed successfully.

Now I am looking at the c:\cygwin64 directory and I see some directories are missing:

  • /bin (directory exist)
  • /sbin (directory exist)
  • /usr/bin (directory does not exist)
  • /usr/sbin (directory exist)
  • /usr/local/bin (directory exist)
  • /usr/local/sbin (directory does not exist)

So why /usr/bin and /usr/local/sbin directories are missing? Are they obsolete?

1 Answer 1

As Erik said, c:\cygwin64\usr\bin is really c:\cygwin64\bin in your case. As for /usr/local/sbin/ , perhaps nothing was going to be installed there from those packages, so it was not created.

4.33. Why the weird directory structure? Why do /lib and /usr/lib (and /bin, /usr/bin) point to the same thing?

Why use mounts instead of symbolic links?

Can I use a disk root (e.g., C:) as Cygwin root? Why is this discouraged?

After a new installation in the default location, your mount points will look something like this:

Note that /bin and /usr/bin point to the same location, as do /lib and /usr/lib. This is intentional, and you should not undo these mounts unless you really know what you are doing.

Various applications and packages may expect to be installed in /lib or /usr/lib (similarly /bin or /usr/bin). Rather than distinguish between them and try to keep track of them (possibly requiring the occasional duplication or symbolic link), it was decided to maintain only one actual directory, with equivalent ways to access it.

Symbolic links had been considered for this purpose, but were dismissed because they do not always work on Samba drives. Also, mounts are faster to process because no disk access is required to resolve them.

Note that non-cygwin applications will not observe Cygwin mounts (or symlinks for that matter). For example, if you use WinZip to unpack the tar distribution of a Cygwin package, it may not get installed to the correct Cygwin path. So don’t do this!

Читайте также:  Word 2016 для windows 10 активированный

It is strongly recommended not to make the Cygwin root directory the same as your drive’s root directory, unless you know what you are doing and are prepared to deal with the consequences. It is generally easier to maintain the Cygwin hierarchy if it is isolated from, say, C:. For one thing, you avoid possible collisions with other (non-cygwin) applications that may create (for example) \bin and \lib directories. (Maybe you have nothing like that installed now, but who knows about things you might add in the future?)

How can I add

I’m just trying to follow this tutorial and set up my environment. My system is WSL Ubuntu 18.04. Here is already an answer on my question, but I as an absolute novice in Linux/UNIX don’t know which variant presented there more suitable for my goal. Do I need to add this string

Or may I need to accomplish the second step from the answer?

And then run these commands?

2 Answers 2

/bin folder in your home folder, it’ll already be in your default path. No need to modify anything, or add folders to a hidden .local folder. Create the

/bin folder, log out, log back in, and open a terminal window, and you can confirm the path by typing echo $PATH .

Update #1:

If you decide to use

/.local/bin anyway, add this to the end of your

Then log out, log back in, and your new path will be available.

/.local/bin But now only

/.local This command — export PYTHONUSERBASE=/myappenv solve the problem, but only till reload. – Alex Stelmakh Jan 29 ’19 at 16:38

expanded to the absolute path to your home directory) so you’ll need to add

/.local/bin to your PATH. You can set your PATH permanently by modifying

/.profile. I’m trying to follow these instructions. And accordingly it is not as simple as adding /bin in my home directory. – Alex Stelmakh Jan 30 ’19 at 18:37

The PATH variable gets changed when this shell command is executed:

/.profile will be executed automatically when you open a bash session (normally when you open a new terminal window/tab).

So if you want to change the PATH in current shell session only, you could just type export PATH=xxx and execute it once. But if you want to make it difference permanently, you should add the command above into

Cтруктура файловой системы Linux

Понимание файловой системы Linux, структуры каталогов, размещения конфигурационных, исполняемых и временных файлов поможет вам лучше разбираться в своей системе и стать успешным системным администратором. Файловая система Linux будет непривычна именно для новичка, только что перешедшего с Windows, ведь здесь все совсем по-другому.

В отличие от Windows, программа не находится в одной папке, а, как правило, распределена по корневой файловой системе. Это распределение поддается определенным правилам. Вы когда-нибудь задавались вопросом, почему некоторые программы находятся в папке /bin, или /sbin, /usr/sbin, /usr/local/bin, в чем разница между этими каталогами?

Например, программа less, находится в каталоге /usr/bin, но почему не в /sbin или /usr/sbin. А такие программы, как ifconfig или fdisk находятся в каталоге /sbin и нигде иначе. В этой статье будет полностью рассмотрена структура файловой системы Linux, после ее прочтения вы сможете понять смысл использования большинства папок в корневом каталоге Linux.

/ — корень

Это главный каталог в системе Linux. По сути, это и есть файловая система Linux. Здесь нет дисков или чего-то подобного, как в Windows. Вместо этого, адреса всех файлов начинаются с корня, а дополнительные разделы, флешки или оптические диски подключаются в папки корневого каталога.

Только пользователь root имеет право читать и изменять файлы в этом каталоге. Обратите внимание, что у пользователя root домашний каталог /root, но не сам /.

/bin — (binaries) бинарные файлы пользователя

Этот каталог содержит исполняемые файлы. Здесь расположены программы, которые можно использовать в однопользовательском режиме или режиме восстановления. Одним словом, те утилиты, которые могут использоваться пока еще не подключен каталог /usr/. Это такие общие команды, как cat, ls, tail, ps и т д.

/sbin — (system binaries) системные исполняемые файлы

Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.

/etc — (etcetera) конфигурационные файлы

В этой папке содержатся конфигурационные файлы всех программ, установленных в системе. Кроме конфигурационных файлов, в системе инициализации Init Scripts, здесь находятся скрипты запуска и завершения системных демонов, монтирования файловых систем и автозагрузки программ. Структура каталогов linux в этой папке может быть немного запутанной, но предназначение всех их — настройка и конфигурация.

/dev — (devices) файлы устройств

В Linux все, в том числе внешние устройства являются файлами. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры — это просто файлы в каталоге /dev/. Этот каталог содержит не совсем обычную файловую систему. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов. Это такие устройства, как: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д.

Читайте также:  Как подключить принтер по сети windows 10 через wifi

/proc — (proccess) информация о процессах

Это тоже необычная файловая система, а подсистема, динамически создаваемая ядром. Здесь содержится вся информация о запущенных процессах в реальном времени. По сути, это псевдофайловая система, содержащая подробную информацию о каждом процессе, его Pid, имя исполняемого файла, параметры запуска, доступ к оперативной памяти и так далее. Также здесь можно найти информацию об использовании системных ресурсов, например, /proc/cpuinfo, /proc/meminfo или /proc/uptime. Кроме файлов в этом каталоге есть большая структура папок linux, из которых можно узнать достаточно много информации о системе.

/var (variable) — Переменные файлы

Название каталога /var говорит само за себя, он должен содержать файлы, которые часто изменяются. Размер этих файлов постоянно увеличивается. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее. Дальше рассмотрим назначение каталогов Linux в папке /var/.

/var/log — Файлы логов

Здесь содержатся большинство файлов логов всех программ, установленных в операционной системе. У многих программ есть свои подкаталоги в этой папке, например, /var/log/apache — логи веб-сервера, /var/log/squid — файлы журналов кеширующего сервера squid. Если в системе что-либо сломалось, скорее всего, ответы вы найдете здесь.

/var/lib — базы данных

Еще один тип изменяемых файлов — это файлы баз данных, пакеты, сохраненные пакетным менеджером и т д.

/var/mail — почта

В эту папку почтовый сервер складывает все полученные или отправленные электронные письма, здесь же могут находиться его логи и файлы конфигурации.

/var/spool — очереди

Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cpus.

/var/lock — файлы блокировок

Здесь находятся файлы блокировок. Эти файлы означают, что определенный ресурс, файл или устройство занят и не может быть использован другим процессом. Apt-get, например, блокирует свою базу данных, чтобы другие программы не могли ее использовать, пока программа с ней работает.

/var/run — PID процессов

Содержит файлы с PID процессов, которые могут быть использованы, для взаимодействия между программами. В отличие от каталога /run данные сохраняются после перезагрузки.

/tmp (temp) — Временные файлы

В этом каталоге содержатся временные файлы, созданные системой, любыми программами или пользователями. Все пользователи имеют право записи в эту директорию.

Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка Windows\Temp, здесь тоже хранятся все временные файлы.

/usr — (user applications) Программы пользователя

Это самый большой каталог с большим количеством функций. Тут наиболее большая структура каталогов Linux. Здесь находятся исполняемые файлы, исходники программ, различные ресурсы приложений, картинки, музыку и документацию.

/usr/bin/ — Исполняемые файлы

Содержит исполняемые файлы различных программ, которые не нужны на первых этапах загрузки системы, например, музыкальные плееры, графические редакторы, браузеры и так далее.

/usr/sbin/

Содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. Например, таких как Gparted, sshd, useradd, userdel и т д.

/usr/lib/ — Библиотеки

Содержит библиотеки для программ из /usr/bin или /usr/sbin.

/usr/local — Файлы пользователя

Содержит файлы программ, библиотек, и настроек созданные пользователем. Например, здесь могут храниться программы собранные и установленные из исходников и скрипты, написанные вручную.

/home — Домашняя папка

В этой папке хранятся домашние каталоги всех пользователей. В них они могут хранить свои личные файлы, настройки программ и т д. Например, /home/sergiy и т д. Если сравнивать с Windows, то это ваша папка пользователя на диске C, но в отличии от WIndows, home как правило размещается на отдельном разделе, поэтому при переустановке системы все ваши данные и настройки программ сохранятся.

/boot — Файлы загрузчика

Содержит все файлы, связанные с загрузчиком системы. Это ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub.

/lib (library) — Системные библиотеки

Содержит файлы системных библиотек, которые используются исполняемыми файлами в каталогах /bin и /sbin.

Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. Например, libncurses.so.5.7. Папка /lib64 в 64 битных системах содержит 64 битные версии библиотек из /lib. Эту папку можно сравнить с WIndows\system32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.

/opt (Optional applications) — Дополнительные программы

В эту папку устанавливаются проприетарные программы, игры или драйвера. Это программы созданные в виде отдельных исполняемых файлов самими производителями. Такие программы устанавливаются в под-каталоги /opt/, они очень похожи на программы Windows, все исполняемые файлы, библиотеки и файлы конфигурации находятся в одной папке.

/mnt (mount) — Монтирование

В этот каталог системные администраторы могут монтировать внешние или дополнительные файловые системы.

/media — Съемные носители

В этот каталог система монтирует все подключаемые внешние накопители — USB флешки, оптические диски и другие носители информации.

/srv (server) — Сервер

В этом каталоге содержатся файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.

/run — процессы

Еще один каталог, содержащий PID файлы процессов, похожий на /var/run, но в отличие от него, он размещен в TMPFS, а поэтому после перезагрузки все файлы теряются.

/sys (system) — Информация о системе

Назначение каталогов Linux из этой папки — получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.

Выводы

Теперь структура файловой системы Linux не кажется вам темным лесом. Конечно еще есть с чем разбираться, одна только подсистема /proc, /sys или /dev чего стоит. Но база уже заложена. Если я что-то упустил — напишите в комментариях.

Оцените статью