Linux でエイリアスなどの個人設定を永続的に設定する場合、「~/.bash_profile」か「~/.bashrc」に記載することが多いようです。
であれば、どちらに書いた方がいいのでしょうか?に対するアンサーです。
~/.bash_profile と ~/.bashrc が読み込まれるタイミング
~/.bash_profile はログインしたときだけ読み込まれ、~/.bashrc は bash が起動する度に読み込まれます。
言い換えると、~/.bash_profile の設定はログインシェルでのみ有効になり、~/.bashrc の設定はログインシェル、対話型シェルの両方で有効になります。
ここで結論を言ってしまうと、~.bashrc に書く方がよいでしょう。
ログインシェルから別のプロセスとして起動するシェル(例:直接/bin/bashを実行する)
以下に CentOS7.4 のデフォルトの ~/.bash_profile と ~/.bashrc を記載します。
~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root] ~ >