Ubuntu где program files
Обновлено: 07.07.2024
Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]
Работая в терминале очень часто приходится работать с файловой системой. В этой статье мы узнаем с помощью каких утилит можно работать с файловой системой и в какой папке что лежит.
Работаем с файловой системой
Для работы с файловой системой существует небольшой набор утилит, которые очень часто используются в повседневной жизни. Вот список этих утилит:
- pwd — показывает директорию в которой вы находитесь;
- ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент -l — ls -l /путь/к/папке ;
- cat — выводит содержимое файла, например cat /путь/к/файлу ;
- cd — переходит в указанную папку, например cd /путь/к/папке ;
- cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать ;
- mv — перемещает файл/папку, например mv /что/переместить /куда/переместить ;
- rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке ;
- du — считает размер директории, например du -hc /путь/к/папке ;
- mkdir — создаёт директорию, например mkdir /путь/к/папке ;
- 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. Я обычно предпочитаю встроенный менеджер плагинов.
- Вы не должны и, по сути, не можете заставить менеджер пакетов поместить любой файл в любое место, кроме его расположения по умолчанию.
- Вы можете найти расположение практически любой программы (то есть самого исполняемого файла) с помощью команды 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, графического браузера файлов.
- Откройте окно Nautilus и нажмите Ctrl + F (или нажмите " Перейти" > " Поиск файлов. ").
- Введите то, что вы ищете (в этом случае, eclipse ) и нажмите Enter .
- По умолчанию это будет искать только в папке, которая открыта в этом конкретном окне Nautilus. Но вы можете изменить это. После поиска измените местоположение на файловую систему (или там, где вы хотите искать, вы даже можете указать пользовательское местоположение поиска /usr ) и нажмите " Перезагрузить".
Это способ поиска файлов в вашей системе в целом (а не только тех, которые предоставляются пакетами Ubuntu) с возможностью получения подробной информации о них.
Используя терминал ( Ctrl + Alt + T ), вы можете найти такие исполняемые файлы, как eclipse с which :
which сообщает вам, какой исполняемый файл (если есть) будет запущен, если вы наберете eclipse и нажмете Enter в Терминале. Это довольно часто, но не всегда, то же самое, что и первый результат поиска, когда вы ищете то же самое в тире Unity.
Используя терминал, вы можете быстро найти файлы с locate (поскольку база данных, в которой хранится список, периодически обновляется). Это особенно хорошо, когда вы хотите найти файл, который предоставляется пакетом, но на самом деле не является исполняемым файлом.
Читайте также: