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







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 12 hours ago









      bleistift2bleistift2

      366




      366






















          1 Answer
          1






          active

          oldest

          votes


















          7














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












          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









          7














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
















          7














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














          7












          7








          7







          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 10 hours ago

























          answered 12 hours ago









          N0rbertN0rbert

          25k853118




          25k853118













          • Is your first solution always feasible, i.e. do package executables always go into some bin 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






          • 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


















          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 label and detect the document text images

          Vallis Paradisi

          Tabula Rosettana