はじめに
前回の記事でalias
と関数
が何であるかと使い方を解説しました。
今回の記事では実際に私が登録してるオススメのalias
と関数
を紹介していきます。
ソースだけ欲しい人はGistに挙げてるので、こちらを丸っと~/.bashrc
や~/.zshrc
にコピーして使ってくださいね。
alias編
先ずはaliasから紹介していきます。
コマンド短くする系
docker
とかdocker-compose
コマンドって長くて打つの面倒臭くないですか?
こういった長いコマンドはまとめて短くしちゃいましょう
alias d='docker'
alias dc='docker-compose'
alias h='heroku'
alias py='python3'
alias wi='which'
alias cl='clear'
alias to='touch'
alias g='git'
alias hi='history'
alias bu='bundle'
alias ra='rails'
こんな感じで1文字か2文字くらいにしてます。
lsコマンド
頻繁に使うlsコマンドも良い感じに設定しましょう。
僕は全て表示したいので、詳細表示の-l
オプションとドットファイルも表示する-a
オプションを同時に使用してます。
alias ll='ls -G -al'
こんな感じで使い分けてもいいと思います。
alias ll='ls -G -l'
alias la='ls -G -a'
カラーオプションについて
-G
はMacで使用する際のオプションになってます。
その他のLinuxディストリビューションで使う際は--color=auto
を使用しましょう。
cdコマンド
超使用頻度の高い移動コマンドのcdコマンド。
例えば、プロジェクトフォルダや頻繁に移動するフォルダのaliasを登録しておくと便利。
alias cdh='cd ~/project/hoge/'
alias cdf='cd ~/project/fuga/'
親ディレクトリに移動
親ディレクトリに移動することって地味に多いですよね。そんな時に便利なalias。
alias ..='cd ..'
grepコマンド
こちらも使用頻度の高いコマンドですね。カラーオプションをつけて見易くします。
alias gr='grep --color'
aliasの-g
オプション
因みに、シェルにzshを使用していれば、aliasの-g
オプションを使ってパイプが使えるようになります。
alias -g gr='| grep --color'
使い方はこんな感じ。すごーい。
% hi gr ssh
30589 pss sshuttle
30592 pss ssh
30594 ssh-wo
30595 pss ssh
rmコマンド
ファイル削除で使うコマンドですね。
ファイルを削除する際に問い合わせる-i
オプションを指定します。
逆に、一気に消したい時は、ディレクトリも含め再帰的に削除する-r
オプションと、警告を表示しないで強制的に削除する-f
オプションを使用します。
alias rmi='rm -i'
alias rmf='rm -fr'
設定ファイル操作系
zsh(bash)ファイルでaliasや関数を結構頻繁に追加するので、それもついでにalias書いときます。
書き込み時
ホームディレクトリにある.zshrc
をvimエディタで編集します。
alias viz='vi ~/.zshrc'
読み込み時
設定ファイルは書き込んだ後にsource
コマンドで読み込むのを忘れないようにしてください。
alias sz='source ~/.zshrc'
PATHの確認
環境変数のPATHを確認することも地味に多いので登録しとく。
alias path='echo $PATH'
関数編
次にオススメの関数を紹介します。
プロセスの確認
プロセスの確認をするのに便利な関数。
出力結果からgrepコマンドのプロセスを除外して、ヘッダを付与します。
すごいお気に入りの関数。
pss () {
ps aux | grep -E "PID|$1" | grep -v grep
}
使い方はこんな感じ。第一引数にgrepしたい文字列を指定する。
% pss ssh
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
me 45486 0.0 0.0 4297712 5716 s000 S+ 6:08PM 0:00.03 ssh wo-hoge
文字列検索
対象の文字列が記述されてるファイルを検索する関数。
これもリモートサーバで頻繁に使う。
ローカルだとAtom等のテキストエディタ使ってると、使用する機会は少ないかも。
gre () {
grep -E $1 -rl $2
}
使い方はこんな感じ。第一引数に文字列、第二引数に検索対象のディレクトリを指定する。
% gre session app
app/controllers/application_controller.rb
Railsのマイグレーションコマンド
これも地味に長いのでCASE式を使って使い易くしましょう。
db() {
case $1 in
"st") bundle exec rails db:migrate:status ;;
"up") bundle exec rails db:migrate:up VERSION=$2 ;;
"do") bundle exec rails db:migrate:down VERSION=$2 ;;
*) echo "plese give the params st, up, do " ;;
esac
}
使い方はこんな感じ。第一引数にst
かup
かdo
を指定、第二引数に操作したいマイグレーションファイルのバージョンを指定する。
まとめ
思ったより登録してるコマンドが多くなかったですorz...
こんな感じで自分で使いたいコマンドをどんどん登録していくと便利になります。
参考にして見てください。