How to find program name(s) of an installed package?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
When I have installed a package using apt
, is there a way to find out by which command(s) I can run the installed program(s)?
For instance, the package httpcode
is not available as httpcode
, and the package description (apt show httpcode
) does not explain how to run it. How could I have found out that it’s run via hc
from the command line?
There are two slightly hacky workarounds I found:
Assuming that programs are by default installed in
usr/bin
, I ranls -ltc | head -n 10
to find recenlty touched files there, and indeed I foundhc
.Similarly to 1,
dpkg -L httpcode
returns a list of files created by installing the package, which also lists/usr/bin/hc
.
Is there a better solution to this problem that doesn’t hinge upon the intuition of where the program might be stored on disk?
I also found that man httpcode
does open the man page of the program, even though I called it with the package name as argument. Does this always work (if the program provides a manpage)?
apt package-management dpkg
add a comment |
When I have installed a package using apt
, is there a way to find out by which command(s) I can run the installed program(s)?
For instance, the package httpcode
is not available as httpcode
, and the package description (apt show httpcode
) does not explain how to run it. How could I have found out that it’s run via hc
from the command line?
There are two slightly hacky workarounds I found:
Assuming that programs are by default installed in
usr/bin
, I ranls -ltc | head -n 10
to find recenlty touched files there, and indeed I foundhc
.Similarly to 1,
dpkg -L httpcode
returns a list of files created by installing the package, which also lists/usr/bin/hc
.
Is there a better solution to this problem that doesn’t hinge upon the intuition of where the program might be stored on disk?
I also found that man httpcode
does open the man page of the program, even though I called it with the package name as argument. Does this always work (if the program provides a manpage)?
apt package-management dpkg
add a comment |
When I have installed a package using apt
, is there a way to find out by which command(s) I can run the installed program(s)?
For instance, the package httpcode
is not available as httpcode
, and the package description (apt show httpcode
) does not explain how to run it. How could I have found out that it’s run via hc
from the command line?
There are two slightly hacky workarounds I found:
Assuming that programs are by default installed in
usr/bin
, I ranls -ltc | head -n 10
to find recenlty touched files there, and indeed I foundhc
.Similarly to 1,
dpkg -L httpcode
returns a list of files created by installing the package, which also lists/usr/bin/hc
.
Is there a better solution to this problem that doesn’t hinge upon the intuition of where the program might be stored on disk?
I also found that man httpcode
does open the man page of the program, even though I called it with the package name as argument. Does this always work (if the program provides a manpage)?
apt package-management dpkg
When I have installed a package using apt
, is there a way to find out by which command(s) I can run the installed program(s)?
For instance, the package httpcode
is not available as httpcode
, and the package description (apt show httpcode
) does not explain how to run it. How could I have found out that it’s run via hc
from the command line?
There are two slightly hacky workarounds I found:
Assuming that programs are by default installed in
usr/bin
, I ranls -ltc | head -n 10
to find recenlty touched files there, and indeed I foundhc
.Similarly to 1,
dpkg -L httpcode
returns a list of files created by installing the package, which also lists/usr/bin/hc
.
Is there a better solution to this problem that doesn’t hinge upon the intuition of where the program might be stored on disk?
I also found that man httpcode
does open the man page of the program, even though I called it with the package name as argument. Does this always work (if the program provides a manpage)?
apt package-management dpkg
apt package-management dpkg
asked 12 hours ago
bleistift2bleistift2
366
366
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The locations of files (executables, man-pages and other stuff) should conform Filesystem Hierarchy Standard as a rule.
Personally I solve this problem with one of four methods:
It is known that executables are placed in the directories declared in
$PATH
environment variable:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
So one can list all package files with
dpkg --list
(seeman dpkg
for details) and find files in/bin
,/sbin
,/usr/bin
,/usr/sbin
,/usr/games
directories. So we can use the following command:
$ dpkg -L httpcode | grep -E "/bin/|/sbin/|/usr/games/"
/usr/bin/hc
So we can see that
/usr/bin/hc
belongs to this package.
List all man-pages:
$ dpkg -L httpcode | grep "/man/"
/usr/share/man/man1
/usr/share/man/man1/hc.1.gz
So we can see that we can use
man hc
.
For applications with GUI I run search for
*.desktop
files.
$ dpkg -L httpcode | grep ".desktop"
$
In this particular case it will not return anything.
With some complicated proprietary (or bad-packaged) stuff this method transforms to reading
Exec
variable in the*.desktop
file - here Telegram is an example:
$ dpkg -L telegram | grep ".desktop"
/usr/share/applications/telegram.desktop
$ grep Exec $(dpkg -L telegram | grep ".desktop")
Exec=/opt/telegram/Telegram -- %u
About
Exec
see Desktop Entry Specification.
For not installed package one can visit https://packages.ubuntu.com and use Search package directories here (for all releases or for selected release), then click on list of files link in the right column of the table:
and one will get the file list:
This list may interpreted manually or by using searchbar in the browser.
Is your first solution always feasible, i.e. do package executables always go into somebin
directory?
– bleistift2
12 hours ago
1
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in/bin
,/sbin
,/usr/bin
,/usr/sbin
.
– N0rbert
11 hours ago
2
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
@vanadium, you are right about$PATH
. Edited answer to include this approach.
– N0rbert
10 hours ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1131675%2fhow-to-find-program-names-of-an-installed-package%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The locations of files (executables, man-pages and other stuff) should conform Filesystem Hierarchy Standard as a rule.
Personally I solve this problem with one of four methods:
It is known that executables are placed in the directories declared in
$PATH
environment variable:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
So one can list all package files with
dpkg --list
(seeman dpkg
for details) and find files in/bin
,/sbin
,/usr/bin
,/usr/sbin
,/usr/games
directories. So we can use the following command:
$ dpkg -L httpcode | grep -E "/bin/|/sbin/|/usr/games/"
/usr/bin/hc
So we can see that
/usr/bin/hc
belongs to this package.
List all man-pages:
$ dpkg -L httpcode | grep "/man/"
/usr/share/man/man1
/usr/share/man/man1/hc.1.gz
So we can see that we can use
man hc
.
For applications with GUI I run search for
*.desktop
files.
$ dpkg -L httpcode | grep ".desktop"
$
In this particular case it will not return anything.
With some complicated proprietary (or bad-packaged) stuff this method transforms to reading
Exec
variable in the*.desktop
file - here Telegram is an example:
$ dpkg -L telegram | grep ".desktop"
/usr/share/applications/telegram.desktop
$ grep Exec $(dpkg -L telegram | grep ".desktop")
Exec=/opt/telegram/Telegram -- %u
About
Exec
see Desktop Entry Specification.
For not installed package one can visit https://packages.ubuntu.com and use Search package directories here (for all releases or for selected release), then click on list of files link in the right column of the table:
and one will get the file list:
This list may interpreted manually or by using searchbar in the browser.
Is your first solution always feasible, i.e. do package executables always go into somebin
directory?
– bleistift2
12 hours ago
1
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in/bin
,/sbin
,/usr/bin
,/usr/sbin
.
– N0rbert
11 hours ago
2
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
@vanadium, you are right about$PATH
. Edited answer to include this approach.
– N0rbert
10 hours ago
add a comment |
The locations of files (executables, man-pages and other stuff) should conform Filesystem Hierarchy Standard as a rule.
Personally I solve this problem with one of four methods:
It is known that executables are placed in the directories declared in
$PATH
environment variable:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
So one can list all package files with
dpkg --list
(seeman dpkg
for details) and find files in/bin
,/sbin
,/usr/bin
,/usr/sbin
,/usr/games
directories. So we can use the following command:
$ dpkg -L httpcode | grep -E "/bin/|/sbin/|/usr/games/"
/usr/bin/hc
So we can see that
/usr/bin/hc
belongs to this package.
List all man-pages:
$ dpkg -L httpcode | grep "/man/"
/usr/share/man/man1
/usr/share/man/man1/hc.1.gz
So we can see that we can use
man hc
.
For applications with GUI I run search for
*.desktop
files.
$ dpkg -L httpcode | grep ".desktop"
$
In this particular case it will not return anything.
With some complicated proprietary (or bad-packaged) stuff this method transforms to reading
Exec
variable in the*.desktop
file - here Telegram is an example:
$ dpkg -L telegram | grep ".desktop"
/usr/share/applications/telegram.desktop
$ grep Exec $(dpkg -L telegram | grep ".desktop")
Exec=/opt/telegram/Telegram -- %u
About
Exec
see Desktop Entry Specification.
For not installed package one can visit https://packages.ubuntu.com and use Search package directories here (for all releases or for selected release), then click on list of files link in the right column of the table:
and one will get the file list:
This list may interpreted manually or by using searchbar in the browser.
Is your first solution always feasible, i.e. do package executables always go into somebin
directory?
– bleistift2
12 hours ago
1
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in/bin
,/sbin
,/usr/bin
,/usr/sbin
.
– N0rbert
11 hours ago
2
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
@vanadium, you are right about$PATH
. Edited answer to include this approach.
– N0rbert
10 hours ago
add a comment |
The locations of files (executables, man-pages and other stuff) should conform Filesystem Hierarchy Standard as a rule.
Personally I solve this problem with one of four methods:
It is known that executables are placed in the directories declared in
$PATH
environment variable:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
So one can list all package files with
dpkg --list
(seeman dpkg
for details) and find files in/bin
,/sbin
,/usr/bin
,/usr/sbin
,/usr/games
directories. So we can use the following command:
$ dpkg -L httpcode | grep -E "/bin/|/sbin/|/usr/games/"
/usr/bin/hc
So we can see that
/usr/bin/hc
belongs to this package.
List all man-pages:
$ dpkg -L httpcode | grep "/man/"
/usr/share/man/man1
/usr/share/man/man1/hc.1.gz
So we can see that we can use
man hc
.
For applications with GUI I run search for
*.desktop
files.
$ dpkg -L httpcode | grep ".desktop"
$
In this particular case it will not return anything.
With some complicated proprietary (or bad-packaged) stuff this method transforms to reading
Exec
variable in the*.desktop
file - here Telegram is an example:
$ dpkg -L telegram | grep ".desktop"
/usr/share/applications/telegram.desktop
$ grep Exec $(dpkg -L telegram | grep ".desktop")
Exec=/opt/telegram/Telegram -- %u
About
Exec
see Desktop Entry Specification.
For not installed package one can visit https://packages.ubuntu.com and use Search package directories here (for all releases or for selected release), then click on list of files link in the right column of the table:
and one will get the file list:
This list may interpreted manually or by using searchbar in the browser.
The locations of files (executables, man-pages and other stuff) should conform Filesystem Hierarchy Standard as a rule.
Personally I solve this problem with one of four methods:
It is known that executables are placed in the directories declared in
$PATH
environment variable:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
So one can list all package files with
dpkg --list
(seeman dpkg
for details) and find files in/bin
,/sbin
,/usr/bin
,/usr/sbin
,/usr/games
directories. So we can use the following command:
$ dpkg -L httpcode | grep -E "/bin/|/sbin/|/usr/games/"
/usr/bin/hc
So we can see that
/usr/bin/hc
belongs to this package.
List all man-pages:
$ dpkg -L httpcode | grep "/man/"
/usr/share/man/man1
/usr/share/man/man1/hc.1.gz
So we can see that we can use
man hc
.
For applications with GUI I run search for
*.desktop
files.
$ dpkg -L httpcode | grep ".desktop"
$
In this particular case it will not return anything.
With some complicated proprietary (or bad-packaged) stuff this method transforms to reading
Exec
variable in the*.desktop
file - here Telegram is an example:
$ dpkg -L telegram | grep ".desktop"
/usr/share/applications/telegram.desktop
$ grep Exec $(dpkg -L telegram | grep ".desktop")
Exec=/opt/telegram/Telegram -- %u
About
Exec
see Desktop Entry Specification.
For not installed package one can visit https://packages.ubuntu.com and use Search package directories here (for all releases or for selected release), then click on list of files link in the right column of the table:
and one will get the file list:
This list may interpreted manually or by using searchbar in the browser.
edited 10 hours ago
answered 12 hours ago
N0rbertN0rbert
25k853118
25k853118
Is your first solution always feasible, i.e. do package executables always go into somebin
directory?
– bleistift2
12 hours ago
1
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in/bin
,/sbin
,/usr/bin
,/usr/sbin
.
– N0rbert
11 hours ago
2
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
@vanadium, you are right about$PATH
. Edited answer to include this approach.
– N0rbert
10 hours ago
add a comment |
Is your first solution always feasible, i.e. do package executables always go into somebin
directory?
– bleistift2
12 hours ago
1
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in/bin
,/sbin
,/usr/bin
,/usr/sbin
.
– N0rbert
11 hours ago
2
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
@vanadium, you are right about$PATH
. Edited answer to include this approach.
– N0rbert
10 hours ago
Is your first solution always feasible, i.e. do package executables always go into some
bin
directory?– bleistift2
12 hours ago
Is your first solution always feasible, i.e. do package executables always go into some
bin
directory?– bleistift2
12 hours ago
1
1
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in
/bin
, /sbin
, /usr/bin
, /usr/sbin
.– N0rbert
11 hours ago
Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in
/bin
, /sbin
, /usr/bin
, /usr/sbin
.– N0rbert
11 hours ago
2
2
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
Your executable has to be in one of the directories of the PATH, or it will not be found typing just the name of the executable in the terminal.
– vanadium
11 hours ago
@vanadium, you are right about
$PATH
. Edited answer to include this approach.– N0rbert
10 hours ago
@vanadium, you are right about
$PATH
. Edited answer to include this approach.– N0rbert
10 hours ago
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1131675%2fhow-to-find-program-names-of-an-installed-package%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown