唐突ですがbash_profile晒してく
改めて見ると散らかっててキモい。
使ってないのも混ざってるし。
なんのために書いたのかもわからないやつとか。
そんな僕のmacの.bash_profileです。説明を加えながら晒します。
参考にするなり、指摘するなりお好きにどうぞ(・ω・`)
解説を先に見たい方はこちらから
晒す
.bash_profileをコピー
$ cat ~/.bash_profile | pbcopy
alias ll='ls -lahG'
alias vi='vim'
alias mvi='/Applications/MacVim.app/Contents/MacOS/mvim'
alias areion='sh /Users/ore_no_mac/tools/script/Areion/areion.sh'
alias slssh='sh /Users/ore_no_mac/tools/script/SLS/sls.sh'
alias hr='sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "☆" --color="auto"'
alias ff='find . -type f'
alias datedir='mkdir `date "+%Y%m%d"`';
alias datetouch='touch `date "+%Y%m%d"`.txt';
## screen alias
alias sn="/usr/bin/screen $@ ";
# docker alias
alias doc='docker'
## docker all clear
alias docker-all-clear='docker rm -f $(docker ps -aq) && docker rmi -f $(docker images -aq)'
alias memo='vi /Users/ore_no_mac/tools/script/Stacker/`date "+%Y%m%d"`.md';
alias memos='cd /Users/ore_no_mac/tools/script/Stacker/';
## googler alias
alias gg="/usr/local/bin/googler -n 3 $@ ";
## redmine_link
alias chrm="open /Applications/Google\ Chrome.app"
alias red_pass="chrm http://社内サーバーのredminURL"
# git alias
alias git-graph='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-graph-all='git log --graph --all --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-detail='sh /Users/ore_no_mac/tools/script/power_git/detail.sh'
## ========================================
## | ↓↓これより以下は説明を省きます↓↓ |
## ========================================
export CLICOLOR=1
export LSCOLORS=DxGxcxdxCxegedabagacad
# export LSCOLORS=gxfxcxdxbxegedabagacad
if [ -f /Applications/MacVim.app/Contents/MacOS/Vim ]; then
alias vi='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
alias vim='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
fi
# export PS1="\[\e[1;32m\][\u@\h \W]\\$ \[\e[m\]"
export PS1="\[\e[1;32m\]\d :\W\\[\e[1;34m\] \$ \[\e[m\]\[\e[m\]"
RUBY_HOME='/usr/local/opt/ruby' #インストールディレクトリ
RI="--format ansi" # riを256カラーで表示
PAGER="less -R" # ページャーにlessを指定
PATH=$RUBY_HOME/bin:$PATH
export PATH PAGER RUBY_HOME RI
export PATH=$PATH:$HOME/.nodebrew/current/bin
if [ -d "$HOME/.rbenv" ]; then
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init --no-rehash -)"
fi
export PATH="/usr/local/opt/libxml2/bin:$PATH"
export PATH=$PATH:$HOME/.nodebrew/current/bin
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
export PATH="/usr/local/opt/php@5.6/bin:$PATH"
export PATH="/usr/local/opt/php@5.6/sbin:$PATH"
export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
export PATH="/usr/local/opt/php@7.2/bin:$PATH"
export PATH="/usr/local/opt/php@7.2/sbin:$PATH"
## AWS-Cli用
export PATH=~/.local/bin:$PATH
## kubernetes
#export KUBECONFIG=/etc/kubernetes/admin.conf
解説
ほとんどの記述がaliasとなっています。
作業効率UPのために結構色々記述してて見辛いので、細かく分けて解説するっす。
- lsコマンドのalias
- vimのalias
- 自作スクリプト
- ファイル捜査コマンド
- ファイル生成コマンド
- screenのalias
- Docker系のコマンド
- メモを作成するコマンド
- ターミナルからブラウザ操作
- git系のコマンド
lsコマンドのalias
ll
は恐らく一番利用してるコマンドです。
ls -lah
は割と一般的ですが、G
オプションをつけるとシンボリックリンクを色分けしてくれます。
alias ll='ls -lahG'
vimのalias
この書き方意味あるのかな。。。
which vi
すると/usr/bin/vi
って返ってくるから、多分vim、viとしてパスが通ってる?
alias vi='vim'
alias mvi='/Applications/MacVim.app/Contents/MacOS/mvim'
自作スクリプト
- areion
- パスワード管理ツール。最近あまり使ってない
- slssh
- サーバー構築時によく使う。ssh/configのHostを一覧表示し、選択したHostにSSHログインする
- hr
- 特定の文字をターミナルの文字数(幅)で出力
alias areion='sh /Users/ore_no_mac/tools/script/Areion/areion.sh'
alias slssh='sh /Users/ore_no_mac/tools/script/SLS/sls.sh'
alias hr='sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "☆" --color="auto"'
ファイル捜査コマンド
find . -type f
コマンドのaliasとして登録してます。
用途としては、grep等と組み合わせてファイル捜査に利用してます。
alias ff='find . -type f'
- 現在のディレクトリ配下から"README.md"というファイルを探し、パスを表示
ff | grep "README.md"
- 現在のディレクトリ配下から"hogehoge"を内容に含むファイルのパス・一致する内容を表示
ff | xargs grep "hoge"
./huga/piyo.php: // hogeしたい
ファイル生成コマンド
現在の日付でフォルダ、ファイル(txt)を作成するコマンドのalias
alias datedir='mkdir `date "+%Y%m%d"`';
alias datetouch='touch `date "+%Y%m%d"`.txt';
screenのalias
screenコマンドのalias
あまり役にっ立てない
alias sn="/usr/bin/screen $@ ";
docker系のコマンド
dockerコマンドのalias等。
# docker alias
alias doc='docker'
## docker all clear
alias docker-all-clear='docker rm -f $(docker ps -aq) && docker rmi -f $(docker images -aq)'
- doc
- あまり使ってない
- docker-all-clear
- dockerイメージなどを全て消す感じのコマンド。データベースなどを保持している場合は注意が必要
メモを作成するコマンド
議事録とかを作成するときに便利
alias memo='vi /Users/ore_no_mac/tools/script/Stacker/`date "+%Y%m%d"`.md';
alias memos='cd /Users/ore_no_mac/tools/script/Stacker/';
ターミナルからブラウザ操作
ターミナルからブラウザを操作する
## googler alias
alias gg="/usr/local/bin/googler -n 3 $@ ";
## redmine_link
alias chrm="open /Applications/Google\ Chrome.app"
alias red_pass="chrm http://社内サーバーのredminURL"
- gg
- ターミナルでgoogle検索する
- chrm
- ターミナルからChromeを起動
- red_pass
- Chromeで社内サーバーのRedmineを開く
git系のコマンド
git系のコマンドalias
# git alias
alias git-graph='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-graph-all='git log --graph --all --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-detail='sh /Users/ore_no_mac/tools/script/power_git/detail.sh'
- git-graph
- コミット履歴をツリー形式で閲覧
- git-graph-all
- git-graphをさらに詳しく閲覧
- git-detail
-
sh /Users/ore_no_mac/tools/script/power_git/detail.sh
を実行
-
自作のスクリプト power_git/detail.sh の中身
#!/bin/bash
echo "";
sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "★" --color="auto"
git remote -v | awk 'NR==2 { print "リポジトリ: " $2 }'
git branch | grep "\*" | awk '{ print "ブランチ: " $2 }'
echo "";
echo "==============Status===================="
git status
echo "========================================"
sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "★" --color="auto"
echo "";
おまけ
「解説を省略」と書いてましたが、PS1について。
プロンプトの表示を変更できます。
export PS1="\[\e[1;32m\]\d :\W\\[\e[1;34m\] \$ \[\e[m\]\[\e[m\]"
ローカルでは特にこだわった設定はしていませんが、サーバーにSSHログインした際、環境ごとに文字色を変更したりします。
詳しくは 「ps1 変更」 とかで検索すると出てくるかと思います。
初感
ざっと解説してみて、改めて必要ないものや設定の怪しいものがありました。
改善の余地ありですね。