Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
01-30-2010, 12:49 PM
|
#1
|
Member
Registered: Oct 2004
Location: Atlanta
Distribution: CentOS, RHEL, HP-UX, OS X
Posts: 567
Rep:
|
Capture a list of all installed commands
if I open a terminal and hit [TAB] [TAB] it will display "Display all 2583 possibilities? (y or n) ". If I press y is there a way to capture the output and write it to a file?
Not like it is a command so I can't just use a redirect to a file? If not I guess I could just do an ls on all locations of $PATH and capture that to a file.
|
|
|
01-30-2010, 04:12 PM
|
#2
|
Moderator
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
|
man script
Will do (in a not so elegant manner) do what you want.
|
|
|
01-30-2010, 04:34 PM
|
#3
|
LQ Guru
Registered: Sep 2003
Location: Bologna
Distribution: CentOS 6.5 OpenSuSE 12.3
Posts: 10,509
|
I'm not used to programmable tab completion and maybe there is a better way, but you can obtain that list using
Code:
compgen -c "" | sort -u
where -c is meant to generate a completion list using only command names and "" is the null string... the same you DID NOT type before [TAB][TAB]... 
|
|
|
01-30-2010, 04:43 PM
|
#4
|
Moderator
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
|
Quote:
Originally Posted by colucix
I'm not used to programmable tab completion and maybe there is a better way, but you can obtain that list using
Code:
compgen -c "" | sort -u
where -c is meant to generate a completion list using only command names and "" is the null string... the same you DID NOT type before [TAB][TAB]... 
|
On my system that lists ANYTHING with an x-flag, that
includes directories....
Cheers,
Tink
|
|
|
01-30-2010, 04:51 PM
|
#5
|
Member
Registered: Aug 2003
Location: Isles of Man & Wight
Distribution: See signature
Posts: 548
Rep:
|
I think that you will find that all the 'commands' listed equate to all the files in /bin and /usr/bin - I believe that these are determined by your path setting. Type $PATH in a terminal/console to see what your bash settings are. Therefore, a simple listing to a text file will accomplish what you appear to want, try:
Quote:
ls /usr/bin > commands.txt
|
|
|
|
01-30-2010, 05:00 PM
|
#6
|
Member
Registered: Oct 2004
Location: Atlanta
Distribution: CentOS, RHEL, HP-UX, OS X
Posts: 567
Original Poster
Rep:
|
[TAB] [TAB] does list all the files in my $PATH. So I guess the best way is to just do like you said minrich and redirect the ls to somewhere.
|
|
|
01-30-2010, 05:14 PM
|
#7
|
LQ Guru
Registered: Sep 2003
Location: Bologna
Distribution: CentOS 6.5 OpenSuSE 12.3
Posts: 10,509
|
Quote:
Originally Posted by Tinkster
On my system that lists ANYTHING with an x-flag, that includes directories....
|
That's strange. The -c option should limit the result to command names. I've just tried the compgen command on different systems (OpenSuse, CentOS, Vectorlinux) and it gives the list of commands only. Hmmm... I should investigate...
Last edited by colucix; 01-31-2010 at 03:09 AM.
Reason: It happens.
|
|
|
01-30-2010, 05:26 PM
|
#8
|
Moderator
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
|
More like
Code:
for i in $(echo $PATH|tr -d '.'| tr ':' ' '); do find $i -type f ; done
|
|
|
All times are GMT -5. The time now is 12:16 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|