Ubuntu где program files

Обновлено: 07.07.2024

Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]

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

Работаем с файловой системой

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

  1. pwd — показывает директорию в которой вы находитесь;
  2. ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент -l — ls -l /путь/к/папке ;
  3. cat — выводит содержимое файла, например cat /путь/к/файлу ;
  4. cd — переходит в указанную папку, например cd /путь/к/папке ;
  5. cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать ;
  6. mv — перемещает файл/папку, например mv /что/переместить /куда/переместить ;
  7. rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке ;
  8. du — считает размер директории, например du -hc /путь/к/папке ;
  9. mkdir — создаёт директорию, например mkdir /путь/к/папке ;
  10. touch — создаёт файл, например touch /путь/к/файлу .
  • Чтоб вернуться в предыдущую директорию, необходимо выполнить cd - ;
  • Чтобы перейти на одну директорию вверх, необходимо выполнить cd … ;
  • Чтобы перейти в домашнюю директорию, необходимо выполнить cd

Что где лежит и зачем оно там?

… если оно там лежит, значит так и должно быть, не трожь это!

Иерархия файловой система в * nix‐системах кардинально отличается от оной в MS Windows. В ней нету так называемых дисков (A:, C:, D:…), для сравнения, иерархия файловой системы в *nix можно представить как иерархию диска C: в MS Windows.

  • / — корень файловой системы, внутри него располагается всё;
  • /bin , /sbin , /usr/bin — тут располагаются различные исполняемые файлы (программы);
  • /boot — тут располагается ядро linux, и загрузчик (grub, lilo, и т.д.);
  • /dev — тут находятся все физические и виртуальные устройства (диски, клавиатуры, видео- и аудио‐карты , и т.д.);
  • /etc — тут находятся различные файлы настроек различных системных программ, демонов;
  • /home — тут располагаются домашние директории пользователей;
  • /lib — тут находятся модули ядра linux, и тут лучше ничего не трогать :);
  • /media — тут располагаются все примонтированные оптические диски (а так же и флэшки, жёсткие диски);
  • /mnt — тут должны находиться примонтированные жёсткие диски и флешки, но зачастую они оказываются в /media ;
  • /opt — тут находятся установленные проприетарные приложения и библиотеки;
  • /proc , /sys — системные директории с виртуальной файловой системой, хранят в себе информацию о системе, ядре, и прочей ерунде;
  • /root — домашняя директория пользователя root;
  • /usr — тут хранятся установленные программы, их ресурсы и библиотеки;
  • /usr/lib , /usr/lib32 — хранят в себе различные библиотеки;
  • /usr/include — хранят в себе заголовочные файлы различных библиотек, которые используются при разработке ПО;
  • /usr/local — имеет такую же структуру как и /usr , только хранит в себе вручную собранные и установленные приложения и библиотеки;
  • /usr/share — тут находятся различные ресурсы библиотек и приложений (изображения, звуки, шрифты, документация)
  • /var — директория в которой хранятся логи, файлы данных различных системных приложений (например базы данных mysql), сокет‐файлы ;
  • /tmp — директория для хранения временных файлов, очищается при перезагрузке системы;
  • . — текущая директория;
  • … — директория на один уровень выше текущей.

Более подробную информацию о иерархии файловой системы можно почитать в man hier .

Заключение

Если вы не уверенны в том, что некий файл/папку можно изменить/удалить без последствий, то лучше этого не делайте. Как говорится, «работает не трожь! ».

И как всегда, я не несу никакой ответственности за то, что вы возможно натворите в своей системе. Если вы удалите что нибудь и у вас после этого система не загрузится — не пишите мне о том, что я в этом виноват :).

Файловая система Linux очень сильно отличается от того, к чему привык пользователь Windows. Тут нет привычных дисков с их буквенным обозначением и нет папки Program Files.

Файловая система Линукс располагает папки по типу дерева, которое идет от некого корня.

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

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

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

И так, мы отвлеклись. Каждая папка Linux хранит свой тип файлов:

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

/dev это папка файлов устройств, да в Линуксе каждое устройство это файл.

/boot это загрузчик

/media сюда монтируются съемные носители

Но это все тема отдельная, нас интересует именно куда программы то ставятся.

Тут я имею ввиду программы, которые ставит установщик из стандартных пакетов.

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

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

Ну ладно, продолжим.

/usr/bin - сюда помещаются исполняемые файлы программ

usr/lib - а здесь библиотеки, которые нужны программе

usr/sbin - сюда помещаются исполняемые файлы от имени администратора

/usr/share - прочие файлы программ

Как я писал выше, что существует правило распределения файлов, но оно не всегда соблюдается.

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

Но некоторые программы "идут еще дальше и , как сказать, ставят себя в папку /home/имя_пользователя/opt

Узнать, куда разместились файлы программы можно командой:

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

Читал статью что программы устанавливаются в корневой раздел «/» но потом нашел другую информацию что устанавливаются в «/home» в линукс сообществе в вк, так куда?

Как мэйнтейнеру пакета в голову стукнет.

phoen ★★ ( 21.09.20 13:22:33 )
Последнее исправление: phoen 21.09.20 13:22:43 (всего исправлений: 1)


Те что из репозитария ставятся в /, сторонние если юзер хочет может поставить в /home или в /.


обычно, пакеты из репозиториев помещают исполняемые файлы в /usr/bin или /usr/local/bin, вспомoгательные файлы программ хранятся в /usr/lib, /usr/share, /home и т.д. Сторонние программы могут устанавливаться целиком в /opt


Если вкратце, то куда угодно.


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


кстати, а какой смысл в таком равномерном размазывании?

пакеты из репозиториев помещают исполняемые файлы в /usr/bin или /usr/local/bin

Вообще-то нет. В /usr/local идёт самосбор. Из пакетов туда вообще не ставят в нормальной ситуации.

чтобы не искать конфиг и исполняемый файл в новой жопе очередного изобретательного разработчика?

кстати, а какой смысл в таком равномерном размазывании?


Есть дистрибутивы, они разные в разных места установки разные, всем заведует менеджер пакетов apt в Debian, pacman в Arch, dnf в Fedora и так далее, соотвецтвенно форматы пакетов разные. Достаточно знать как пользоваться менеджером в любимом тебе дистрибутиве и всё.

Чаще всего программы устанавливаются в /usr/bin/ или в /usr/local/bin есть пользовательские каталоги для этого в особых случаях

/.local/bin/ например. Сторонее проприетарное ПО или же то которое не хочется совать в систему ставят уже руками в /opt/ На самом деле вариантов ещё много, у каждой цели установки свой смысл, просто иди и где то читай про это. И да порой конечно есть излишества.

В любом случае если не городить что-то самому то используй менеджер пакетов который в 99% случаев всё ставить в /usr/bin/ Что бы те было понятнее usr это User System Resources почти program files как в винде, только там один каталог где всё в кашу, а тут есть ещё дополнительное дробление и всё на свои полочки кидается и если знаешь что для чего всегда заранее знаешь что и где искать.

Есть ещё /bin это системные программы наиболее важные для функционирования системой. (Не совсем так, но считай так и есть)

Что бы ещё было понятнее, есть разные типы файлов в одной программе картинки, документация, примеры, конфигурационные фалйы, библиотеки и исполняемые файлы, при установке всё это расфасовывается не в 1 место, а в разные в зависимости от типа файла и его предназначения. И программа установленная как бы интегрируется с системой, сливается с ней в одно целое, а не как в винде в отдельном каталоге всё в кучу. И у того и у того есть и минусы и плюсы.

Я использую Ubuntu 12.04 и не могу найти, где я устанавливаю программное обеспечение, используя apt-get. В тире, если я набираю eclipse или название программного обеспечения, оно появляется, но я не могу щелкнуть по нему правой кнопкой мыши и открыть папку. Кто-нибудь знает, как найти, где именно определенное программное обеспечение установлено с помощью черты. Также возможно установить программное обеспечение для установки в определенном месте при использовании apt-get.

2 ответа

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

Но это, вероятно, будет указывать на некоторый каталог "bin", а не на каталог, содержащий данные. Это связано с тем, что программные компоненты устанавливаются не в одном каталоге, а во многих папках. Двоичные файлы остаются в / usr / bin /, / bin, / sbin и т. Д. В зависимости от их использования. Конфигурация в / etc, данные в / usr / share, и так далее. Обратитесь к этому документу о стандарте иерархии файловой системы и о причине, по которой обычно у вас нет установки из одной папки. Как следует из FHS, насколько я знаю, невозможно заставить его установить в другом месте.

То, где находится затмение, зависит от того, какую часть затмения вы ищете. Общей необходимостью является установка плагинов, которые хранятся в: /usr/lib/eclipse/plugins. Я обычно предпочитаю встроенный менеджер плагинов.

  1. Вы не должны и, по сути, не можете заставить менеджер пакетов поместить любой файл в любое место, кроме его расположения по умолчанию.
  2. Вы можете найти расположение практически любой программы (то есть самого исполняемого файла) с помощью команды which filename или с помощью поиска в Наутилус.

Вы не можете изменить расположение по умолчанию для установки программного обеспечения с apt-get Центр программного обеспечения или другие инструменты управления пакетами в Ubuntu. Вы можете вручную извлекать пакеты и извлекать их файлы где угодно, но вы почти наверняка не захотите этого делать. Вообще говоря, это хлопотно, и обычно нет причин делать это.

  • Если вы считаете, что вам это выгодно, добавьте в свой вопрос подробности о том, почему, что вам нужно сделать. Лучший способ сделать это зависит от этого, плюс могут быть альтернативы, которые вы не рассматривали.

Пакеты устанавливают файлы по всей файловой системе, в основном в разных подкаталогах /usr , Это соответствует стандарту иерархии файловых систем, в котором указывается, куда различные типы файлов, связанных с установленными программами и библиотеками, должны попадать в систему GNU/Linux (то есть в "дистрибутив Linux", такой как Ubuntu).

  • Сами исполняемые файлы идут в основном в /usr/bin , Вот где eclipse исполняемый файл устанавливается при установке eclipse пакет на Ubuntu.
  • Исполняемые файлы для игр часто заходят в /usr/games вместо.
  • Исполняемые файлы для системных служб, таких как NetworkManager, обычно входят в /usr/sbin вместо. ( s расшифровывается как "система". Это "системные двоичные файлы".)
  • Библиотеки в основном идут в /usr/lib ,
  • Если у вас есть 64-битная система Ubuntu, 32-битные библиотеки (установленные для поддержки 32-битных исполняемых файлов, поскольку 64-битная система может запускать как 64-битные, так и 32-битные программы) в основном идут в /usr/lib32 ,
  • Заголовочные файлы, которые облегчают сборку программного обеспечения из источника, связанного с установленными библиотеками, в основном идут в /usr/include , Эти файлы предоставляются пакетами, имена которых заканчиваются на -dev , Исключение составляют заголовки для сборки модулей ядра - они идут в /usr/src ,
  • Исходный код, установленный для общесистемного использования для пакетов, обеспечивающих его, идет в основном в /usr/src , Заголовочные файлы для сборки модулей ядра также находятся здесь.
  • Общесистемные файлы данных (т. Е. Не исполняемый код, а данные) для установленных программ и библиотек, когда они не зависят от архитектуры (например, не зависят от того, есть ли у вас 32-разрядный или 64-разрядный процессор), в основном идут в /usr/share , Обратите внимание, что это касается файлов данных, которые остаются неизменными, за исключением случаев, когда обновляется сам пакет, а не документы, которые вы создаете. Например, основные списки для словарей проверки орфографии (но не для пользовательских дополнений к ним) обычно /usr/share ,
  • Общесистемные файлы конфигурации практически для каждого пакета (и большинства программ, не установленных через менеджер пакетов) /etc ,

Вы заметите, я продолжаю говорить "обычно". Это потому что:

  • Основные системные файлы, включая наиболее важные программы и библиотеки для функционирования системы, не входят внутрь /usr , Они идут в соответствующих подкаталогах / сам. Например, файлы ядра, которые предоставляют основные системные утилиты, входят в /sbin , Базовые системные файлы, которые предоставляют базовые "пользовательские" утилиты, такие как оболочки, предоставляемые системой по умолчанию, помещаются в /bin , Основные библиотеки входят в /lib , И так далее.
  • Иногда пакет может устанавливать файлы в другом месте. Наиболее распространенным таким местом является /opt , Основное назначение /opt должен хранить (1) программы, которые предпочитают не распространять свои файлы по обычным местам в иерархии файловой системы, а вместо этого все в одном каталоге (независимо от того, установлены ли эти программы с помощью менеджера пакетов), и (2) программы устанавливается бинарными установщиками, а не через менеджер пакетов, и с ними не связан пакет. (Программы, установленные для общесистемного использования путем создания пользователем вручную из исходного кода, обычно устанавливаются в каталогах внутри /usr/local .)

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

Я не знаю, как использовать Unity Dash, чтобы сообщить вам местоположение программы доступным способом. Но вы можете сделать это графически с помощью Nautilus, графического браузера файлов.

  1. Откройте окно Nautilus и нажмите Ctrl + F (или нажмите " Перейти" > " Поиск файлов. ").
  2. Введите то, что вы ищете (в этом случае, eclipse ) и нажмите Enter .
  3. По умолчанию это будет искать только в папке, которая открыта в этом конкретном окне Nautilus. Но вы можете изменить это. После поиска измените местоположение на файловую систему (или там, где вы хотите искать, вы даже можете указать пользовательское местоположение поиска /usr ) и нажмите " Перезагрузить".

Поиск файловой системы для затмения, в Наутилус

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

Используя терминал ( Ctrl + Alt + T ), вы можете найти такие исполняемые файлы, как eclipse с which :

which сообщает вам, какой исполняемый файл (если есть) будет запущен, если вы наберете eclipse и нажмете Enter в Терминале. Это довольно часто, но не всегда, то же самое, что и первый результат поиска, когда вы ищете то же самое в тире Unity.

Используя терминал, вы можете быстро найти файлы с locate (поскольку база данных, в которой хранится список, периодически обновляется). Это особенно хорошо, когда вы хотите найти файл, который предоставляется пакетом, но на самом деле не является исполняемым файлом.

Читайте также: