Linux などの UNIX系OS環境では、コマンドを入力して実行する機会が多いと思いますが、それぞれの環境によって、いくつかのコマンドオプションがデフォルトで指定されている場合があります。
※ ログインシェルに bash を使っているという前提で話します。
どういうことかというと、例えば以下のようにオプションなしで ls
コマンドを実行したとします。
$ ls
Ubuntu などでは、この結果はカラーで表示されます。カラー表示するための --color
オプションは指定していませんが、どういうことでしょうか?
実は、ログイン時に読み込まれる ~/.bashrc
ファイル内に ls
コマンドにエイリアスが設定されているのです。
以下に、~/.bashrc
内の該当行を抜粋します。
alias ls='ls --color=auto'
ここで、--color=auto
というオプションが追加されていたのです。
では、なぜ ~/.bashrc
にこんな記述があるのかというと、このファイルの元になっている /etc/skel/.bashrc
ファイルにその記述があるからです。ユーザー作成時に、このファイルがコピーされて ~/.bashrc
ファイルが作成されるという仕組みになっています。
それでは、特定のコマンドにエイリアスが設定されているか調べてる方法ですが、alias
コマンドで設定中のエイリアスを表示させ、それを grep
コマンドで “ls” を含む行だけを抽出します。
以下は、実際に実行した結果の一例です。
$ alias | grep ls
alias la='ls -aAlF'
alias lf='ls -AF'
alias ll='ls -Al'
alias ls='ls --color=auto'
一番最後の行で、ls
コマンドに、--color=auto
オプションがセットされていることが分かります。
また、このようにエイリアスがセットされている場合に、元のコマンドをそのまま実行するには、コマンドの頭にバックスラッシュを付けて実行します。
$ \ls