compgen command in Linux with Examples
The compgen command is a Bash built-in utility used to list all available commands that can be executed in a Linux system. It is a powerful tool for searching for commands based on specific keywords, counting the total number of commands, and printing Bash details such as built-in functions, keywords, and aliases. This article explores the various uses of the compgen command in Linux, along with examples.
Syntax
compgen [option]
The command is typically used with various options to filter and display specific types of commands or Bash elements.
Common Use Cases and Options for the compgen Command
1. List All Available Commands
To list all commands available to be directly executed.
compgen -c

This will list all the commands available to you for direct use.
2. To search for commands having a specific keyword
To search for commands containing a specific keyword, you can combine the compgen command with grep. For example, to search for commands containing the keyword "gnome".
compgen -c | grep gnome

This will search the commands having the keyword gnome in them.
3. To count total number of commands available for use
To count the total number of commands available in the system, pipe the output of compgen -c to wc - l
compgen -c | wc -l

This command will count the total number of commands that could be used.
4. To list all the bash alias
To list all the Bash aliases present in your system, use the -a option
compgen -a

This command will list all the bash alias present in your system.
5. To list all the bash built-ins
List all Bash built-in commands, use the -b option
compgen -b

This command will list all the bash built-ins present in your system.
6. To list all the bash keywords
List all Bash keywords available in the system, use the -k option
compgen -k

This command will list all the bash keywords present in your system.
7. To list all the bash functions
List all Bash functions present in your system, use the -A function option
compgen -A function

This command will list all the bash functions present in your system.
Conclusion
The compgen command is a versatile and useful tool in Bash for listing and searching various commands, aliases, built-ins, keywords, and functions in the Linux system. With the ability to filter and count commands, it can assist in better understanding and utilizing your command-line environment.