Перейти к содержимому

Linux как узнать путь к программе

  • автор:

How to find application's path from command line?

For example, I have git installed on my system. But I don’t remember where I installed it, so which command is fit to find this out?

Mat's user avatar

5 Answers 5

If it is in your path, then you can run either type git or which git . The which command has had problems getting the proper path (confusion between environment and dot files). For type , you can get just the path with the -p argument.

If it is not in your path, then it’s best to look for it with locate -b git It will find anything named ‘git’. It’ll be a long list, so might be good to qualify it with locate -b git | fgrep -w bin .

The POSIX standard way to do this is command -v git . All UNIX-like systems should support this.

Richard Hansen's user avatar

whereis git and you get the path to the command.

that is just if the git is in you PATH variable, in case you have installed it not through you package manager, it is more complex and you should use the find or locate commands.

The other answers here seem to be largely geared towards modern versions of Linux, so if you happen to use git on an OS that doesn’t have locate , whereis , which , or apropos (like Solaris, HPUX, etc), then there is always the old standby find .

One some older versions of the systems listed above, you may need a -print option supplied to find .

And if you do use locate , make sure you run updatedb periodically. ( locate.updatedb on some BSD derivatives)

To get the path to the installed program you either use whereis or which . If you happen to forget it’s name, you can use apropos with a synonym or description of your utility, e.g. apropos «version control» will find git . Following that is of course the whatis command to briefly summarize the function of a program. This does however not apply to all programs and functions on your system. Try for instance whatis «the meaning of life, universe and everything» .

    The Overflow Blog
Linked
Related
Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.3.3.43277

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Как узнать, где установлена ​​программа в Linux Ubuntu

Как узнать, где установлена ​​программа 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». За ними следует список файлов или каталогов, в которых следует выполнить поиск. Если файлы для поиска не указаны, используется текущий каталог (‘.’).

За этим списком файлов для поиска следует список выражений, описывающих файлы, которые мы хотим найти.

Как узнать путь к процессу в Unix / Linux

В среде Windows есть API для получения пути, по которому выполняется процесс. Есть ли что-то подобное в Unix / Linux?

Или есть другой способ сделать это в этих условиях?

задан 03 марта ’09, 09:03

11 ответы

В Linux символическая ссылка /proc/<pid>/exe имеет путь к исполняемому файлу. Используйте команду readlink -f /proc/<pid>/exe чтобы получить значение.

В AIX этот файл не существует. Вы можете сравнить cksum <actual path to binary> и cksum /proc/<pid>/object/a.out .

ответ дан 06 мар ’17, в 19:03

sudo если вывод пуст, некоторые процессы созданы другими пользователями системы. — лун4и

Вы можете легко найти исполняемый файл этими способами, просто попробуйте сами.

  • ll /proc/<PID>/exe
  • pwdx <PID>
  • lsof -p <PID> | grep cwd

Создан 01 июля ’14, 09:07

Это круто. Я знал, что запустил его из места, где была символическая ссылка на исходный исполняемый файл (одна из многих версий). pwdx <PID> дал мне расположение символической ссылки, чтобы я мог найти журналы и остановить процесс должным образом. — НурШомик

ll обычно это псевдоним: alias ll=’ls -alF’ . — Пабло Бьянки

Последние два (pwdx и lsof) могут дать неверный результат. Вопрос был о полном пути к исполняемому файлу. pwdx и lsof предоставят вам cwd процесса, а не путь к процессу. Я думаю, что ответ jpalecek более точен, поскольку исходный запросчик запрашивал путь к исполняемому файлу, а не программную ссылку, описывающую исполняемый файл. — Шимон

Немного поздно, но все ответы были конкретно для Linux.

Если вам нужен еще и unix, то вам понадобится это:

Отредактировано: Исправлена ​​ошибка, о которой сообщил Марк Лаката.

Спасибо, что поделились Hiperion, но мне нужно было указать PID и получить его путь к exe, возможно ли это с помощью этого кода? — Нойтидарт

@Noitidart — заменить «/proc/self/exe» с sprintf(foo,»/proc/%d/exe»,pid) — Марк Лаката

Обратите внимание, что readlink не завершает результат нулевым значением, поэтому этот код имеет неопределенное поведение. — Марк Лаката

pwdx <process id>

Эта команда получит путь к процессу, из которого она выполняется.

ответ дан 22 дек ’17, 04:12

Речь идет об API для получения информации, но все равно спасибо. — Исаламон

Замените 786 своим PID или именем процесса.

ответ дан 02 авг.

В Linux у каждого процесса есть своя папка в /proc . Итак, вы могли использовать getpid() чтобы получить pid запущенного процесса, а затем присоединить его к пути /proc чтобы получить нужную папку.

Вот небольшой пример на Python:

Вот пример и в ANSI C:

Скомпилируйте его с помощью:

ответ дан 07 апр.

Вывод Python в последней версии Ubuntu: >>> import os >>> print os.path.join (‘/ proc’, str (os.getpid ())) / proc / 24346 — Люк Стэнли

Не существует метода «гарантированно работать где угодно».

Шаг 1 — проверить argv [0], если программа была запущена по ее полному пути, это (обычно) будет иметь полный путь. Если он был запущен по относительному пути, то же самое (хотя для этого требуется получить текущий рабочий каталог с помощью getcwd ().

Шаг 2, если ничего из вышеперечисленного не выполняется, состоит в том, чтобы получить имя программы, затем получить имя программы из argv [0], затем получить PATH пользователя из среды и просмотреть его, чтобы увидеть, есть ли подходящий исполняемый двоичный файл с тем же именем.

Обратите внимание, что argv [0] устанавливается процессом, который запускает программу, поэтому он не надежен на 100%.

Linux как узнать путь к программе

which — команда Linux используется для определения местоположения данного исполняемого файла, который выполняется при вводе имени исполняемого файла (команды) в командной строке терминала. Команда выполняет поиск исполняемого файла, указанного в качестве аргумента, в каталогах, перечисленных в переменной среды PATH.

Что такое PATH

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

Чтобы просмотреть содержимое вашей переменной PATH, используйте команду echo с $PATH аргументом:

Вывод будет выглядеть примерно так:

Как использовать which команду

Синтаксис which команды следующий:

Например, чтобы найти полный путь команды ping , вы должны набрать следующее:

Результат будет примерно таким:

Вы также можете указать несколько аргументов which команды:

Вывод будет включать полные пути к обоим netcat и uptime исполняемым файлам :

Поиск выполняется слева направо, и если в каталогах, перечисленных в PATH переменной пути, найдено более одного совпадения , which будет напечатано только первое. Чтобы распечатать все совпадения, используйте -a опцию:

Вывод покажет два полных пути к touch команде :

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

Вывод

Команда which используется для поиска команды путем поиска исполняемого файла команды в каталогах, указанных в переменной среды PATH .

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

JaNix's user avatar

Если вы знаете имя исполняемого файла, который выполняется в текущий момент, то полный путь к исполняемому можно узнать вот так:

Например, вывод для исполняемого процесса gopls (сервер go для VS Code):

Pak Uula's user avatar

Набрав в командной строке

whereis locates the binary, source and manual files for the specified command names. The supplied names are first stripped of leading pathname components and any (single) trailing extension of the form .ext (for example: .c) Prefixes of s. resulting from use of source code control are also dealt with. whereis then attempts to locate the desired program in the standard Linux places, and in the places specified by $PATH and $MANPATH.

Sergey's user avatar

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2022.12.7.43084

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

�� Получение абсолютного пути к файлу на Linux

Мануал

Вы можете получить полный путь к текущему каталогу с помощью команды pwd:

Но как получить абсолютный путь к файлу в системах Linux?

Существует несколько способов вывести полный путь к файлам:

  • readlink
  • realpath
  • найти
  • комбинирование ls и pwd

Позвольте мне показать вам эти команды по очереди.

Но перед этим я предлагаю сначала ознакомиться с основами концепции абсолютного и относительного пути.

Использование команды readlink для получения пути к файлу

Команда readlink предназначена для разрешения символических ссылок.

Вы можете использовать ее для отображения полного пути к файлу следующим образом:

Использование команды для получения полного пути к файлу

Команда realpath используется для разрешения абсолютных имен файлов.

Помимо прочего, она может показать полный путь к файлу.

Взгляните на этот пример:

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

Вы можете заставить его не следовать за символической ссылкой:

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

Используем команду find для получения абсолютного пути к файлу

Вот в чем дело с командой find.

Все относительно каталога, который вы указываете для поиска.

Если вы укажете ей ., она покажет относительный путь.

Если вы укажете абсолютный путь к каталогу, вы получите абсолютный путь к искомым файлам.

Используйте подстановку команд с командой find следующим образом:

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

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

Выведем полный путь с помощью команды ls

Этот способ немного сложный и запутанный.

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

Вы получите результат, подобный этому:

Однако, чтобы вывести полный путь к файлу с помощью команды ls, вам придется использовать ее следующим образом:

Не самое чистое решение, но оно работает.

Заключение

Мы рассмотрели четыре различных способа получения полного пути к файлу в Linux.

Команды find и ls являются обычными, в то время как realpath и readlink едва ли известны многим пользователям Linux.

Как узнать, где установлена ​​программа Ubuntu?

чтобы найти путь, по которому связан двоичный файл. Конечно, вам нужны права root. Программное обеспечение обычно устанавливается в папки bin, в / usr / bin, / home / user / bin и во многих других местах хорошей отправной точкой может быть команда find для поиска имени исполняемого файла, но обычно это не отдельная папка.

Как мне найти путь к файлу в Linux?

Найти синтаксис команды

  1. search-path: определить путь поиска (текущий каталог по умолчанию). Например, поиск в / домашнем каталоге.
  2. file-names-to-search: имя файла, который вы хотите найти. Например, все файлы c (*. C)
  3. Предполагаемое действие: Действие может быть напечатать имя файла, удалить файлы и т. д. Действие по умолчанию — распечатать имена файлов.

Как узнать, где установлена ​​программа?

  1. Откройте меню «Пуск».
  2. Теперь щелкните программу правой кнопкой мыши, выберите «Еще» и выберите «Открыть расположение файла».
  3. Папка программы откроется, и будет выбран ярлык программы.
  4. Щелкните этот ярлык правой кнопкой мыши.
  5. Выберите опцию Открыть расположение файла.

Как использовать find в Linux?

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

Как мне найти путь к файлу?

Чтобы просмотреть полный путь к отдельному файлу: нажмите кнопку «Пуск», затем нажмите «Компьютер», нажмите, чтобы открыть расположение нужного файла, удерживайте нажатой клавишу «Shift» и щелкните файл правой кнопкой мыши. Копировать как путь: Щелкните этот параметр, чтобы вставить в документ полный путь к файлу.

Как мне искать файл?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *