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移行プロジェクトに参画。設計、構築、全体の管理などを担当。
たまに開発もやります。
最近書いた記事
- 2019.03.28Cloudwatch Logsのログをコマンドで見る方法(tail -fもできる)
- 2018.03.26コマンドを便利にするコマンド alias 再入門
- 2018.03.23AWSの仮想MFAデバイスの再登録の方法(シークレット設定キーを使う)
- 2017.10.12レコチョク勉強会 第4回「AWS初心者向けハンズオン Webサーバ構築編」を開催させて頂きました。