How to find all the available tools in mac terminal? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Should an RSS feed of hot network questions feed any chat room(s) here?How to migrate my Mac OS X application and data from MacBook Pro to Mac Mini?Automating terminals at startupLoad .bash_profile automatically on Terminal.app startup?Auto open 4 terminal sessions and SSH them to a given hostTerminal bash commands stopped workingHelp Understanding Terminal's CommandHow to programmatically start commands in Terminal tabs without losing focusIs it possible to make a folder look and behave like a file?How can I fix my terminal when editing the PATH in .bash_profile has the startup hang and I get no prompt?How can I make sure that the title of a Terminal tab/window is identical to the command I typed

Why did the IBM 650 use bi-quinary?

porting install scripts : can rpm replace apt?

String `!23` is replaced with `docker` in command line

Generate an RGB colour grid

Seeking colloquialism for “just because”

If a contract sometimes uses the wrong name, is it still valid?

What does the "x" in "x86" represent?

Withdrew £2800, but only £2000 shows as withdrawn on online banking; what are my obligations?

What does "fit" mean in this sentence?

Dating a Former Employee

Echoing a tail command produces unexpected output?

How to deal with a team lead who never gives me credit?

2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?

What does an IRS interview request entail when called in to verify expenses for a sole proprietor small business?

Identify plant with long narrow paired leaves and reddish stems

How does debian/ubuntu knows a package has a updated version

What is the meaning of the new sigil in Game of Thrones Season 8 intro?

Why was the term "discrete" used in discrete logarithm?

Can an alien society believe that their star system is the universe?

Why are Kinder Surprise Eggs illegal in the USA?

English words in a non-english sci-fi novel

Book where humans were engineered with genes from animal species to survive hostile planets

Storing hydrofluoric acid before the invention of plastics

How does the particle を relate to the verb 行く in the structure「A を + B に行く」?



How to find all the available tools in mac terminal?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Should an RSS feed of hot network questions feed any chat room(s) here?How to migrate my Mac OS X application and data from MacBook Pro to Mac Mini?Automating terminals at startupLoad .bash_profile automatically on Terminal.app startup?Auto open 4 terminal sessions and SSH them to a given hostTerminal bash commands stopped workingHelp Understanding Terminal's CommandHow to programmatically start commands in Terminal tabs without losing focusIs it possible to make a folder look and behave like a file?How can I fix my terminal when editing the PATH in .bash_profile has the startup hang and I get no prompt?How can I make sure that the title of a Terminal tab/window is identical to the command I typed



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








13















I am trying to setup a bunch of development projects in my Mac. I have to run various tools like python, ruby, scala, groovy etc.
To see if a tool is available I use options like



ruby --version. 


Instead I would like to see all the list of tools available in Mac terminal via a single command. What is the command/options for it?










share|improve this question



















  • 10





    The list will be more overwhelming than informative. On macOS 10.14.4, I see 1,302 executables in /bin, /sbin, /usr/bin, and /usr/sbin. Most of them obscure and/or single-purpose. For instance: hpftodit, which converts fonts from HP tagged font metric (TFM) format for use with an HP Laser-Jet 4-series (or newer) printer with groff -Tlj4. Ok, that's an extreme example, I claim the point is still valid.

    – Gordon Davisson
    20 hours ago

















13















I am trying to setup a bunch of development projects in my Mac. I have to run various tools like python, ruby, scala, groovy etc.
To see if a tool is available I use options like



ruby --version. 


Instead I would like to see all the list of tools available in Mac terminal via a single command. What is the command/options for it?










share|improve this question



















  • 10





    The list will be more overwhelming than informative. On macOS 10.14.4, I see 1,302 executables in /bin, /sbin, /usr/bin, and /usr/sbin. Most of them obscure and/or single-purpose. For instance: hpftodit, which converts fonts from HP tagged font metric (TFM) format for use with an HP Laser-Jet 4-series (or newer) printer with groff -Tlj4. Ok, that's an extreme example, I claim the point is still valid.

    – Gordon Davisson
    20 hours ago













13












13








13


2






I am trying to setup a bunch of development projects in my Mac. I have to run various tools like python, ruby, scala, groovy etc.
To see if a tool is available I use options like



ruby --version. 


Instead I would like to see all the list of tools available in Mac terminal via a single command. What is the command/options for it?










share|improve this question
















I am trying to setup a bunch of development projects in my Mac. I have to run various tools like python, ruby, scala, groovy etc.
To see if a tool is available I use options like



ruby --version. 


Instead I would like to see all the list of tools available in Mac terminal via a single command. What is the command/options for it?







macos terminal iterm






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago







Spear A1

















asked yesterday









Spear A1Spear A1

715




715







  • 10





    The list will be more overwhelming than informative. On macOS 10.14.4, I see 1,302 executables in /bin, /sbin, /usr/bin, and /usr/sbin. Most of them obscure and/or single-purpose. For instance: hpftodit, which converts fonts from HP tagged font metric (TFM) format for use with an HP Laser-Jet 4-series (or newer) printer with groff -Tlj4. Ok, that's an extreme example, I claim the point is still valid.

    – Gordon Davisson
    20 hours ago












  • 10





    The list will be more overwhelming than informative. On macOS 10.14.4, I see 1,302 executables in /bin, /sbin, /usr/bin, and /usr/sbin. Most of them obscure and/or single-purpose. For instance: hpftodit, which converts fonts from HP tagged font metric (TFM) format for use with an HP Laser-Jet 4-series (or newer) printer with groff -Tlj4. Ok, that's an extreme example, I claim the point is still valid.

    – Gordon Davisson
    20 hours ago







10




10





The list will be more overwhelming than informative. On macOS 10.14.4, I see 1,302 executables in /bin, /sbin, /usr/bin, and /usr/sbin. Most of them obscure and/or single-purpose. For instance: hpftodit, which converts fonts from HP tagged font metric (TFM) format for use with an HP Laser-Jet 4-series (or newer) printer with groff -Tlj4. Ok, that's an extreme example, I claim the point is still valid.

– Gordon Davisson
20 hours ago





The list will be more overwhelming than informative. On macOS 10.14.4, I see 1,302 executables in /bin, /sbin, /usr/bin, and /usr/sbin. Most of them obscure and/or single-purpose. For instance: hpftodit, which converts fonts from HP tagged font metric (TFM) format for use with an HP Laser-Jet 4-series (or newer) printer with groff -Tlj4. Ok, that's an extreme example, I claim the point is still valid.

– Gordon Davisson
20 hours ago










6 Answers
6






active

oldest

votes


















17














The easiest is simply to open the Terminal and then press the TAB key twice. You'll be asked if you want to see all possibilities - reply "y" and you'll get the full list.






share|improve this answer






























    14














    See the answers from this U&L Q&A titled:
    List all commands that a shell knows
    .



    My personal favorite is to utilize compgen since this is part of the family of tools used to build all the tab completion when you're in a terminal and hit tab> + tab twice.



    $ compgen -c


    Example



    $ compgen -c | tail
    deepcopy-gen
    kube-controller-manager
    informer-gen
    lister-gen
    etcd
    gen-apidocs
    kube-apiserver
    kubectl
    kubebuilder
    conversion-gen


    Incidentally, if you want to know where one of these executables lives on your HDD use type -a <cmd> to find it:



    $ type -a ansible
    ansible is aliased to `ANSIBLE_CONFIG=~/.ansible.cfg ansible'
    ansible is /usr/local/bin/ansible


    This shows that the command ansible is an alias and also lives locally on the HDD here: /usr/local/bin/ansible.



    References



    • 8.7 Programmable Completion Builtins





    share|improve this answer
































      4














      You could take the PATH variable and translate the colons into spaces then list the files in those directories.



      ls $(tr ':' ' ' <<<"$PATH")


      And as Peter Cordes points out, the above will break if directory paths have spaces in their name. In a subshell, change the IFS (Internal Field Separator) to only a newline and translate the colons to newlines.



      ( IFS=$'n'; ls $(tr ':' 'n' <<<"$PATH") ) 





      share|improve this answer




















      • 1





        If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

        – Peter Cordes
        13 hours ago


















      3














      When a command is installed, an entry should have been placed in the whatis database. However, there is no requirement to do so. To get a one line description of a command in the database, enter whatis followed by the command. For example, the output from entering whatis "ruby" is shown below.



      erb(1) - Ruby Templating
      irb(1) - Interactive Ruby Shell
      ri(1) - Ruby API reference front end
      ruby(1) - Interpreted object-oriented scripting language


      This the whatis command will accept regular expressions. Therefore, to get a list of all commands in the database, enter the command given below.



      whatis "."


      The man page for whatis states the following:




      whatis searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output. Only complete word matches are displayed.




      There also exists a similar command called apropos. The man page for apropos states the following:




      apropos searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output.




      Basically, the difference is apropos does not require complete word matches. For example, whatis "string" would not find a match when encountering strings, but apropos "string" would.






      share|improve this answer
































        1














        For completeness's sake, if you use zsh, you can use ls "$(@)path(N)". To get a list grouped by directory, use ls "$(@)path"/*(-*N) or printf "%sn" "$(@)path"/*(-*N) (unsorted but in the order they would be found); printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u will give you a list of just the commands without paths.



        Do note that this only shows executables, not aliases or functions. To get those, use alias or typeset -f + | grep -v '^_' respectively.



        Sample output of each:



        % ls "$(@)path"(N)
        /bin:
        [ cat cp
        [...]
        sync test wait4path

        /sbin:
        apfs_hfs_convert fsck fstyp
        [...]




        % ls "$(@)path"/*(-*N)
        /bin/[ /usr/bin/nc /usr/local/bin/gmktemp
        /bin/bash /usr/bin/ncal /usr/local/bin/gmv
        /bin/cat /usr/bin/ncctl /usr/local/bin/gnice
        /bin/chmod /usr/bin/ncdestroy /usr/local/bin/gnl
        /bin/cp /usr/bin/ncinit /usr/local/bin/gnohup
        /bin/csh /usr/bin/nclist /usr/local/bin/gnproc




        % printf "%sn" "$(@)path"/*(-*N)
        /usr/local/bin/2to3
        /usr/local/bin/2to3-2
        /usr/local/bin/2to3-2.7
        [...]
        /usr/sbin/AppleFileServer
        /usr/sbin/BootCacheControl
        /usr/sbin/DevToolsSecurity
        /usr/sbin/DirectoryService
        [...]




        % printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u
        2to3
        2to3-
        2to3-2
        2to3-2.7
        2to3-3.7
        7z
        7za
        7zr
        AppleFileServer
        AssetCacheLocatorUtil
        AssetCacheManagerUtil
        [...]
        znew
        zprint
        zsh
        zsh-5.7.1





        share|improve this answer






























          1














          Seconding what @jksoegaard already mentioned, the simplest way is to use Tab autocompletion feature in Bash. Hitting the Tab key twice lists all available shell internal commands, external commands and alias available. If you enter the initial characters of a command, the matching commands are listed when hitting Tab key twice.



          There are 3rd party package managers available for macOS which lets you install command-line-tools which are either unavailable in the native installation of macOS, or have their older version installed. A couple popular package managers among software developers are Homebrew and MacPorts.



          Thus, if you are interested in the broader spectrum of developer tools available to run on your Mac, you can also list all the command-line-tools available for easy installation and running by executing brew search for Homebrew and port search for MacPorts. Executing the said commands require the respective package managers to be installed on your system.






          share|improve this answer
































            6 Answers
            6






            active

            oldest

            votes








            6 Answers
            6






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            17














            The easiest is simply to open the Terminal and then press the TAB key twice. You'll be asked if you want to see all possibilities - reply "y" and you'll get the full list.






            share|improve this answer



























              17














              The easiest is simply to open the Terminal and then press the TAB key twice. You'll be asked if you want to see all possibilities - reply "y" and you'll get the full list.






              share|improve this answer

























                17












                17








                17







                The easiest is simply to open the Terminal and then press the TAB key twice. You'll be asked if you want to see all possibilities - reply "y" and you'll get the full list.






                share|improve this answer













                The easiest is simply to open the Terminal and then press the TAB key twice. You'll be asked if you want to see all possibilities - reply "y" and you'll get the full list.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered yesterday









                jksoegaardjksoegaard

                20.8k12151




                20.8k12151























                    14














                    See the answers from this U&L Q&A titled:
                    List all commands that a shell knows
                    .



                    My personal favorite is to utilize compgen since this is part of the family of tools used to build all the tab completion when you're in a terminal and hit tab> + tab twice.



                    $ compgen -c


                    Example



                    $ compgen -c | tail
                    deepcopy-gen
                    kube-controller-manager
                    informer-gen
                    lister-gen
                    etcd
                    gen-apidocs
                    kube-apiserver
                    kubectl
                    kubebuilder
                    conversion-gen


                    Incidentally, if you want to know where one of these executables lives on your HDD use type -a <cmd> to find it:



                    $ type -a ansible
                    ansible is aliased to `ANSIBLE_CONFIG=~/.ansible.cfg ansible'
                    ansible is /usr/local/bin/ansible


                    This shows that the command ansible is an alias and also lives locally on the HDD here: /usr/local/bin/ansible.



                    References



                    • 8.7 Programmable Completion Builtins





                    share|improve this answer





























                      14














                      See the answers from this U&L Q&A titled:
                      List all commands that a shell knows
                      .



                      My personal favorite is to utilize compgen since this is part of the family of tools used to build all the tab completion when you're in a terminal and hit tab> + tab twice.



                      $ compgen -c


                      Example



                      $ compgen -c | tail
                      deepcopy-gen
                      kube-controller-manager
                      informer-gen
                      lister-gen
                      etcd
                      gen-apidocs
                      kube-apiserver
                      kubectl
                      kubebuilder
                      conversion-gen


                      Incidentally, if you want to know where one of these executables lives on your HDD use type -a <cmd> to find it:



                      $ type -a ansible
                      ansible is aliased to `ANSIBLE_CONFIG=~/.ansible.cfg ansible'
                      ansible is /usr/local/bin/ansible


                      This shows that the command ansible is an alias and also lives locally on the HDD here: /usr/local/bin/ansible.



                      References



                      • 8.7 Programmable Completion Builtins





                      share|improve this answer



























                        14












                        14








                        14







                        See the answers from this U&L Q&A titled:
                        List all commands that a shell knows
                        .



                        My personal favorite is to utilize compgen since this is part of the family of tools used to build all the tab completion when you're in a terminal and hit tab> + tab twice.



                        $ compgen -c


                        Example



                        $ compgen -c | tail
                        deepcopy-gen
                        kube-controller-manager
                        informer-gen
                        lister-gen
                        etcd
                        gen-apidocs
                        kube-apiserver
                        kubectl
                        kubebuilder
                        conversion-gen


                        Incidentally, if you want to know where one of these executables lives on your HDD use type -a <cmd> to find it:



                        $ type -a ansible
                        ansible is aliased to `ANSIBLE_CONFIG=~/.ansible.cfg ansible'
                        ansible is /usr/local/bin/ansible


                        This shows that the command ansible is an alias and also lives locally on the HDD here: /usr/local/bin/ansible.



                        References



                        • 8.7 Programmable Completion Builtins





                        share|improve this answer















                        See the answers from this U&L Q&A titled:
                        List all commands that a shell knows
                        .



                        My personal favorite is to utilize compgen since this is part of the family of tools used to build all the tab completion when you're in a terminal and hit tab> + tab twice.



                        $ compgen -c


                        Example



                        $ compgen -c | tail
                        deepcopy-gen
                        kube-controller-manager
                        informer-gen
                        lister-gen
                        etcd
                        gen-apidocs
                        kube-apiserver
                        kubectl
                        kubebuilder
                        conversion-gen


                        Incidentally, if you want to know where one of these executables lives on your HDD use type -a <cmd> to find it:



                        $ type -a ansible
                        ansible is aliased to `ANSIBLE_CONFIG=~/.ansible.cfg ansible'
                        ansible is /usr/local/bin/ansible


                        This shows that the command ansible is an alias and also lives locally on the HDD here: /usr/local/bin/ansible.



                        References



                        • 8.7 Programmable Completion Builtins






                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited yesterday

























                        answered yesterday









                        slmslm

                        982615




                        982615





















                            4














                            You could take the PATH variable and translate the colons into spaces then list the files in those directories.



                            ls $(tr ':' ' ' <<<"$PATH")


                            And as Peter Cordes points out, the above will break if directory paths have spaces in their name. In a subshell, change the IFS (Internal Field Separator) to only a newline and translate the colons to newlines.



                            ( IFS=$'n'; ls $(tr ':' 'n' <<<"$PATH") ) 





                            share|improve this answer




















                            • 1





                              If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

                              – Peter Cordes
                              13 hours ago















                            4














                            You could take the PATH variable and translate the colons into spaces then list the files in those directories.



                            ls $(tr ':' ' ' <<<"$PATH")


                            And as Peter Cordes points out, the above will break if directory paths have spaces in their name. In a subshell, change the IFS (Internal Field Separator) to only a newline and translate the colons to newlines.



                            ( IFS=$'n'; ls $(tr ':' 'n' <<<"$PATH") ) 





                            share|improve this answer




















                            • 1





                              If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

                              – Peter Cordes
                              13 hours ago













                            4












                            4








                            4







                            You could take the PATH variable and translate the colons into spaces then list the files in those directories.



                            ls $(tr ':' ' ' <<<"$PATH")


                            And as Peter Cordes points out, the above will break if directory paths have spaces in their name. In a subshell, change the IFS (Internal Field Separator) to only a newline and translate the colons to newlines.



                            ( IFS=$'n'; ls $(tr ':' 'n' <<<"$PATH") ) 





                            share|improve this answer















                            You could take the PATH variable and translate the colons into spaces then list the files in those directories.



                            ls $(tr ':' ' ' <<<"$PATH")


                            And as Peter Cordes points out, the above will break if directory paths have spaces in their name. In a subshell, change the IFS (Internal Field Separator) to only a newline and translate the colons to newlines.



                            ( IFS=$'n'; ls $(tr ':' 'n' <<<"$PATH") ) 






                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited 13 hours ago

























                            answered yesterday









                            fd0fd0

                            6,47511431




                            6,47511431







                            • 1





                              If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

                              – Peter Cordes
                              13 hours ago












                            • 1





                              If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

                              – Peter Cordes
                              13 hours ago







                            1




                            1





                            If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

                            – Peter Cordes
                            13 hours ago





                            If your $PATH contains spaces but not newlines, you can tr spaces to newlines inside an (IFS=$'n'; ls $(...)) subshell so word-splitting only happens on newline.

                            – Peter Cordes
                            13 hours ago











                            3














                            When a command is installed, an entry should have been placed in the whatis database. However, there is no requirement to do so. To get a one line description of a command in the database, enter whatis followed by the command. For example, the output from entering whatis "ruby" is shown below.



                            erb(1) - Ruby Templating
                            irb(1) - Interactive Ruby Shell
                            ri(1) - Ruby API reference front end
                            ruby(1) - Interpreted object-oriented scripting language


                            This the whatis command will accept regular expressions. Therefore, to get a list of all commands in the database, enter the command given below.



                            whatis "."


                            The man page for whatis states the following:




                            whatis searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output. Only complete word matches are displayed.




                            There also exists a similar command called apropos. The man page for apropos states the following:




                            apropos searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output.




                            Basically, the difference is apropos does not require complete word matches. For example, whatis "string" would not find a match when encountering strings, but apropos "string" would.






                            share|improve this answer





























                              3














                              When a command is installed, an entry should have been placed in the whatis database. However, there is no requirement to do so. To get a one line description of a command in the database, enter whatis followed by the command. For example, the output from entering whatis "ruby" is shown below.



                              erb(1) - Ruby Templating
                              irb(1) - Interactive Ruby Shell
                              ri(1) - Ruby API reference front end
                              ruby(1) - Interpreted object-oriented scripting language


                              This the whatis command will accept regular expressions. Therefore, to get a list of all commands in the database, enter the command given below.



                              whatis "."


                              The man page for whatis states the following:




                              whatis searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output. Only complete word matches are displayed.




                              There also exists a similar command called apropos. The man page for apropos states the following:




                              apropos searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output.




                              Basically, the difference is apropos does not require complete word matches. For example, whatis "string" would not find a match when encountering strings, but apropos "string" would.






                              share|improve this answer



























                                3












                                3








                                3







                                When a command is installed, an entry should have been placed in the whatis database. However, there is no requirement to do so. To get a one line description of a command in the database, enter whatis followed by the command. For example, the output from entering whatis "ruby" is shown below.



                                erb(1) - Ruby Templating
                                irb(1) - Interactive Ruby Shell
                                ri(1) - Ruby API reference front end
                                ruby(1) - Interpreted object-oriented scripting language


                                This the whatis command will accept regular expressions. Therefore, to get a list of all commands in the database, enter the command given below.



                                whatis "."


                                The man page for whatis states the following:




                                whatis searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output. Only complete word matches are displayed.




                                There also exists a similar command called apropos. The man page for apropos states the following:




                                apropos searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output.




                                Basically, the difference is apropos does not require complete word matches. For example, whatis "string" would not find a match when encountering strings, but apropos "string" would.






                                share|improve this answer















                                When a command is installed, an entry should have been placed in the whatis database. However, there is no requirement to do so. To get a one line description of a command in the database, enter whatis followed by the command. For example, the output from entering whatis "ruby" is shown below.



                                erb(1) - Ruby Templating
                                irb(1) - Interactive Ruby Shell
                                ri(1) - Ruby API reference front end
                                ruby(1) - Interpreted object-oriented scripting language


                                This the whatis command will accept regular expressions. Therefore, to get a list of all commands in the database, enter the command given below.



                                whatis "."


                                The man page for whatis states the following:




                                whatis searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output. Only complete word matches are displayed.




                                There also exists a similar command called apropos. The man page for apropos states the following:




                                apropos searches a set of database files containing short descriptions of system commands for keywords and displays the result on the standard output.




                                Basically, the difference is apropos does not require complete word matches. For example, whatis "string" would not find a match when encountering strings, but apropos "string" would.







                                share|improve this answer














                                share|improve this answer



                                share|improve this answer








                                edited 15 hours ago

























                                answered 15 hours ago









                                David AndersonDavid Anderson

                                14.6k41846




                                14.6k41846





















                                    1














                                    For completeness's sake, if you use zsh, you can use ls "$(@)path(N)". To get a list grouped by directory, use ls "$(@)path"/*(-*N) or printf "%sn" "$(@)path"/*(-*N) (unsorted but in the order they would be found); printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u will give you a list of just the commands without paths.



                                    Do note that this only shows executables, not aliases or functions. To get those, use alias or typeset -f + | grep -v '^_' respectively.



                                    Sample output of each:



                                    % ls "$(@)path"(N)
                                    /bin:
                                    [ cat cp
                                    [...]
                                    sync test wait4path

                                    /sbin:
                                    apfs_hfs_convert fsck fstyp
                                    [...]




                                    % ls "$(@)path"/*(-*N)
                                    /bin/[ /usr/bin/nc /usr/local/bin/gmktemp
                                    /bin/bash /usr/bin/ncal /usr/local/bin/gmv
                                    /bin/cat /usr/bin/ncctl /usr/local/bin/gnice
                                    /bin/chmod /usr/bin/ncdestroy /usr/local/bin/gnl
                                    /bin/cp /usr/bin/ncinit /usr/local/bin/gnohup
                                    /bin/csh /usr/bin/nclist /usr/local/bin/gnproc




                                    % printf "%sn" "$(@)path"/*(-*N)
                                    /usr/local/bin/2to3
                                    /usr/local/bin/2to3-2
                                    /usr/local/bin/2to3-2.7
                                    [...]
                                    /usr/sbin/AppleFileServer
                                    /usr/sbin/BootCacheControl
                                    /usr/sbin/DevToolsSecurity
                                    /usr/sbin/DirectoryService
                                    [...]




                                    % printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u
                                    2to3
                                    2to3-
                                    2to3-2
                                    2to3-2.7
                                    2to3-3.7
                                    7z
                                    7za
                                    7zr
                                    AppleFileServer
                                    AssetCacheLocatorUtil
                                    AssetCacheManagerUtil
                                    [...]
                                    znew
                                    zprint
                                    zsh
                                    zsh-5.7.1





                                    share|improve this answer



























                                      1














                                      For completeness's sake, if you use zsh, you can use ls "$(@)path(N)". To get a list grouped by directory, use ls "$(@)path"/*(-*N) or printf "%sn" "$(@)path"/*(-*N) (unsorted but in the order they would be found); printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u will give you a list of just the commands without paths.



                                      Do note that this only shows executables, not aliases or functions. To get those, use alias or typeset -f + | grep -v '^_' respectively.



                                      Sample output of each:



                                      % ls "$(@)path"(N)
                                      /bin:
                                      [ cat cp
                                      [...]
                                      sync test wait4path

                                      /sbin:
                                      apfs_hfs_convert fsck fstyp
                                      [...]




                                      % ls "$(@)path"/*(-*N)
                                      /bin/[ /usr/bin/nc /usr/local/bin/gmktemp
                                      /bin/bash /usr/bin/ncal /usr/local/bin/gmv
                                      /bin/cat /usr/bin/ncctl /usr/local/bin/gnice
                                      /bin/chmod /usr/bin/ncdestroy /usr/local/bin/gnl
                                      /bin/cp /usr/bin/ncinit /usr/local/bin/gnohup
                                      /bin/csh /usr/bin/nclist /usr/local/bin/gnproc




                                      % printf "%sn" "$(@)path"/*(-*N)
                                      /usr/local/bin/2to3
                                      /usr/local/bin/2to3-2
                                      /usr/local/bin/2to3-2.7
                                      [...]
                                      /usr/sbin/AppleFileServer
                                      /usr/sbin/BootCacheControl
                                      /usr/sbin/DevToolsSecurity
                                      /usr/sbin/DirectoryService
                                      [...]




                                      % printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u
                                      2to3
                                      2to3-
                                      2to3-2
                                      2to3-2.7
                                      2to3-3.7
                                      7z
                                      7za
                                      7zr
                                      AppleFileServer
                                      AssetCacheLocatorUtil
                                      AssetCacheManagerUtil
                                      [...]
                                      znew
                                      zprint
                                      zsh
                                      zsh-5.7.1





                                      share|improve this answer

























                                        1












                                        1








                                        1







                                        For completeness's sake, if you use zsh, you can use ls "$(@)path(N)". To get a list grouped by directory, use ls "$(@)path"/*(-*N) or printf "%sn" "$(@)path"/*(-*N) (unsorted but in the order they would be found); printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u will give you a list of just the commands without paths.



                                        Do note that this only shows executables, not aliases or functions. To get those, use alias or typeset -f + | grep -v '^_' respectively.



                                        Sample output of each:



                                        % ls "$(@)path"(N)
                                        /bin:
                                        [ cat cp
                                        [...]
                                        sync test wait4path

                                        /sbin:
                                        apfs_hfs_convert fsck fstyp
                                        [...]




                                        % ls "$(@)path"/*(-*N)
                                        /bin/[ /usr/bin/nc /usr/local/bin/gmktemp
                                        /bin/bash /usr/bin/ncal /usr/local/bin/gmv
                                        /bin/cat /usr/bin/ncctl /usr/local/bin/gnice
                                        /bin/chmod /usr/bin/ncdestroy /usr/local/bin/gnl
                                        /bin/cp /usr/bin/ncinit /usr/local/bin/gnohup
                                        /bin/csh /usr/bin/nclist /usr/local/bin/gnproc




                                        % printf "%sn" "$(@)path"/*(-*N)
                                        /usr/local/bin/2to3
                                        /usr/local/bin/2to3-2
                                        /usr/local/bin/2to3-2.7
                                        [...]
                                        /usr/sbin/AppleFileServer
                                        /usr/sbin/BootCacheControl
                                        /usr/sbin/DevToolsSecurity
                                        /usr/sbin/DirectoryService
                                        [...]




                                        % printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u
                                        2to3
                                        2to3-
                                        2to3-2
                                        2to3-2.7
                                        2to3-3.7
                                        7z
                                        7za
                                        7zr
                                        AppleFileServer
                                        AssetCacheLocatorUtil
                                        AssetCacheManagerUtil
                                        [...]
                                        znew
                                        zprint
                                        zsh
                                        zsh-5.7.1





                                        share|improve this answer













                                        For completeness's sake, if you use zsh, you can use ls "$(@)path(N)". To get a list grouped by directory, use ls "$(@)path"/*(-*N) or printf "%sn" "$(@)path"/*(-*N) (unsorted but in the order they would be found); printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u will give you a list of just the commands without paths.



                                        Do note that this only shows executables, not aliases or functions. To get those, use alias or typeset -f + | grep -v '^_' respectively.



                                        Sample output of each:



                                        % ls "$(@)path"(N)
                                        /bin:
                                        [ cat cp
                                        [...]
                                        sync test wait4path

                                        /sbin:
                                        apfs_hfs_convert fsck fstyp
                                        [...]




                                        % ls "$(@)path"/*(-*N)
                                        /bin/[ /usr/bin/nc /usr/local/bin/gmktemp
                                        /bin/bash /usr/bin/ncal /usr/local/bin/gmv
                                        /bin/cat /usr/bin/ncctl /usr/local/bin/gnice
                                        /bin/chmod /usr/bin/ncdestroy /usr/local/bin/gnl
                                        /bin/cp /usr/bin/ncinit /usr/local/bin/gnohup
                                        /bin/csh /usr/bin/nclist /usr/local/bin/gnproc




                                        % printf "%sn" "$(@)path"/*(-*N)
                                        /usr/local/bin/2to3
                                        /usr/local/bin/2to3-2
                                        /usr/local/bin/2to3-2.7
                                        [...]
                                        /usr/sbin/AppleFileServer
                                        /usr/sbin/BootCacheControl
                                        /usr/sbin/DevToolsSecurity
                                        /usr/sbin/DirectoryService
                                        [...]




                                        % printf "%sn" "$(@)path"/*(-*N) | xargs -L 1 basename | sort -u
                                        2to3
                                        2to3-
                                        2to3-2
                                        2to3-2.7
                                        2to3-3.7
                                        7z
                                        7za
                                        7zr
                                        AppleFileServer
                                        AssetCacheLocatorUtil
                                        AssetCacheManagerUtil
                                        [...]
                                        znew
                                        zprint
                                        zsh
                                        zsh-5.7.1






                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered 6 hours ago









                                        KevinKevin

                                        1189




                                        1189





















                                            1














                                            Seconding what @jksoegaard already mentioned, the simplest way is to use Tab autocompletion feature in Bash. Hitting the Tab key twice lists all available shell internal commands, external commands and alias available. If you enter the initial characters of a command, the matching commands are listed when hitting Tab key twice.



                                            There are 3rd party package managers available for macOS which lets you install command-line-tools which are either unavailable in the native installation of macOS, or have their older version installed. A couple popular package managers among software developers are Homebrew and MacPorts.



                                            Thus, if you are interested in the broader spectrum of developer tools available to run on your Mac, you can also list all the command-line-tools available for easy installation and running by executing brew search for Homebrew and port search for MacPorts. Executing the said commands require the respective package managers to be installed on your system.






                                            share|improve this answer





























                                              1














                                              Seconding what @jksoegaard already mentioned, the simplest way is to use Tab autocompletion feature in Bash. Hitting the Tab key twice lists all available shell internal commands, external commands and alias available. If you enter the initial characters of a command, the matching commands are listed when hitting Tab key twice.



                                              There are 3rd party package managers available for macOS which lets you install command-line-tools which are either unavailable in the native installation of macOS, or have their older version installed. A couple popular package managers among software developers are Homebrew and MacPorts.



                                              Thus, if you are interested in the broader spectrum of developer tools available to run on your Mac, you can also list all the command-line-tools available for easy installation and running by executing brew search for Homebrew and port search for MacPorts. Executing the said commands require the respective package managers to be installed on your system.






                                              share|improve this answer



























                                                1












                                                1








                                                1







                                                Seconding what @jksoegaard already mentioned, the simplest way is to use Tab autocompletion feature in Bash. Hitting the Tab key twice lists all available shell internal commands, external commands and alias available. If you enter the initial characters of a command, the matching commands are listed when hitting Tab key twice.



                                                There are 3rd party package managers available for macOS which lets you install command-line-tools which are either unavailable in the native installation of macOS, or have their older version installed. A couple popular package managers among software developers are Homebrew and MacPorts.



                                                Thus, if you are interested in the broader spectrum of developer tools available to run on your Mac, you can also list all the command-line-tools available for easy installation and running by executing brew search for Homebrew and port search for MacPorts. Executing the said commands require the respective package managers to be installed on your system.






                                                share|improve this answer















                                                Seconding what @jksoegaard already mentioned, the simplest way is to use Tab autocompletion feature in Bash. Hitting the Tab key twice lists all available shell internal commands, external commands and alias available. If you enter the initial characters of a command, the matching commands are listed when hitting Tab key twice.



                                                There are 3rd party package managers available for macOS which lets you install command-line-tools which are either unavailable in the native installation of macOS, or have their older version installed. A couple popular package managers among software developers are Homebrew and MacPorts.



                                                Thus, if you are interested in the broader spectrum of developer tools available to run on your Mac, you can also list all the command-line-tools available for easy installation and running by executing brew search for Homebrew and port search for MacPorts. Executing the said commands require the respective package managers to be installed on your system.







                                                share|improve this answer














                                                share|improve this answer



                                                share|improve this answer








                                                edited 5 hours ago

























                                                answered 12 hours ago









                                                Nimesh NeemaNimesh Neema

                                                17.1k74879




                                                17.1k74879













                                                    Popular posts from this blog

                                                    На ростанях Змест Гісторыя напісання | Месца дзеяння | Час дзеяння | Назва | Праблематыка трылогіі | Аўтабіяграфічнасць | Трылогія ў тэатры і кіно | Пераклады | У культуры | Зноскі Літаратура | Спасылкі | НавігацыяДагледжаная версіяправерана1 зменаДагледжаная версіяправерана1 зменаАкадэмік МІЦКЕВІЧ Канстанцін Міхайлавіч (Якуб Колас) Прадмова М. І. Мушынскага, доктара філалагічных навук, члена-карэспандэнта Нацыянальнай акадэміі навук Рэспублікі Беларусь, прафесараНашаніўцы ў трылогіі Якуба Коласа «На ростанях»: вобразы і прататыпы125 лет Янке МавруКнижно-документальная выставка к 125-летию со дня рождения Якуба Коласа (1882—1956)Колас Якуб. Новая зямля (паэма), На ростанях (трылогія). Сулкоўскі Уладзімір. Радзіма Якуба Коласа (серыял жывапісных палотнаў)Вокладка кнігіІлюстрацыя М. С. БасалыгіНа ростаняхАўдыёверсія трылогііВ. Жолтак У Люсiнскай школе 1959

                                                    Францішак Багушэвіч Змест Сям'я | Біяграфія | Творчасць | Мова Багушэвіча | Ацэнкі дзейнасці | Цікавыя факты | Спадчына | Выбраная бібліяграфія | Ушанаванне памяці | У філатэліі | Зноскі | Літаратура | Спасылкі | НавігацыяЛяхоўскі У. Рупіўся дзеля Бога і людзей: Жыццёвы шлях Лявона Вітан-Дубейкаўскага // Вольскі і Памідораў з песняй пра немца Адвакат, паэт, народны заступнік Ашмянскі веснікВ Минске появится площадь Богушевича и улица Сырокомли, Белорусская деловая газета, 19 июля 2001 г.Айцец беларускай нацыянальнай ідэі паўстаў у бронзе Сяргей Аляксандравіч Адашкевіч (1918, Мінск). 80-я гады. Бюст «Францішак Багушэвіч».Яўген Мікалаевіч Ціхановіч. «Партрэт Францішка Багушэвіча»Мікола Мікалаевіч Купава. «Партрэт зачынальніка новай беларускай літаратуры Францішка Багушэвіча»Уладзімір Іванавіч Мелехаў. На помніку «Змагарам за родную мову» Барэльеф «Францішак Багушэвіч»Памяць пра Багушэвіча на Віленшчыне Страчаная сталіца. Беларускія шыльды на вуліцах Вільні«Krynica». Ideologia i przywódcy białoruskiego katolicyzmuФранцішак БагушэвічТворы на knihi.comТворы Францішка Багушэвіча на bellib.byСодаль Уладзімір. Францішак Багушэвіч на Лідчыне;Луцкевіч Антон. Жыцьцё і творчасьць Фр. Багушэвіча ў успамінах ягоных сучасьнікаў // Запісы Беларускага Навуковага таварыства. Вільня, 1938. Сшытак 1. С. 16-34.Большая российская1188761710000 0000 5537 633Xn9209310021619551927869394п

                                                    Беларусь Змест Назва Гісторыя Геаграфія Сімволіка Дзяржаўны лад Палітычныя партыі Міжнароднае становішча і знешняя палітыка Адміністрацыйны падзел Насельніцтва Эканоміка Культура і грамадства Сацыяльная сфера Узброеныя сілы Заўвагі Літаратура Спасылкі НавігацыяHGЯOiТоп-2011 г. (па версіі ej.by)Топ-2013 г. (па версіі ej.by)Топ-2016 г. (па версіі ej.by)Топ-2017 г. (па версіі ej.by)Нацыянальны статыстычны камітэт Рэспублікі БеларусьШчыльнасць насельніцтва па краінахhttp://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/А. Калечыц, У. Ксяндзоў. Спробы засялення краю неандэртальскім чалавекам.І ў Менску былі мамантыА. Калечыц, У. Ксяндзоў. Старажытны каменны век (палеаліт). Першапачатковае засяленне тэрыторыіГ. Штыхаў. Балты і славяне ў VI—VIII стст.М. Клімаў. Полацкае княства ў IX—XI стст.Г. Штыхаў, В. Ляўко. Палітычная гісторыя Полацкай зямліГ. Штыхаў. Дзяржаўны лад у землях-княствахГ. Штыхаў. Дзяржаўны лад у землях-княствахБеларускія землі ў складзе Вялікага Княства ЛітоўскагаЛюблінская унія 1569 г."The Early Stages of Independence"Zapomniane prawdy25 гадоў таму было аб'яўлена, што Язэп Пілсудскі — беларус (фота)Наша вадаДакументы ЧАЭС: Забруджванне тэрыторыі Беларусі « ЧАЭС Зона адчужэнняСведения о политических партиях, зарегистрированных в Республике Беларусь // Министерство юстиции Республики БеларусьСтатыстычны бюлетэнь „Полаўзроставая структура насельніцтва Рэспублікі Беларусь на 1 студзеня 2012 года і сярэднегадовая колькасць насельніцтва за 2011 год“Индекс человеческого развития Беларуси — не было бы нижеБеларусь занимает первое место в СНГ по индексу развития с учетом гендерного факцёраНацыянальны статыстычны камітэт Рэспублікі БеларусьКанстытуцыя РБ. Артыкул 17Трансфармацыйныя задачы БеларусіВыйсце з крызісу — далейшае рэфармаванне Беларускі рубель — сусветны лідар па дэвальвацыяхПра змену коштаў у кастрычніку 2011 г.Бядней за беларусаў у СНД толькі таджыкіСярэдні заробак у верасні дасягнуў 2,26 мільёна рублёўЭканомікаГаласуем за ТОП-100 беларускай прозыСучасныя беларускія мастакіАрхитектура Беларуси BELARUS.BYА. Каханоўскі. Культура Беларусі ўсярэдзіне XVII—XVIII ст.Анталогія беларускай народнай песні, гуказапісы спеваўБеларускія Музычныя IнструментыБеларускі рок, які мы страцілі. Топ-10 гуртоў«Мясцовы час» — нязгаслая легенда беларускай рок-музыкіСЯРГЕЙ БУДКІН. МЫ НЯ ЗНАЕМ СВАЁЙ МУЗЫКІМ. А. Каладзінскі. НАРОДНЫ ТЭАТРМагнацкія культурныя цэнтрыПублічная дыскусія «Беларуская новая пьеса: без беларускай мовы ці беларуская?»Беларускія драматургі па-ранейшаму лепш ставяцца за мяжой, чым на радзіме«Працэс незалежнага кіно пайшоў, і дзяржаву турбуе яго непадкантрольнасць»Беларускія філосафы ў пошуках прасторыВсе идём в библиотекуАрхіваванаАб Нацыянальнай праграме даследавання і выкарыстання касмічнай прасторы ў мірных мэтах на 2008—2012 гадыУ космас — разам.У суседнім з Барысаўскім раёне пабудуюць Камандна-вымяральны пунктСвяты і абрады беларусаў«Мірныя бульбашы з малой краіны» — 5 непраўдзівых стэрэатыпаў пра БеларусьМ. Раманюк. Беларускае народнае адзеннеУ Беларусі скарачаецца колькасць злачынстваўЛукашэнка незадаволены мінскімі ўладамі Крадзяжы складаюць у Мінску каля 70% злачынстваў Узровень злачыннасці ў Мінскай вобласці — адзін з самых высокіх у краіне Генпракуратура аналізуе стан са злачыннасцю ў Беларусі па каэфіцыенце злачыннасці У Беларусі стабілізавалася крымінагеннае становішча, лічыць генпракурорЗамежнікі сталі здзяйсняць у Беларусі больш злачынстваўМУС Беларусі турбуе рост рэцыдыўнай злачыннасціЯ з ЖЭСа. Дазволіце вас абкрасці! Рэйтынг усіх службаў і падраздзяленняў ГУУС Мінгарвыканкама вырасАб КДБ РБГісторыя Аператыўна-аналітычнага цэнтра РБГісторыя ДКФРТаможняagentura.ruБеларусьBelarus.by — Афіцыйны сайт Рэспублікі БеларусьСайт урада БеларусіRadzima.org — Збор архітэктурных помнікаў, гісторыя Беларусі«Глобус Беларуси»Гербы и флаги БеларусиАсаблівасці каменнага веку на БеларусіА. Калечыц, У. Ксяндзоў. Старажытны каменны век (палеаліт). Першапачатковае засяленне тэрыторыіУ. Ксяндзоў. Сярэдні каменны век (мезаліт). Засяленне краю плямёнамі паляўнічых, рыбакоў і збіральнікаўА. Калечыц, М. Чарняўскі. Плямёны на тэрыторыі Беларусі ў новым каменным веку (неаліце)А. Калечыц, У. Ксяндзоў, М. Чарняўскі. Гаспадарчыя заняткі ў каменным векуЭ. Зайкоўскі. Духоўная культура ў каменным векуАсаблівасці бронзавага веку на БеларусіФарміраванне супольнасцей ранняга перыяду бронзавага векуФотографии БеларусиРоля беларускіх зямель ва ўтварэнні і ўмацаванні ВКЛВ. Фадзеева. З гісторыі развіцця беларускай народнай вышыўкіDMOZGran catalanaБольшая российскаяBritannica (анлайн)Швейцарскі гістарычны15325917611952699xDA123282154079143-90000 0001 2171 2080n9112870100577502ge128882171858027501086026362074122714179пппппп