List all aliases starting with a particular string
grep for them




Far better suggestion from the comments - grep on alias.

You can list all your aliases, even the ones not written in ~/.bash_profile, by calling alias.

grep the result to find the aliases starting from gt as:

alias | grep "^alias gt"






Since the aliases are created by writing alias &lt;alias_name&gt;=..., to list the aliases starting with, for example, gt, you can do:

grep "^alias gt" ~/.bash_profile


The ^ in the grep argument is an anchor. The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

In ^alias gt, it implies that you want only those lines that start with "alias gt". On my machine, I get the following result:

alias gts="git status" 
alias gtd="git diff" 
alias gtpull="git pull"
alias gtb="git branch"  
alias gtpush="git push"  
alias gtpullmk="gtpull;./make all"  
alias gtst="git stash"  
alias gtstash="gtst save"  
alias gtstlist="gtst list"  
alias gtctall="runformatter;git commit -a"






Alternatively, you could grep without the anchor as:

grep gt ~/.bash_profile


Here, you are simply looking for any line that contains the substring "gt", anywhere. As a result, you may get some unnecessary lines, but you will get all aliases that use any of your git aliases.

On my machine, I get the following output using this search. Notice the extra line at the top, which was not present in the previous output:

alias debugmk="echows;gtb;${ws}/make ${DEBUG_OPTIONS}"  
alias gts="git status"  
alias gtd="git diff"  
alias gtpull="git pull"  
alias gtb="git branch"  
alias gtpush="git push"  
alias gtpullmk="gtpull;./make all"  
alias gtst="git stash"  
alias gtstash="gtst save"  
alias gtstlist="gtst list"  
alias gtctall="runformatter;git commit -a"






Finally, depending upon which command you find more useful (or even go for both if they both are useful), you can create a new alias to list all git related aliases:

alias allgit="alias | grep gt"