alias
コマンドは、LinuxやUnixシステムで端末から実行されるコマンドに別名をつけるための便利なツールです。「エイリアス」と読みます。「またの名は」「別名」といった意味です。
以下に alias
コマンドの基本的な使い方と便利な応用例を紹介します。
本稿では、Ubuntu 24.04環境を用いています。
新しいコマンドを別名で登録するには
次の形式でシェルから実行することにより、コマンドを別名で登録できます。
alias 登録名='登録するコマンド'
例えば、cls という別名で、コマンド clear を実行できるようにする場合は、次のようにします。
alias cls=clear
clear は、端末の画面とそのスクロールバック バッファー (端末のスクロールバーで見える範囲のコマンド実行結果の履歴) をクリアするコマンドです。
登録したコマンドを実行してみてください。
cls
通常コマンドを登録する際、引数もまとめて登録したいものです。その場合は引数を含むコマンド全体を ‘(シングル・クォート)で囲みます。
alias clsx='clear -x'
clear コマンドに”-x”オプションを指定すると、スクロールバック バッファのクリアを行いません。
ちょっとした応用例
コマンド履歴を表示する history コマンドを使用し、過去実行したコマンドを検索できるコマンドを alias で作成してみます。
以下のようになります。
alias hg='history | grep -e'
- コマンド名
hg ー コマンド履歴を指定した文字列で検索し、結果を表示する - 使い方
hg 検索文字列
hg 検索文字列 -e 検索文字列(ORで検索)
使用例1
systemctl の使用履歴を検索します。
$ hg systemctl 35 systemctl list-units -t service| grep running 181 hg systemctl
使用例2
シェルの for 文を対話的に入力して実行したケースを検索します。空白を含む検索パターンなので、引数をシングルクォートで囲みます。
$ hg 'for i' 77 for i in 1 2 3 4; do echo $i; done 173 hg 'for i'
使用例3
netstat と locale のいずれかを含む履歴を検索します。-e オプションは grep コマンドでOR検索をする際のオプションです。
$ hg netstat -e locale 16 sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" 17 soure /etc/default/locale 105 netstat -nltu 106 netstat -nltup 113 netstat -nltu 182 hg netstat -e locale
alias で登録されたコマンドを表示するには
引数を指定せずに alias コマンドを実行すると、alias で登録されている一覧が出力されます。以下はUbuntu 24.04での実行結果です。
$ alias alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias cls='clear' alias clsx='clear -x' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' $
1行目で alias を引数なしで実行することにより、2行目以降が表示されています。
3行目と4行目は先ほど登録した clear の alias です。
8行から11行までは、ディレクトリの中身を一覧する ls コマンドを、さらに便利にするための alias が登録されています。
alias を解除するには
別名で登録されたコマンド名を解除したい場合は、unalias コマンドを用います。
先ほど登録した clsx を解除したい場合は以下の通り実行します。
unalias clsx
alias の設定を保存したい場合には
alias の設定はログアウトすると消えてしまいます。恒久的に alias の設定を保存したい場合は、ホームディレクトリにある .bashrc ファイルに設定を追記します。
下図は、.bashrc の最後(8行目)に alias を追加した様子です。
<略> elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi alias cls=clear