Linux узнать расположение исполняемого файла

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

Как в Linux узнать путь до исполняемого файла? В виндовс, например, на ярлыке или в bin/app.exe можно через свойство посмотреть Интересуюсь с целью создавать *.desktop ярлыки для заполнениями ими рабочего стола 🗔, так как способ «добавить в избранное» мне не подходит и получается рабочий стол пустой 😔

Для создания *.desktop нет необходимости указывать полный путь. Посмотрите примеры в /usr/share/applications

3 ответа 3

Я по факту могу найти приложение в диспетчере приложений, можно ли как-то оттуда взять этот путь? Или лучше и правильнее поискать путь к .exe в папках типа как в Windows —> C/Program FIles/app_folder/bin/app.exe ?

Внизу слева есть кнопка «Показать приложения», я про это имел в виду, оттуда бы как-то брать пути, там же ярлыки и их на рабочий стол хочу закидывать : )

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

pgrep | while read pid; do echo -ne "$pid\t"; readlink -f /proc/$pid/exe; done 

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

pgrep gopls | while read pid; do echo -ne "$pid\t"; readlink -f /proc/$pid/exe; done 30880 /mnt/drive2/home2/user/go/bin/gopls 

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

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.

Источник

Ищем путь до линукс команд, как профессионалы

Один из самых распространённых вопросов от подписчиков — как получить путь к команде Linux, которую только что установили в систему с помощью пакетного менеджера, например, команды apt или DNF. Много новых разработчиков переходит к нам из мира Windows, и для многих это первый опыт использования Linux. Некоторые используют WSL (подсистему Linux в Windows 10), а остальные работают с облачными серверами напрямую по SSH. Рассмотрим ряд распространённых команд, с помощью которых можно отобразить список команд Linux или получить к ним путь.

Читайте также:  Linux unable to load shared object

▍ Что такое команда Linux?

Пользовательский интерфейс Windows по умолчанию графический. Однако у ОС Linux на стороне сервера по умолчанию текстовый интерфейс. Поэтому часто используются такие термины как Bash, оболочка пользователя, консоль, приглашение командной строки, терминал и так далее. Все они относятся к текстовому интерфейсу.

К примеру, в MS Windows-приложения запускаются через кнопку «Пуск». У терминала Linux назначение схожее, но туда вводятся инструкции, известные как команды Linux. Итак, вызываем терминал Linux сочетанием клавиш Ctrl–Alt–T . Затем вводим простую команду — например date , чтобы просмотреть текущую дату и время. Текст команды вводится только строчными буквами. Для запуска команды надо нажать кнопку Enter:

date, pwd, hello и ping — это команды Linux.

▍ Различные типы команд Linux

Команды Linux, которые вводят в терминал, бывают разных типов:

▍ Как определить тип команды Linux

Чтобы просмотреть путь к любой команде Linux, достаточно ввести в терминал команду type . С её же помощью можно узнать тип целевой команды: встроенная команда оболочки, псевдоним, функция или внешняя. Синтаксис следующий:

type command type -t command type -a command

Например, давайте выясним тип команды pwd:

type pwd type date type hello type ping # Display a single word which is one of 'alias', 'keyword', 'function', 'builtin', # 'file or '' , if command is an alias, shell reserved word, shell function, shell builtin, # disk file, or not found, respectively type -t ping type -t if type -t vi type -t nano # The '-a' option shows all locations containing an executable named ping type -a ping

▍ Что такое переменная $PATH ?

В Linux и Unix-подобных системах переменная PATH содержит перечень путей, по которым хранятся исполняемые программы, например ping, date, vi, docker и так далее. Чтобы просмотреть текущую переменную path, воспользуйтесь командой echo /printf:

echo "$PATH" # OR # # More human readable format # echo "$"

Вот что отображается у меня:

/home/vivek/google-cloud-sdk/bin /home/vivek/.local/bin /home/vivek/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin

▍ Как отобразить информацию о командах

Чтобы получить путь к команде Linux, введите command следующим образом:

command -v date command -v pwd command -v ping command -v docker

▍ Как найти команду Linux

А ещё можно легко получить путь к команде Linux с помощью команды which . Пример:

Читайте также:  Kali linux no wireless network

Чтобы отобразить все возможные совпадающие пути, воспользуйтесь опцией -a :

▍ Получаем путь к команде или man-странице Linux

Чтобы найти двоичный файл, исходный код и man-страницу какой-либо программы или команды на диске, используйте команду whereis в следующем синтаксисе:

whereis command whereis gcc whereis docker whereis lxc whereis vim

Надо, чтобы отображались только двоичные файлы? Есть вот такой вариант:

Ищете только руководства и справочные страницы? Проще простого:

whereis -m date whereis -m gcc

▍ Команды find и locate

Файлы можно также искать по имени файла. К примеру, так будет выглядеть поиск файла, в имени которого содержится слово ‘date’:

locate -b '\date' ## OR ## find / -name "date" -ls # sudo for all files sudo find / -name "date" -ls

Результаты выполнения команды locate:

/snap/core/11316/bin/date /snap/core/11420/bin/date /snap/core18/2066/bin/date /snap/core18/2074/bin/date /snap/core20/1026/usr/bin/date /snap/core20/1081/usr/bin/date /usr/bin/date /usr/lib/byobu/date

▍ Вывод справки о командах Linux

С этим нам помогут команды whatis , help , man или info .

Команда whatis :
К каждой команде Linux прилагается man-страница (руководство, описывающее способ применения и синтаксис команды). Кроме того, справка содержит краткое описание команды. Для поиска по названиям man-страниц используется команда whatis. Она отображает описания команд для любых названий, введенных в краткой форме:

whatis ls whatis clear whatis date whatis gcc

Для всех внешних команд используются команды man или info , которые выводят на экран подробное руководство:

man date man ls man gcc man bash info ls info bash man which

Для ключевых слов и встроенных команд Bash используется команда help:

help if help exit help logout help type help command

▍ В качестве заключения

Основная проблема, с которой сталкиваются новоиспечённые пользователи Linux — поиск команд. Но благодаря этому доступному руководству вы теперь умеете получать путь к нужным командам и даже выводить справку о них в формате man-страниц. Предположим, вы установили Docker на сервер Ubuntu. Получить путь к этой системе и изучить руководство можно с помощью следующих команд:

whatis docker whereis docker type -a docker which docker find / -iname "docker" locate -b '\docker' man docker

Если вы работаете с сервером Debian или Ubuntu Linux, вам пригодятся следующие две команды. Отобразить список всех файлов, установленных на сервер пакетом Docker, можно командой dpkg :

dpkg -L docker-ce dpkg -L docker-ce | more
/. /etc /etc/default /etc/default/docker /etc/init /etc/init/docker.conf /etc/init.d /etc/init.d/docker /lib /lib/systemd /lib/systemd/system /lib/systemd/system/docker.service /lib/systemd/system/docker.socket /usr /usr/bin /usr/bin/docker-init /usr/bin/docker-proxy /usr/bin/dockerd /usr/share /usr/share/doc /usr/share/doc/docker-ce /usr/share/doc/docker-ce/README.md /usr/share/doc/docker-ce/changelog.Debian.gz

Вывести на экран информацию о пакете Docker можно с помощью команды apt :

Package: docker-ce Version: 5:19.03.13~3-0~ubuntu-bionic Priority: optional Section: admin Maintainer: Docker Installed-Size: 107 MB Depends: docker-ce-cli, containerd.io (>= 1.2.2-3), iptables, libseccomp2 (>= 2.3.0), libc6 (>= 2.8), libdevmapper1.02.1 (>= 2:1.02.97), libsystemd0 Recommends: aufs-tools, ca-certificates, cgroupfs-mount | cgroup-lite, git, pigz, xz-utils, libltdl7, apparmor Conflicts: docker (

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

Источник

Команда Linux which

В Linux команда which используется для поиска исполняемых файлов в файловой системе. Команда отображает абсолютный путь к местоположению файла.

Использование команды which в Linux

Утилита выполняет поиск исполняемого файла, указанного в качестве аргумента, в каталогах, перечисленных в переменной окружения PATH .

Синтаксис

which [опции] [имя_программы]

Основные опции

-a, --all Выводить все совпадения в PATH , а не только первое -i, --read-alias Читать список псевдонимов из стандартного ввода

Переменная окружения PATH

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

Для просмотра содержимого переменной PATH используется команда echo с аргументом $PATH :

oleg@mobile:~:$ echo $PATH ”/home/oleg/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl” oleg@mobile:~:$ 

Примеры использования команды which в Linux

Полный путь к исполняемому файлу

Для примера найдём путь к исполняемому файлу команды traceroute :

oleg@mobile:~:$ which traceroute /usr/bin/traceroute oleg@mobile:~:$

Пути к нескольким исполняемым файлам

Пути к исполняемым файлам нескольких команд:

oleg@mobile:~:$ which locate kruler pacman /usr/bin/locate /usr/bin/kruler /usr/bin/pacman oleg@mobile:~:$

Справочная информация

Выводим справочную информацию по команде which :

Next: Which Program, Prev: (dir), Up: (dir) 'which': Show the full path of commands *************************************** The 'which' program shows the full path of (shell) commands. This file documents 'which' version 2.21, updated 20 March 2015. * Menu: * Which Program:: The 'which' Program * Invoking Which:: How to invoke 'which' * Option Summary:: Overview of commandline options * Return Value:: The return value of 'which' * Example:: Examples of invokation * Bugs:: Known bugs * See Also:: Related UNIX commands * Index:: Index

Заключение

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

Источник

Оцените статью
Adblock
detector