140

A friend who owned my current Mac before me created a lot of alias commands. Is there a way to list all defined aliases and the command that is associated with them?

And if so, am I able to edit them or should I just remove them using unalias and recreate them?

3 Answers 3

169

All you need to do is type alias at the prompt and any active aliases will be listed.

Aliases are usually loaded at initialization of your shell so look in .bash_profile or .bashrc in your home directory.

unalias will only work for your current session. Unless you find where it is defined and loaded, it will be loaded again when you start a new Terminal session.

~/.bashrc gets run for both login and non-login shells, ~/.bash_profile only gets run for login shells.

See login shell vs non-login shell

As per comment from Chris Page:

You should put most of your customizations (including aliases) in ~/.bashrc and have ~/.bash_profile run ~/.bashrc, so they apply to both login (~/.bash_profile) and non-login (~/.bashrc) shells. Also, decide which of these should be "primary" and if the profile is your choice, tack on the rc file at the end. If the rc file is primary, source that at the beginning of your profile

These lines should be in the file ~/.bash_profile:

if [ -f "$HOME/.bashrc" ] ; then
  source $HOME/.bashrc
fi

This will include ~/.bashrc for login shells and in the order you wish if one file depends upon the other based on what you are setting.

1
  • 1
    I recommend you put most of your customizations in ~/.bashrc and have ~/.bash_profile run ~/.bashrc, so they apply to both login (~/.bash_profile) and non-login (~/.bashrc) shells. e.g., put this in ~/.bash_profile: if [ -f "$HOME"/.bashrc ]; then . "$HOME"/.bashrc fi
    – Chris Page
    Sep 26, 2011 at 13:12
10

You should have a look in these files:

/etc/profile
~/.profile
~/.bash_profile
~/.bashrc

They are plausible startup files for your shell (that I assumed is bash).

7
  • ".bashrc" is the correct name of the file.
    – Chris Page
    Sep 26, 2011 at 13:10
  • You're right, I don't why I wrote it like that.
    – Cedric H.
    Sep 26, 2011 at 13:29
  • I would have just edited it without comment, but StackExchange wouldn't let me make a one-character edit.
    – Chris Page
    Sep 26, 2011 at 13:31
  • Also check in the system-wide /etc/bashrc
    – EmmEff
    Sep 26, 2011 at 19:09
  • Dont forget all the files that are sourced using source or . (dot) in these files. Feb 5, 2017 at 22:26
1

Aliases are usually stored in .zshrc or .bash_profile or .bashrc in your home directory.

vim ~/.zshrc

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .