How can I find out where an alias is defined on my system? I am referring to the kind of alias that is used within a Terminal session launched from Mac OS X (10.6.3).
For OSX, this 2-step sequence worked well for me, in locating an alias I'd created long ago and couldn't locate in expected place (~/.zshrc).
cweekly:~ $ which la
la: aliased to ls -lAh
cweekly:~$ grep -r ' ls -lAh' ~
/Users/cweekly//.oh-my-zsh/lib/aliases.zsh:alias la='ls -lAh'
Aha! "Hiding" in ~/.oh-my-zsh/lib/aliases.zsh
. I had poked around a bit in .oh-my-zsh but had overlooked lib/aliases.zsh.
functions
alias
bash -ixlc : 2>&1 | grep thingToSearchHere
zsh -ixc : 2>&1 | grep thingToSearchHere
-i Force shell to be interactive.
-c Take the first argument as a command to execute
-x -- equivalent to --xtrace
-l Make bash act as if invoked as a login shell
you can just simply type in alias
on the command prompt to see what aliases you have. Otherwise, you can do a find
on the most common places where aliases are defined, eg
grep -RHi "alias" /etc /root
In my case, I use Oh My Zsh, so I put aliases definition in ~/.zshrc file.