気ままに気ままのエンジニアブログ

定期的に得た知見を気ままに発信中

【業務効率】ターミナルで使うコマンドをalias設定したら幸せになった話

こんにちは。

また記事更新を頑張ろうと誓った7日の夜。

どうもハチマキです。

はじめに

私は普段Railsを使って開発を行なっておりますが、毎度rails sとかbundle installとかgit statusとかgit branchとか打つの非常にめんどくさいなぁと思い、何か楽にする方法がないか調べてみたところ、ターミナルで使うコマンドのエイリアス設定があることを知りました。

ので、本日はその話を記事にしていきます。
具体的に設定する前と後の状況や実際設定してみてどうだったかなども合わせて書いていきたいと思います。

最初にaliasの設定方法から!

①自分のホームディレクトリにターミナルで移動し、.bashrcファイルを開く

$ cd $HOME
$ cd vim .bashrc 

②開いた.bashrcファイルにエイリアスを定義する
vimの入力方法
i:入力可能にする(書き換えられます)→以下を例にaliasを設定する→esc:修正状態を補完→:(コロン)を押してwq(修正内容を保存)→return

#以下、一例です
#rails command
alias ll='ls -la'
alias rs='rails s'
alias rs4='rails s -p 4000'
alias rc='rails c'
alias cre='rake db:create'
alias mig='rake db:migrate'
alias rol='rake db:rollback'
alias seed='rake db:seed'
alias drop='rake db:drop'
alias rr='rake routes'
alias bi='bundle install'
alias be='bundle exec'

#git command
alias gs='git status'
alias gd='git diff'
alias gb='git branch'
alias ga='git add'
alias gc='git commit'
alias gp='git push'

#docker command
・
・
・

③.bashrcを読み込み変更を反映させる
※各ターミナルのタブごとに実行が必要です。

$ source ~/.bashrc

これで定義したエイリアスを使用できるようになります。

これまでrails sとコマンドを打っていたものが、rsで実行できます。
これまでbundle installとコマンドを打っていたものが、biで実行できます。
これまでgit statusとコマンドを打っていたものが、gsで実行できます。
これまでgit branchとコマンドを打っていたものが、gbで実行できます。

最高すぎませんか!!?
次にこのエイリアス設定で何が変わったのかをこの後に載せておりますので、ご興味ある方はこのままお進みください。

設定前の実行状況

  • ターミナルを開く
  • コマンドを入力
  • 実行
  • エラーが出る
  • 一旦コマンドを思い返す
  • 悩む
  • 悩む
  • 悩む
  • 思い出せない
  • メモを探す
  • 見つからない
  • やっとメモを確認する
  • メモに記載のある実行コマンドをコピペ
  • コマンドを貼り付ける
  • 実行

設定後の実行状況

  • ターミナルを開く
  • $ source ~/.bashrcを実行
  • aliasコマンドを実行(忘れたらcatコマンドでvimを開きコマンド思い出す)

変わったこと

圧倒的に作業効率が増しました!コマンド自体の実行は、正直大した作業ではありませんが、長ったらしいコマンドなどを思い出しながら実行していたり、悩んだり、そして結局思い出せなかったらメモしたコマンドをコピペして実行するなど、思い返すと結構時間を使っていた気がします。

1日あたり数分の作業かもしませんが、月/年にすると結構な時間を削減できます。また、メモを探す手間などで感じるストレスがマジでなくなるのでおすすめです。

まとめ

劇的な変化はないかもしれませんが、alias設定はぜひおすすめです!
なぜなら作業効率はもちろん、良い派生効果を得られるからです。
設定は簡単なので、ぜひ使ってみてください。

bashrcについての補足

bashrcの用途:

※.bashrcの「rc」は「run command」の略だそうです。
bit Frequently Asked Questions [UNIX] 1

※bashrcとbash_profileの違いについては、参考資料を載せておきます。