Под Windows большинство приложений и данных приложений хранятся в специальном каталоге, известном как C:\Program Files
(и иногда C:\Program Files (x86)
). Что такое Ubuntu / Linux, эквивалентный этому пути? Есть ли хоть один?
filesystem
Каз Вулф
источник
источник
Ответы:
/bin
и/usr/bin
где сценарии, которые запускают программы. Прямой эквивалент "Program Files", хотя, вероятно,/usr/share
( см. Стандарт иерархии файловой системы ). Этот каталог содержит различные файлы поддержки для большинства программ.Однако, вероятно, не существует прямого эквивалента, так как, например, файлы библиотеки являются общими для всей системы (in
/lib
), а параметры либо определяются пользователем (в домашнем каталоге пользователя), либо универсально расположены в/etc
.Поэтому установка программы через файл deb, репозиторий или сборку, скорее всего, поместит файлы во все эти места.
[РЕДАКТИРОВАТЬ] И, как другие отмечают, есть также
/sbin
и/usr/sbin
. Кроме того/usr/local/bin
,/opt/bin
и даже/usr/games/
. Так что определенно не прямое сравнение сc:\program files
!источник
/opt
? Я видел, что раньше многие программы (обычно с закрытым исходным кодом или на основе приложений) были похожиProgram Files
./opt
каталог./usr/local/bin
является полураспространенным местоположением для программного обеспечения, которое обычно не используется пользователем / компанией.Поздний ответ - я создал дорожную карту для начинающих. Если они ищут файл, но не знают, где искать, они могут использовать карту, чтобы примерно перемещаться. Вы можете скачать PNG в высоком разрешении здесь . Вы можете найти соответствующий пост здесь . Я буду обновлять и файл, и пост, когда позволит время, включая полезные комментарии.
источник
РЕДАКТИРОВАТЬ: См. Также ответ d4nyll ниже для превосходной и удобной для начинающих карты!
Прочитайте мой ответ ниже для получения дополнительной информации о том, что такое
PATH
переменная окружения, что такое.desktop
файлы и как найти конкретную программу, используя различные команды linux.Оригинальный ответ:
Нет простого ответа.
/bin
,/usr/bin
И/usr/share
Как упоминалось в других ответах, вы можете найти большинство исполняемых файлов в папке
/bin
или/usr/bin
, а файлы поддержки установлены в/usr/share
./usr/local
а также/opt
Однако есть и другие каталоги, в которые Ubuntu устанавливает приложения.
PATH
Переменный, которая определяет , где искать введенную команду, может дать вам ключ, мой выглядит (echo $PATH
в терминале):Как вы можете видеть, некоторые программы установлены в
/usr/local
и имеют свой собственный каталог иbin
. Другое место, где установлено много программ/opt
. Свойства этих расположений объясняются стандартом иерархии файловых систем , который очень хорошо читается. К сожалению, разница между/opt
и/usr/local
не очень хорошо объяснена, у кого-то в unix stackexchange было более сложное объяснение:/usr/local
это место для установки файлов, созданных администратором, обычно с помощью команды make. Идея состоит в том, чтобы избежать конфликтов с файлами, которые являются частью операционных систем, которые либо перезаписывают, либо перезаписывают локальные. например./usr/bin/foo
является частью ОС, а/usr/local/bin/foo
является локальной альтернативой,/opt
каталог для установки пакетов, каждый из которых находится в своем собственном подкаталоге. Они уже созданы целыми пакетами, предоставленными независимым сторонним дистрибьютором программного обеспечения. Например,someapp
был бы установлен в/opt/someapp
, одна из его команд была бы в/opt/someapp/bin/foo
[и тогда обычно в одной изbin
директорий вPATH
, или обычно, вызывается символическая ссылка , или программа вызывается из файла рабочего стола (см. Ниже)].Поиск конкретной программы или команды
.desktop
файлыЧтобы узнать, где установлена конкретная программа, вы можете сделать несколько шагов. Сначала вам нужно найти его
.desktop
файл. Файлы рабочего стола похожи на ярлыки в Windows, и для системных приложений они находятся в/usr/share/applications
. Файлы рабочего стола для приложений, которые доступны только для текущего пользователя, находятся в~/.local/share/applications
. Возьмем, к примеру, Google Chrome, в котором есть файл рабочего стола,/usr/share/applications/google-chrome.desktop
и найдите строку, которая начинается сExec=
, это определяет, как запустить Google Chrome. Это говорит:Итак, вы знаете, что Google Chrome включен
/opt
.Теперь для Mozilla Firefox, который находится в
/usr/share/applications/firefox.desktop
. Это просто говоритПоначалу кажется, что это не очень помогает, но потом вы понимаете, что это
firefox
должно быть в каталоге, который находится вPATH
переменной (скорее всего, в abin
), и мы можем это найти (см. Ниже).Поиск команд
Для просмотра команд , которые вы можете использовать один или несколько из следующих действий :
type
,which
иwhereis
(я включил ссылку на их ручные страницы в Интернете).type : описывает команду и указывает, как она будет интерпретироваться, если используется как имя команды. Возможные типы для команды:
(сам тип является встроенным в оболочку, попробуйте его с помощью
type type
: P)Выполнение
type firefox
дает намэто то, что мы хотели знать
Если команда является файлом (который вы проверили
type
), вы можете также использовать:который : показывает полный путь к команде,
Выполнение
which firefox
дает намwhereis : найдите бинарные, исходные и справочные файлы для команды.
Выполнение
whereis firefox
дает намбонус
Вы можете проверить
/usr/bin/firefox
ближе с,ls -l /usr/bin/firefox
и это дает:Похоже, что
/usr/bin/firefox
это «только» символическая ссылка на сценарий/usr/lib/firefox/firefox.sh
. Если вы проверяете скрипт, вы обнаруживаете, что скрипт вызывает/usr/lib/firefox/firefox
.Вы можете покоиться с миром сейчас :)
источник
Не существует единственного каталога, который является точным эквивалентом папки Program Files . В Linux порядок вещей сильно отличается от Windows.
В windows каждая программа, которую мы устанавливаем, получает свой собственный каталог внутри каталога Program Files. В этом каталоге создаются дополнительные подкаталоги для разных типов файлов. Не существует фиксированной структуры для подкаталогов. Программы сами решают, как они будут называть каждый каталог, и куда они хотят что-то поместить.
Но в Linux, когда установлена программа, файлы разных типов копируются в разные места. Исполняемые файлы копируются в / usr / bin , файлы библиотеки в / usr / lib , документация в один или несколько из / usr / man , / usr / info и / usr / doc . Если есть конфигурационные файлы, то они, как правило , в домашнем каталоге пользователя или в / и т.д. .
источник
C:\Program Files
Папка будет/usr/bin
в Ubuntu./bin
выглядит больше какC:\windows
.На странице руководства по иерархии файловой системы :
Ubuntu имеет другую структуру, чем Windows. Скажем, Ubuntu размещает почти все приложения в одном каталоге
/usr/bin
. Например, Windows создаст новую папкуMozilla Firefox
и добавит в нее конфигурацию, исполняемые файлы, библиотеки DLL, образы и т. Д. Ubuntu разбивает их на части, исполняемые файлы включаются/usr/bin
, конфигурация общесистемной/etc
, разделяемые объекты/usr/lib
, образы/usr/share
, ...источник
«Программные файлы» Linux находятся во всей иерархии. Это может быть
/usr/bin
,/bin
,/opt/...
или в других каталогах.Я думаю, вы найдете файл, связанный с вашей заявкой. Затем у меня есть идея, как искать файлы, которые устанавливаются при установке программы.
synaptic
выдачуsudo apt-get install synaptic
на терминал.Properties
.Installed File
вкладке. Результат такой же какdpkg -L package_name
.Это связано с тем, что linux перемещает установленный файл в каталоги отдельно в зависимости от их типа.
/usr/bin
или/bin
./usr/share/icons
или на~/.local/share/icons
местный./opt
./usr/share/applications
или включен~/.local/share/applications
/usr/share/doc
/usr/lib
И многие другие каталоги. (CMIIW, принятие поправки)
источник
В этом ответе, когда я говорю Unix, я имею в виду Unix, а также Unix-подобные операционные системы.
В Ubuntu на самом деле нет папки программ, содержащей все данные для каждой программы. В Unix и Unix-подобных операционных системах ВСЕ - это файл, даже команды терминала. Они тоже файлы. То, как Unix обрабатывает программы, может быть довольно хаотичным и организованным одновременно.
Значки для программ хранятся в / usr / share / icons / *, исполняемые файлы программ обычно хранятся в / usr / bin, / bin и других местах с каталогами bin (bin - это сокращение от bin). Библиотеки, от которых зависят программы, находятся в / lib.
Таким образом, вы получите не каталог, содержащий все данные для одной программы, а данные для программы. Хотя поначалу это кажется очень неорганизованным, оно позволяет обмениваться стандартными вещами, такими как библиотеки и значки.
Благодаря разрешениям для каждого файла, идея о том, что все является файлом, честно говоря, очень гениальна. Это делает Unix НАМНОГО более безопасным, чем другие операционные системы.
источник
Способ установки программ для Linux и Windows совершенно другой.
Общий шаблон в Windows для программы; или кучу программ от одного поставщика перейдите в его собственный подкаталог в C: \ Programs \ vendor или что-то подобное.
В Linux ваши файлы распределяются между определенными подкаталогами в зависимости от их функции. Есть каталоги для библиотек, иконки, справочные страницы, файлы журналов, конфигурации и так далее. Вы можете использовать некоторые из них, но система будет управлять всеми из них. Они не связаны вместе, но существуют вместе с аналогичными файлами из других программ.
Таким образом, в обычной реализации Linux нет реального эквивалента этой структуре каталогов Windows.
источник
Если вы устанавливаете собственные программы, я рекомендую 1 папку:
источник
Посмотрите на
/bin
,/usr/bin
и все остальное , что говоритbin
.источник