So here's some information on how to get an almost full listing. I say "almost full" because each UNIX-style operating system throws their executable binaries in different locations. Mind you, there are A LOT of executables and the what you see below will not match what is on your computer.
Open up your favorite terminal window:
man -k <keyword> to locate a command.man -k files Intro Intro (7) - introduction to special files a.out a.out (4) - Executable and Linking Format (ELF) files cat cat (1) - concatenate and display files cmp cmp (1) - compare two files compress compress (1) - compress, uncompress files or display expanded files cp cp (1) - copy files df df (1m) - displays number of free disk blocks and files diff diff (1) - compare two files fd fd (4) - file descriptor files find find (1) - find files gunzip gzip (1) - compress or expand files gzip gzip (1) - compress or expand files head head (1) - display first few lines of files ln ln (1) - make hard or symbolic links to files ln ln (1b) - make hard or symbolic links to files mv mv (1) - move files project project (3ext) - access project files from Perl sdiff sdiff (1) - print differences between two files side-by-side sendfile sendfile (3ext) - send files over sockets or copy files to files sort sort (1) - sort, merge, or sequence check text files sticky sticky (5) - mark files for special treatment tar tar (1) - create tape archives and add or extract files uncompress compress (1) - compress, uncompress files or display expanded files unzip unzip (1) - list, test and extract compressed files in a ZIP archive zip zip (1) - package and compress (archive) filesThe valid commands you want to pay attention to (listed in the LEFT column), are the one whose MIDDLE column contains a (1
The other commands are for programming lanuages (PERL, C, etc) and the like. They may not be executable.
Additional information for a particular command can be found by forgoing the '-k' flag: man kill
You can use ls to gather a listing of all files underneath these directories:
ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin | lessI highly recommand that you pipe ( | ) the output to
less so that the commands dont fly
pass you.
Additionally you can save the list to a file for later use:
ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin > ~/commands.txt less ~/commands.txtThe ~/ represents your HOME directory. It's a directory specific to each user.
m m4 make_unicodemap mc68010 metadevadm mib2mof mknod mountall m64config makebdf mc68020 metahs mipagentconfig mkpasswd mp m68k makedbm mc68030 metaimport mipagentstat mkstr mp_1251 mach makedepend mc68040 metainit mixerctl modinfo mpss.so.1 mail makedev mconnect metaoffline mkdevalloc modload mpstat mail.local makeinfo mcs metaonline mkdevmaps modunload msgfmt mailcompat makekey md5 metaparam mkdir mofcomp msgid mailp makemap md5sum metarecover mkdirhier mofreg mt mailq makemap.8.12.11 mdb metarename mkfifo mogrify multixterm mailstat makemap.8.13.3 mdmonitord metareplace mkfile montage mv mailstats makepsres medstat metaroot mkfontdir montbl mvdir mailx makeuuid mesg metaset mkfs more make makewhatis metaclear metastat mkisofs more.help make_printerdef man metadb metasync mkmsgs motd make_smbcodepage mc68000 metadetach metattach mknetid mount
log log logadm logger login logins logname logout logresolveNOTES: Control-D is an invisible character. It should not display itself.
find. This should be able to list ALL commands (provided that you are a
super-user [read: root].)
find / -type f -perm -1This will search the ENTIRE computer for executable files. You should redirect the output to either a pipe or to a file.
find / -type f -perm -1 | less find / -type f -perm -1 > ~/commands2.txt