How to find program name(s) of an installed package? The 2019 Stack Overflow Developer Survey Results Are Inapt changelog for to-be installed packagesFind what package supplied a tool / application in Ubuntu 11.10Can I manage dpkg-installed package with apt-get?Half installed package nightmareReinstall all dependancies of a single packageHow to check if a virtual package is installed?Replace apt package with compiled versHow to find out how a program was removed?How to find exact program name of installed program using terminal?dpkg: error processing package sendmail-base

For what reasons would an animal species NOT cross a *horizontal* land bridge?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

Time travel alters history but people keep saying nothing's changed

Did Section 31 appear in Star Trek: The Next Generation?

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

Protecting Dualbooting Windows from dangerous code (like rm -rf)

How to save as into a customized destination on macOS?

What is the most effective way of iterating a std::vector and why?

What does Linus Torvalds mean when he says that Git "never ever" tracks a file?

Building a conditional check constraint

Can you compress metal and what would be the consequences?

Resizing object distorts it (Illustrator CC 2018)

Who coined the term "madman theory"?

Origin of "cooter" meaning "vagina"

How come people say “Would of”?

Does a dangling wire really electrocute me if I'm standing in water?

Identify boardgame from Big movie

Output the Arecibo Message

What is the meaning of Triage in Cybersec world?

Is this app Icon Browser Safe/Legit?

Falsification in Math vs Science

Why isn't the circumferential light around the M87 black hole's event horizon symmetric?

Can someone be penalized for an "unlawful" act if no penalty is specified?

How technical should a Scrum Master be to effectively remove impediments?



How to find program name(s) of an installed package?



The 2019 Stack Overflow Developer Survey Results Are Inapt changelog for to-be installed packagesFind what package supplied a tool / application in Ubuntu 11.10Can I manage dpkg-installed package with apt-get?Half installed package nightmareReinstall all dependancies of a single packageHow to check if a virtual package is installed?Replace apt package with compiled versHow to find out how a program was removed?How to find exact program name of installed program using terminal?dpkg: error processing package sendmail-base



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








5















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:



  1. Assuming that programs are by default installed in usr/bin, I ran ls -ltc | head -n 10 to find recenlty touched files there, and indeed I found hc.


  2. 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)?










share|improve this question




























    5















    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:



    1. Assuming that programs are by default installed in usr/bin, I ran ls -ltc | head -n 10 to find recenlty touched files there, and indeed I found hc.


    2. 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)?










    share|improve this question
























      5












      5








      5


      1






      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:



      1. Assuming that programs are by default installed in usr/bin, I ran ls -ltc | head -n 10 to find recenlty touched files there, and indeed I found hc.


      2. 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)?










      share|improve this question














      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:



      1. Assuming that programs are by default installed in usr/bin, I ran ls -ltc | head -n 10 to find recenlty touched files there, and indeed I found hc.


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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 6 at 13:56









      bleistift2bleistift2

      1137




      1137




















          1 Answer
          1






          active

          oldest

          votes


















          8














          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:




          1. 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 (see man 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.




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




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




          4. 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:




            list of files link




            and one will get the file list:




            list of files for httpcode package




            This list may interpreted manually or by using searchbar in the browser.







          share|improve this answer

























          • Is your first solution always feasible, i.e. do package executables always go into some bin directory?

            – bleistift2
            Apr 6 at 14:06






          • 1





            Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in /bin, /sbin, /usr/bin, /usr/sbin.

            – N0rbert
            Apr 6 at 14:17






          • 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
            Apr 6 at 15:11











          • @vanadium, you are right about $PATH. Edited answer to include this approach.

            – N0rbert
            Apr 6 at 15:22











          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
          );



          );













          draft saved

          draft discarded


















          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









          8














          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:




          1. 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 (see man 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.




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




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




          4. 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:




            list of files link




            and one will get the file list:




            list of files for httpcode package




            This list may interpreted manually or by using searchbar in the browser.







          share|improve this answer

























          • Is your first solution always feasible, i.e. do package executables always go into some bin directory?

            – bleistift2
            Apr 6 at 14:06






          • 1





            Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in /bin, /sbin, /usr/bin, /usr/sbin.

            – N0rbert
            Apr 6 at 14:17






          • 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
            Apr 6 at 15:11











          • @vanadium, you are right about $PATH. Edited answer to include this approach.

            – N0rbert
            Apr 6 at 15:22















          8














          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:




          1. 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 (see man 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.




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




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




          4. 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:




            list of files link




            and one will get the file list:




            list of files for httpcode package




            This list may interpreted manually or by using searchbar in the browser.







          share|improve this answer

























          • Is your first solution always feasible, i.e. do package executables always go into some bin directory?

            – bleistift2
            Apr 6 at 14:06






          • 1





            Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in /bin, /sbin, /usr/bin, /usr/sbin.

            – N0rbert
            Apr 6 at 14:17






          • 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
            Apr 6 at 15:11











          • @vanadium, you are right about $PATH. Edited answer to include this approach.

            – N0rbert
            Apr 6 at 15:22













          8












          8








          8







          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:




          1. 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 (see man 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.




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




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




          4. 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:




            list of files link




            and one will get the file list:




            list of files for httpcode package




            This list may interpreted manually or by using searchbar in the browser.







          share|improve this answer















          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:




          1. 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 (see man 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.




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




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




          4. 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:




            list of files link




            and one will get the file list:




            list of files for httpcode package




            This list may interpreted manually or by using searchbar in the browser.








          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 6 at 15:20

























          answered Apr 6 at 14:04









          N0rbertN0rbert

          25.2k853118




          25.2k853118












          • Is your first solution always feasible, i.e. do package executables always go into some bin directory?

            – bleistift2
            Apr 6 at 14:06






          • 1





            Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in /bin, /sbin, /usr/bin, /usr/sbin.

            – N0rbert
            Apr 6 at 14:17






          • 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
            Apr 6 at 15:11











          • @vanadium, you are right about $PATH. Edited answer to include this approach.

            – N0rbert
            Apr 6 at 15:22

















          • Is your first solution always feasible, i.e. do package executables always go into some bin directory?

            – bleistift2
            Apr 6 at 14:06






          • 1





            Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in /bin, /sbin, /usr/bin, /usr/sbin.

            – N0rbert
            Apr 6 at 14:17






          • 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
            Apr 6 at 15:11











          • @vanadium, you are right about $PATH. Edited answer to include this approach.

            – N0rbert
            Apr 6 at 15:22
















          Is your first solution always feasible, i.e. do package executables always go into some bin directory?

          – bleistift2
          Apr 6 at 14:06





          Is your first solution always feasible, i.e. do package executables always go into some bin directory?

          – bleistift2
          Apr 6 at 14:06




          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
          Apr 6 at 14:17





          Yes, good-packaged application should conform Filesystem Hierarchy Standard, so its executables should be placed in /bin, /sbin, /usr/bin, /usr/sbin.

          – N0rbert
          Apr 6 at 14:17




          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
          Apr 6 at 15:11





          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
          Apr 6 at 15:11













          @vanadium, you are right about $PATH. Edited answer to include this approach.

          – N0rbert
          Apr 6 at 15:22





          @vanadium, you are right about $PATH. Edited answer to include this approach.

          – N0rbert
          Apr 6 at 15:22

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

          What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

          Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos