Edited at

個人的によく使う(ベタな)bash alias

今すぐalias登録すべきワンライナー by ゆめみ① Advent Calendar 2018の3日目の記事です。

前回は@YutoMizutaniさんの今すぐaliasを登録しておくべきGitワンライナーでした。

(かぶった部分があることを先にお詫びしておきます...)


「ワンライナー」と言えるほどライナーライナーしてないのですが、簡単だけどもよく使う(ベタともいう)エイリアスを書いておこうかと思います。

物によっては便利かもしれない。


前提


  • OS: macOS

  • shell: bash

  • 基本的になんでもCLIで行いたい人間です


超基本的なカスタム

色づけなど

if [ "Darwin" = 'Darwin' ]; then

alias ls='ls -G'
else
eval `dircolors ~/.colorrc`
alias ls='ls --color=auto'
fi
alias la='ls -a'
alias ll='ls -l'
alias tree='tree -C'


ls


  • lsコマンドは、物によって色づけのオプションが異なる

  • 自分の環境ではこの分け方で十分だが、もっと変えようがあると思う。

  • なおこれはコピペしてきた思い出がある。

  • 用途: lsに色づけしたい


la



  • ls -aもよく使いますよね。

  • 用途: .*ファイルも見たい時


ll



  • ls -lもよくt(ry

  • 用途: lsで詳細が見たい時


tree


  • 用途: treeコマンドの出力に色づけする


git関連

git関連は最もよく使うコマンドの一つだと思います。

そこで、ベタですがいくつか載せておきます

alias gs='git status' # `git status`の確認 

alias gd='git diff' # `git diff`の確認
alias gc='git commit' # commitする
alias gca='git commit --amend' # 前のコミットの編集
alias glo='git log --oneline' # コミットログを各一行で読む
alias mkpr='hub pull-request' # PRを書く
alias prs='ghi | grep ↑' # 現在のレポジトリのPR取得

少しだけ解説


mkpr



  • hub pull-requestでPRをかけるのでそのショートカット

  • 用途: CLIからPRを送る

hubコマンドは、githubを使うにあたって便利なコマンド群を提供します。

調べると色々出てくると思います。Githubユーザーには強くおすすめ。

公式: github/hub


prs



  • ghiコマンドでissue&PRの一覧が取得できるため、そこからPRのみを抽出


  • ghiではPRにはの記号が付いていることからそれのみをgrepしている

  • 用途: PRの一覧を見る

ghiコマンドはGithubのissue周りの管理をするコマンドです。

これもまた便利。githubユーザーには強くおすすめ。

公式: stephencelis/ghi


utilityツール群

その他諸々なツール群

alias init='[ ! -d ".git" ] && { git init; git flow init; hub create; } || echo "aleady initialized"' # プロジェクト作成時に行う一連の作業

alias bashrc='source ~/.bashrc' # bashrc再読み込み
alias bash_profile='source ~/.bash_profile' # bash_profile再読み込み
alias back='cd $OLDPWD' # 一つ前のディレクトリにback


init

新たなプロジェクトを作成するときに、自分が使っている一連の作業を詰め込んだものです。

[ ! -d ".git" ] \

: # `.git`ディレクトリが存在していなければ \
&& { git init; git flow init; hub create; } \ : # `git`を初期化してgit-flowも初期化、githubにレポジトリを作成する
: # `.git`ディレクトリが存在していれば \
|| echo "aleady initialized" # 初期化済みだよと出力して終了



  • git init: おなじみgitの初期化


  • git-flow: 開発手法の一つであるgit-flowをサポートする拡張コマンド


  • hub create: hubコマンドの機能の一つで、githubに現在のレポジトリを作成します。

git-flowも調べれば出てきますが、割とおすすめな開発手法です。

自分は、その拡張であるgit-flow-avhを使っています。

CLIツール公式: nvie/gitflow

CLIツールavh版公式: petervanderdoes/gitflow-avh


bashrc

名前のまま、です。


  • 用途: bashrc書き直した時など


bash_profile

名前のままです。


  • 用途: bash_profileに書かれてる処理がたまに実行されていない時など


  • ## back

現在いるディレクトリの一つ前のディレクトリに移動します。



$ pwd # 元のディレクトリ

/Users/me/dotfiles/vim
$ cd ~/Desktop/hoge # 他のディレクトリに移動
$ pwd
/Users/me/Desktop/hoge
$ back # 一つ前にいたディレクトリへ移動
$ pwd
/Users/me/dotfiles/vim



  • $OLDPWDには、一つ前のpwdが保存されている(man bashを探ると書いてあります)


  • cd -でも同様の動作はできる


  • cd -ではない理由: cd -だとパスが出力され、個人的に邪魔だったから。



おまけ

正直あまり使ってない(or実用的ではない)けど面白いのがいくつかあるのでおまけで載せておきます


Macに関わる設定

mac以外では通用しない設定たちです。

alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport'

alias wport='networksetup -setairportpower' # usage: wport <device> <on/off>
alias wifi='networksetup -setairportnetwork' # usage: wifi <device> <SSID> <password>
alias siri='open /Applications/Siri.app'


airport


  • airportユーティリティへのショートカット

  • このコマンドはデフォルトで存在しているがパスは通っていない

  • ネットワーク周りの設定をするコマンドだったと思う(きちんと使えていないため紹介のみ)


wport


  • 同じくネットワーク系コマンドのnetworksetupのラッパーです。

  • 正直あまりわからない。

  • 各デバイス(wifiやbluetoothなど)をオンオフします。


wifi


  • 同じくnetworksetupのラッパー

  • wifiアクセスポイントに接続を試みます

  • GUIで接続した方が楽(パスワードを求められないため)のであまり使っていない


siri


  • 文字通りsiriを起動する

  • ちょっともっさりする


個人的utility群

全員の役には立たないけど自分が使っている諸々

alias drp='cd ~/Dropbox && ls'

alias dotdrop='$HOME/dotfiles/dotdrop.sh'
alias jnethack='cocot -t UTF-8 -p cp932 -- ~/nethackdir/jnethack'


drp


  • ドロップボックス内に移動します


dotdrop


  • dotfile管理ツールのdotdrop用エイリアス


jnethack

* ローグライクゲーム"nethack"の日本語バッチ版の起動用エイリアス

* ちょっとややこしいのでエイリアス化した