目次

目次

コマンドを便利にするコマンド alias 再入門

アバター画像
武政
アバター画像
武政
最終更新日2018/03/26 投稿日2018/03/26

alias コマンドってご存知ですか? コマンドの別名を登録するコマンドです。ただそれだけですが、使い方によっては非常に便利なコマンドです。

どんなコマンド?

コマンドの別名とは、例えば、 ずっとWindowsが大好きで、コマンドプロンプトで dir コマンドを打ちまくってた人が、急にMacやLinux環境に移行した際に、どうしても ls じゃなくて dir って打ちたい時などに、

alias dir='ls'

と設定しておくと、 シェルは、 dir というコマンドは、ls と同じと解釈してくれるようになります。 もちろん、Windowsコマンドプロンプトの dir コマンドと、ls コマンドでは、オプションや使い方は全然違いますので、本当の意味で dir コマンドが使えるようになったわけではないです。

どうやって使うのか?

上記のとおりですが、

alias 別名='指定するコマンド+オプションなど ...'

のように使います。 例えば上記の例であれば、そのままターミナルで実行すれば直ぐに有効になります。

$ alias dir='ls'

きちんと設定されたかを確認する場合は、 オプションなしで実行すると現在の設定が表示されます。

$ alias
alias dir='ls'
...
...

あとは、ターミナルで dir を実行すれば使えるはずです。

設定をずっと反映させる

上記の方法で alias を設定してもターミナルを終了させると次回は忘れています。 便利なコマンドはいつでも忘れないようにするためには(例えば)ホームディレクトリにある .bashrc というファイルに定義を追加しておきます。

vi ~/.bashrc
注意 共用のサーバでは、意図しないコマンドが実行されないように alias の定義を追加する前に、必ず一緒に作業するメンバーに確認してから行ってください。

設定を無効にする

一時的に無効にする

例えば一時的に素の ls が入力したいこともあります。 その際は ¥ をコマンドの先頭に付与することによって alias の定義を無視して、素のコマンドが実行されます。

¥ls

つまり、 ¥ll なんて入力すると、「そんなコマンドないです!」と怒られることになります。

ずっと無効にする

~/.bashrc の定義があれば削除して、unalias コマンドで定義を無効にします。

いつも使っている?alias

CentOSやAmazon Linuxといったディストリビューションでは、最初からaliasが設定されているものもあります。例えば、

alias grep='grep --color=auto'
alias ll='ls -l --color=auto'

などがあります。

この定義の grep コマンドは、出力結果で検索にヒットした文字列の色が変わります。 デフォルトの grep コマンド(つまり、¥grep)では、文字列の色は変わらないのですが、 --color=auto オプションを alias で指定することによって、grep と入力するだけで無意識にこの結果になるわけです。便利ですね。

ll コマンドの例も同様に、ls -lとするのが面倒であり、サクッと入力できるようになっています。

便利かもしれない alias の例

rm, mvインタラクティブな実行

rmの削除時とmvの上書き時に「やっていいですか?」確認してくれるようになります。

alias rm='rm -i'
alias mv='mv -i'

いろいろな ls

隠しファイル表示、新しいものを最後にソート、詳細な時間表記にする。

alias lla='ls -la'
alias ltr='ls -ltr'
alias llt='ls -l --full-time'

自分のグローバルIPアドレスを知る

外部のIPを教えてくれるサイトの結果を返します。

alias getipaddr='curl 自分のIPアドレスを返却してくれるURL'

よくつかうAWSコマンドなど

awscli単体だけでなく jq の組み合わせなど。

alias aws-iam-account='aws iam list-account-aliases'

alias aws-ec2-types='aws ec2 describe-instances --output json | jq -r ".Reservations[].Instances[] | .InstanceType + \"\t\" + .State.Name"'

ログを追う

よくある定形の調査など(1)

alias log-error-list='tail -f /var/log/xxx/xxx.log | grep ERROR | cut -d" " -f 3-6'

今日の集計

よくある定形の調査など(2)

alias today-success-list='grep SUCCESS `date +%Y%m%d`.log | cut -d" " -f4,5,10 | sort | uniq -c'

ファイルの頭とお尻が見たい

head + tailなので heil。ファイルの中身をざっくり見るには意外と便利。

function _heil() {
head -1 $1
tail -1 $1
}
alias heil='_heil'
アバター画像

武政

釣りとカレーと犬と音楽(プログレ)が好きです。
オンプレミス、プライベートクラウドのインフラ業務を行った後、AWS移行プロジェクトに参画。設計、構築、全体の管理などを担当。
たまに開発もやります。

目次