To find out what commands are masked by aliases, do something like this:
alias | sed 's/^[^ ]* *\|=.*$//g' | while read a; do
printf "%20.20s : %s\n" $a "$(type -ta $a |
awk tr-F '\n''[ =]+' '{print $2}')" |
donewhile read cmd; do
type -ta "$cmd" | awkgrep -Fq file \
&& printf "%s is overloaded: '$2\"%s\"\n" ~"$cmd" /file/'"$(alias $cmd)"
done
###Explanation
Explanation
alias alone lists defined aliases and sedawk extracts their name. The while loop runs type -ta on each of them and awkgrep prints the lines that both contain alias and filechecks if any also are a file.