Как найти путь установки для программного обеспечения под Linux?

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

5 Solutions collect form web for “Как найти путь установки для программного обеспечения под Linux?”

Вы можете использовать:

which fluidpoint 

чтобы увидеть, где он выполняется (если он находится в вашем PATH). Или:

 find / -name fluidpoint 2> /dev/null 

искать файл с именем fluipoint и перенаправлять ошибки в виртуальных файловых системах.

Обычно они находятся в /sbin , /usr/sbin , /usr/local/bin или ~ как скрытый каталог.

От руководства:

 NAME which - shows the full path of (shell) commands. SYNOPSIS which [options] [--] programname [...] 

Полное руководство: https://linux.die.net/man/1/which

Если вы используете дистрибутив на основе RPM (CentOS, RHEL, SUSE, openSUSE), вы можете использовать rpm -ql

Пример:

 rpm -ql findutils /bin/find /usr/bin/find /usr/bin/xargs /usr/share/doc/packages/findutils /usr/share/doc/packages/findutils/AUTHORS /usr/share/doc/packages/findutils/COPYING /usr/share/doc/packages/findutils/NEWS /usr/share/doc/packages/findutils/README /usr/share/doc/packages/findutils/THANKS /usr/share/doc/packages/findutils/TODO /usr/share/info/find.info.gz /usr/share/man/man1/find.1.gz 

Вещи не установлены в местоположениях в мире Linux / UNIX, как в Windows (и даже в некоторых странах Mac). Они более распределены. Бинарные файлы находятся в / bin или / sbin, библиотеки находятся в / lib, значки / графика / документы находятся в / share, конфигурация находится в / etc, а данные программы – в / var. В / bin, lib, sbin содержатся основные приложения, необходимые для загрузки, и / usr содержит все другие пользовательские и системные приложения

Команда whereis обнаруживает файлы двоичной, исходной и ручной страницы для команды, а команда type сообщает, что именно выполняется оболочкой при запуске определенной команды.
Попробуйте whereis -l fluidplot в вашем случае.

Если он возвращает только «fluidplot:», но нет пути, это означает, что программное обеспечение не установлено.

Обратите внимание, что это не включает файлы, которые могут быть скрыты в домашней папке в ~/.local/share/ (в моем случае).

Найдено на винте Linux

Чтобы добавить точку в ответ @ djsumdog, если вы используете dist на основе DPKG, например Ubuntu, вы можете использовать

 dpkg --status some_package 

проверить, что это значит, и

 dpkg --listfiles some_package 

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

 dpkg --search some_file 

чтобы найти, какой пакет включает этот файл.

Например, dpkg --listfiles libnss3 дает мне:

 /. /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 

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

И наоборот, dpkg --search libnss3.so дает мне:

 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 

Вместо того, чтобы использовать ( что, вероятно, не является правильным выбором, если вы не используете csh ), вы можете использовать command -v fluidplot чтобы заставить оболочку набегать на оболочку, чтобы сообщить вам, что она сделает, если вы попросите ее запустить команду ( fluidplot в этом примере).

Некоторые примеры для меня:

 $ command -v ls alias ls='ls --color=auto' $ command -v cat /bin/cat $ test_func() { > : > } $ command -v test_func test_func $ which test_func /usr/bin/which: no test_func in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin) $ if command -v noSuchFile; then echo "It exists"; else echo "does not exist"; fi does not exist 

так что вы также можете использовать его для проверки того, будет ли найдена и попытаться выполнить команду. Поскольку большинство из нас использует Bourne-подобные оболочки (например, bash или zsh), это часто предпочтительнее, which

  • установить java sdk 6, wheezy
  • gcc - ошибка: никакой приемлемый компилятор C не найден в $ PATH
  • Есть ли аргумент dpkg для предупреждения о несовместимостях / нарушениях?
  • помощь по установке checkinstall локально
  • exec -t недействителен
  • делает checkinstall удалять ранее установленное программное обеспечение?
  • Установить браузер dwb
  • Как я могу заставить японские символы правильно отображаться в Firefox на Arch?
  • Как установить adb на Ubuntu из загрузки
  • Стандартная папка установки соглашения для GitEye на Linux и как ее запустить
  • Как заставить сценарий «подождать» для завершения операции?
  • Interesting Posts

    В чем разница между `git reset file` и` git reset HEAD file`?

    Может ли хакер заменить приложение «Биткойн-кошелек» на вредоносный в каком-то репозитории Linux?

    Создание процесса для каждого перенаправленного stdout

    Как переименовать несколько файлов

    Разрешить только определенным пользователям входить в систему через ssh на одном порту, а другие – для входа через другой порт

    Запустить скрипт itext как фильтр чашек

    Как запретить правила UDEV назначать устройство определенному набору имен

    Debian + Linux kernel 3.12.22: опция «Загрузка модуля ядра» недоступна

    Как я могу проверить параметры перед вызовом «ip route add»?

    Ошибка при экспорте результата действительной команды в качестве переменной bash

    Переслать многоадресную рассылку между двумя сегментами локальной сети (Chromecast)

    Мне нужно "| xargs -n 1 ", чтобы обойти xargs -I побочный эффект?

    Как управлять списком локалей, которые генерируются APT?

    заставить zypper установить определенную версию

    Есть ли инструмент / веб-сайт для сравнения статуса пакета в разных дистрибутивах Linux?

    Linux и Unix - лучшая ОС в мире.