compgen


compgen: An Awesome Command To List All Linux Commands
Posted on July 19, 2012in Categories Command Line Hacks last updated July 19, 2012

Ever want to list all the Linux commands (including bash shell aliases and functions) you could run on the server / workstation? Look now further. Try compgen command.

compgen is bash built-in command and it will show all available commands, aliases, and functions for you. The syntax is:

compgen option

compgen command examples

To list all the commands available to you, enter:

compgen -c

Sample outputs:

ls
if
then
else
elif
fi
....
mahjongg
sol
gtali
sl-h
gnobots2
gnotravex
iagno
fortune
gnect
gnome-sudoku
LS
glchess
gnuchess
gnuchessx

You can search or count the commands:

compgen -c | grep find
compgen -c | wc -l
echo "$USER user can run $(compgen -c | wc -l) commands on $HOSTNAME."

Sample outputs:

vivek user can run 3436 commands on wks01.

To list all the bash shell aliases available to you, enter:

compgen -a

Sample outputs:

..
...
....
.....
.4
.5
bc
cd..
chgrp
chmod
chown
cp
dnstop
egrep
ethtool
fastping
fgrep
grep
iftop
l.
ll
ln
ls
mcdflush
mcdshow
mcdstats
mount
mv
pscpu
pscpu10
psmem
psmem10
rm
tcpdump
update
updatey
vnstat
wget
which

See 30 awesome handy bash aliases for more information. Other options are as follows:

########################################
# Task: show all the bash built-ins
########################################
compgen -b
########################################
# Task: show all the bash keywords
########################################
compgen -k
########################################
# Task: show all the bash functions
########################################
compgen -A function

Putting it all together:

compgen  -abckA function
 
##  It doesnt get much better than this
compgen  -abckA function | less
compgen  -abckA function | grep -i --color searchStringHere

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.
GOT FEEDBACK? CLICK HERE TO JOIN THE DISCUSSION


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章