Loading
Вот простой пример. Я скачал chrome и теперь не знаю как его запустить через терминал. Насколько я знаю, нужно найти
chrome --> bin --> fail.sh
Но как найти где папка chrome?
Перепыл всю систему не пойму. В windows просто нажал правой кнопкой и свойства и там путь…
Что я не так делаю?
задан 21 янв 2016 в 10:39
Sirop4ikSirop4ik
10.7k17 золотых знаков59 серебряных знаков126 бронзовых знаков
1
Вообще, запускаемый файл браузера Chrome называется google-chrome
или google-chrome-stable
. Найти полный путь к запускаемому файлу можно командой:
which <имя файла>
which google-chrome-stable
При условии, что файл находится в одной из папок, перечисленных в переменной окружения $PATH
. Если это не так, найти его можно командой
find / -name <имя файла>
Но тогда и запустить его из консоли можно будет только как
/full/path/to/<имя файла>
Последняя команда найдет файл по имени, даже если он не запускаемый, если хватит прав.
ответ дан 21 янв 2016 в 11:24
2
Чаще всего хватает
whereis файл
Но если не находит, то можно поискать обычным способом
find / -name chrome
На моей убунте он установлен в /opt/google/chrome
ответ дан 21 янв 2016 в 10:43
MonocerosMonoceros
2942 серебряных знака11 бронзовых знаков
2
Just to add some point to @djsumdog’s answer, if you are using DPKG based dist, like Ubuntu, you can use
dpkg --status some_package
to check what it is about, and
dpkg --listfiles some_package
to check what files are included/relevant to this package. It’s for packages that don’t have a binary to run, like libnss3
. And
dpkg --search some_file
to find what package includes this file.
For example, dpkg --listfiles libnss3
gives me:
/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libssl3.so
/usr/lib/i386-linux-gnu/nss
/usr/lib/i386-linux-gnu/nss/libsoftokn3.chk
/usr/lib/i386-linux-gnu/nss/libnssckbi.so
/usr/lib/i386-linux-gnu/nss/libnsssysinit.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.so
/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.so
/usr/lib/i386-linux-gnu/libnssutil3.so
/usr/lib/i386-linux-gnu/libsmime3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/share
/usr/share/doc
/usr/share/doc/libnss3
/usr/share/doc/libnss3/copyright
/usr/share/doc/libnss3/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss3
Note that the folders are not only owned by this packages, but by others too. Just check the files.
And reversely, dpkg --search libnss3.so
gives me:
firefox: /usr/lib/firefox/libnss3.so
thunderbird: /usr/lib/thunderbird/libnss3.so
libnss3:i386: /usr/lib/i386-linux-gnu/libnss3.so
libnss3-1d:i386: /usr/lib/i386-linux-gnu/libnss3.so.1d
Многих новичков, недавно установивших Linux и только начавших разбираться в устройстве этой замечательной операционной системы, как и меня, в свое время, интересует вопрос: куда же устанавливаются программы в Ubuntu, да и вообще, в любом дистрибутиве Linux. Файловая система Linux очень сильно отличается от Windows и это в первое время сбивает с толку.
Мы привыкли, что все программы и их файлы в Windows находятся в системном каталоге Program Files и System32, или если не в нем, то хотя бы в одном из подкаталогов. Но в Linux все намного сложнее. Здесь файлы программ, как правило, распределены по всей файловой системе. Так куда устанавливаются программы в Linux? Как найти все файлы программы? Как удалять ненужные программы? Все это мы рассмотрим в данной статье.
Здесь не все так просто. Чтобы ответить на этот вопрос сначала нужно разобраться в особенностях файловой системы Linux и способах установки программ. В корневой файловой системе Linux каждая папка предназначена для хранения определенного типа файлов, эти правила со временем менялись, да и сейчас меняются в зависимости от дистрибутива, но основные папки остаются одни и те же. В папке /bin (Binary — двоичный) — хранятся исполняемые файлы, /lib — подключаемые библиотеки, /usr — ресурсы и данные программ, это могут быть переводы, картинки и т д, в /var — временные данные, логи, кэши, /etc — конфигурационные файлы.
Большинство программ, устанавливаемых с помощью стандартного пакетного менеджера распределяются по файловой системе в эти папки. Вам, наверное, интересно, как система определяет какие файлы куда копировать. Она и не определяет, это задает разработчик во время сборки пакета. Попробуйте открыть deb пакет как архив. Кроме служебных информационных файлов, касающихся установки вы там увидите структуру папок напоминающую корневую ФС Linux, это и определяет какие файлы где будут находиться. В последнее время грань четкого разделения файлов по папкам немного стерлась, появились папки /usr/bin для исполняемых файлов, а кэш некоторые программы вообще хранят в домашней папке пользователя, но традиционные Linux сервисы, такие как Samba, Apache, Ngnix и многие другие четко придерживаются стандартной структуры.
Давайте разберем на примере как распределяется программа в файловой системе. Возьмем, например, тот же сервер apache. Чтобы узнать куда были скопированы файлы программы воспользуемся утилитой dpkg.
dpkg -s apache
www-servers/apache-2.2.31 (/usr/sbin/apache2)
www-servers/apache-2.2.31 (/etc/init.d/apache2)
www-servers/apache-2.2.31 (/etc/logrotate.d/apache2)
www-servers/apache-2.2.31 (/var/cache/apache2)
www-servers/apache-2.2.31 (/usr/lib64/apache2)
www-servers/apache-2.2.31 (/usr/share/apache2)
www-servers/apache-2.2.31 (/etc/apache2)
www-servers/apache-2.2.31 (/usr/include/apache2)
www-servers/apache-2.2.31 (/etc/conf.d/apache2)
www-servers/apache-2.2.31 (/var/log/apache2)
Как видите, все файлы на своих местах.
Но из этого правила есть исключения. Например, многие проприетарные программы и игры устанавливаются полностью в одну папку, так же как и в Windows. Для таких программ есть папка /opt. Посмотрим, например, на Crossover:
sudo dpkg -s crossover-bin
Обычно такой вид установки используют программы, устанавливаемые скриптами в формате .run. Есть еще один вид программ — те, которые собираются из исходников и устанавливаются командой make install. Так программы лучше не устанавливать, потому что файлы, как и в первом случае, распределяются по всей системе, но в этот раз уже без ведома пакетного менеджера. Конечно¸ вы всегда сможете удалить программу командой make uninstall, но нет гарантий что вы не удалите исходники и скрипт очистки не оставит в системе много лишних файлов, которые потом будет трудно найти. Как правильно устанавливать программы из исходников можете посмотреть в статье установка программ из tar.gz
Надеюсь, эта статья помогла вам разобраться с вопросом куда устанавливаются программы в Ubuntu.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
-
- 0.1 Найти место установки программы Linux Ubuntu
- 0.2 Синтаксис команд
- Использование 0.3
- 0.4 Синтаксис команд
- Использование 0.5
- 0.6 Синтаксис команд
- Использование 0.7
- 0.8 Как найти путь к команде в Linux
- 0.9, который
- 0.10 где
Как узнать, где установлена программа Linux Ubuntu. В этом посте объясняется, как найти путь к команде в Linux. В Ubuntu найдите путь к приложению — найдите, где установлен пакет Ubuntu Linux.
Найдите место, где установлена программа Linux Ubuntu
Где была установлена программа (включая все вспомогательные файлы, так что это может быть длинный список, который вам нужно будет искать)
Синтаксис команды
dpkg-query -L APPLICATION-NAME
Применение
dpkg-query -L firefox
Для пункта меню, содержащего пакет, найдите файл в / usr / share / menu в выводе dpkg-query:
Синтаксис команды
dpkg-query -L APPLICATION-NAME | grep /usr/share/menu
Применение
dpkg-query -L firefox | grep /usr/share/menu
В этом файле вы должны найти «section =». Строка после этого текста должна указывать, где в системе меню вы найдете ссылку на приложение.
dpkg — это менеджер пакетов для Debian. dpkg — это инструмент для установки, сборки, удаления пакетов Debian и управления ими. Основным и более удобным интерфейсом для dpkg является aptitude. Сам dpkg полностью управляется параметрами командной строки, которые состоят из одного действия и нуля или более параметров. Параметр действия сообщает dpkg, что делать, а параметры каким-то образом управляют поведением действия. dpkg также можно использовать как интерфейс для dpkg-deb и dpkg-query.
Вы также можете попробовать:
Синтаксис команды
aptitude show APPLICATION-NAME
Применение
aptitude show firefox
Как найти путь к команде в Linux
Вы можете использовать команду which и whereis, чтобы найти путь к команде в Linux Ubuntu. Используя эти команды, вы можете найти путь к приложению — найти, где установлен пакет Ubuntu Linux.
который
который используется для поиска команды. который возвращает пути к файлам (или ссылкам), которые были бы выполнены в текущей среде, если бы его аргументы были заданы как команды в строго совместимой с POSIX оболочке. Это делается путем поиска в PATH исполняемых файлов, соответствующих именам аргументов. Он не переходит по символическим ссылкам.
Синтаксис команды:
which [-a] filename
Он использует параметр: -a — этот параметр может выводить все совпадающие имена пути для каждого аргумента.
где
Команда whereis используется для поиска двоичных файлов, файлов исходного кода и файлов справочной страницы для команды. whereis находит двоичные файлы, исходные файлы и файлы руководства для указанных имен команд. Предоставленные имена сначала удаляются из начальных компонентов имени пути и любого (единственного) завершающего расширения формы .ext (например: .c) Префиксы s. в результате использования контроля исходного кода также рассматриваются. Затем whereis пытается найти нужную программу в стандартных местах Linux и в местах, указанных в $ PATH и $ MANPATH.
Синтаксис команды:
whereis [options] [-BMS directory... -f] filename
Ограничения поиска (параметры -b, -m и -s) являются кумулятивными и применяются к последующим шаблонам имен в командной строке. Любое новое ограничение поиска сбрасывает маску поиска. Например:
whereis -bm ls tr -m gcc
выполняет поиск двоичных файлов и справочных страниц «ls» и «tr», а также только справочных страниц «gcc». Параметры -B, -M и -S сбрасывают пути поиска для последующих шаблонов имен. Например:
whereis -m ls -M /usr/share/man/man1 -f cal
выполняет поиск man-страниц «ls» по всем путям по умолчанию, но «cal» только в каталоге / usr / share / man / man1.
Не путайте с командой «найти». ‘Find’ выполняет поиск в дереве каталогов, основанном на каждом имени файла FILE, оценивая ВЫРАЖЕНИЕ для каждого файла, который он находит в дереве. Командная строка может начинаться с параметров «-H», «-L», «-P», «-D» и «-O». За ними следует список файлов или каталогов, в которых следует выполнить поиск. Если файлы для поиска не указаны, используется текущий каталог (‘.’).
За этим списком файлов для поиска следует список выражений, описывающих файлы, которые мы хотим найти.
Оригинал статьи
- # находить
- # установлен
- # линукс
- # программа
- # Убунту
- # куда