ふと、「自分は一体、どんなコマンドをよく使うのだろう」と思ったので、なんとなくランキングにしてみました。
ちなみにランキングを作った時のコマンドは以下。
cat .zsh_history | awk '{print $1}' | sort | uniq -c | sort -nr
一応解説。
cat .zsh_history
私は、zshを使っているのでコマンドの履歴は.zsh_history
に溜まっています。
もしかしたら人によっては、HISTFILE
の場所を変えていると思うので全員同じとは限りません。
cat
はファイルを閲覧する際に使うコマンド。
閲覧結果を|
で次のコマンドに渡している。
awk ‘{print $1}’
awk
は任意の文字列で区切って指定したフィールドの値だけに文字列を加工してくれます。
上記の例だと、任意の文字を指定していないので空白を区切りとして、第一フィールドを取ってくれます。
【awk前】
git branch
cd ./demo_dir
git status
mkdir hoge
git add .
↓
【awk後】
git
cd
git
mkdir
git
sort
その名のとおり、ソートします。
基本、オプション無しだと昇順
【sort前】
git
cd
git
mkdir
git
↓
【sort後】
cd
git
git
git
mkdir
uniq -c
uniq
は重複を省きます。-c
オプションをつけることでカウントまでしてくれます。
【uniq -c前】
cd
git
git
git
mkdir
↓
【uniq -c後】
1 cd
3 git
1 mkdir
sort -nr
最後にもう1回ソート!
けど今回は-rn
オプション付きです。r
=> 降順に並び替えn
=> 数字を数値として並べる
n
オプションの補足をすると、数字は字としてソートをすると大小では並びません。
たとえば「111、12、11、100」にオプション無しでソートすると
「100、11、111、12」のようになります。
身近な例だと、ファイルやフォルダー名に「00_〇〇」とか「01_〇〇」を付ける方がいると思います。
一桁にすると「1_〇〇」「2_〇〇」・・・「9_〇〇」まできれいに並びます。
ところが「10_〇〇」は1と2の間に割り込んで来ると思います。
そのルールと同じならびになるので、数値の大小で並び替えるときは-n
オプションが必須です。
【sort -nr前】
1 cd
3 git
1 mkdir
↓
【sort -nr後】
3 git
1 mkdir
1 cd
ランキングを作ったワンライナーコマンドの解説はここまでです。
※肝心のランキングまでにまあまあなボリュームになってしまった。。
肝心のランキング
それでは肝心のランキングを発表します!
第1位:git
不動のgit
コマンドでした。
ちなみにgitコマンドだけだとcommit
、checkout
、push
あたりが多かったです。
第2位:cd
ディレクトリ移動で使うコマンドです。
私は、基本的にデスクトップ画面にファイルを置かない人なので、ホームディレクトリ以下にきれいにフォルダー分けしています。
ファイルにアクセスするときは、cd ~/target_dir/
まで移動するか、open ~/target_dir
としてFinderで開きます。
ムダに几帳面でキレイ好きですw
※潔癖ではありません。
第3位:brew
みんな大好きHomebrewです。
環境整えたり、ツール入れたりする時に大変重宝します。brew doctor
とかupdate
、upgrade
系をよく打ちます。
第4位:rm
ファイルやフォルダーを消すやつです。
ただし、ちょっといじっています。
普通rm
コマンドって実行すると取り返しのつかないものですが、私の場合、一度ゴミ箱へ捨てるような仕様にしています。
具体的にはrm
にエイリアスを設定してtrash-cli
が動くようにしています。
前に事故って泣いたので予防的な感じでそうしています。rm
で消したものは一時的にゴミ箱に貯まるので、rm-empty
で空にできます。
また、誤ってrm
したものはrm-re
と打つことで削除したファイルがリスト化されて出力されるので、該当のファイルを選択することで元あった場所へリストアできます。trash-cli
についてはQiitaとか記事がたくさんあるのでググってみてください。
※ちなみに事故った内容は恥ずかしすぎて書きたくありませんww
第5位:be
なぞのコマンドbe
。
これは私がエイリアス設定しているやつです。
こいつの実態はbundle exec
です。bundle exec rails s
とかなげーって思ったので設定しました。be rails s
とかbe rails c
などいい感じで使えます。
※最近はDocker使うからあまり出番なくなってきましたが。
いかがだったでしょうか。
次はzshの設定とか晒してみようかな。