How to create permanent aliases on Unix-like systems?

I am looking for a simple way to create a permanent alias for all users. So ~/.bashrc or ~/.bash_profile is not an option.

Hasn’t anybody created a program for this? I think it should be a very common need. If not, I can always create a custom Bash script, but I need to know if there is a equivalent of .bash_profile for all users.

In my case, I am using Mac OS X v10.9 (Mavericks) and Ubuntu 12.04 (Precise Pangolin), but I would like a method that works on major Unix systems.

UPDATE: I was wondering about a program which automatically allows the users to manage a list of permanent of aliases directly from the command-line without having to edit files. It would have options for setting for all users, target users, interative/login shell, etc.

UPDATE 2: Reply to answer of @jimmij

$ su -m
# cat /etc/profile
alias test343="echo working"
# cat /etc/bash.bashrc
alias test727="echo working"
# test727
bash: test727: command not found
# test343
bash: test343: command not found
Asked By: NeDark


Please have a look at bash manual:

  • /etc/profile

    The systemwide initialization file, executed for interactive login shells

  • /etc/bash.bashrc

    The systemwide initialization file, executed for interactive, non-login shells.

  • ~/.bash_profile

    The personal initialization file, executed for interactive login shells

  • ~/.bashrc

    The individual per-interactive-shell startup file

  • ~/.bash_logout

    The individual login shell cleanup file, executed when a login shell exits

So you need to put your aliases in /etc/profile or /etc/bash.bashrc in order to make them available for all users.

Answered By: jimmij

If you have ruby installed, you can use aka to generate permanent alias on the fly.

Answered By: ytbryan
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.