LoginSignup
13
11

More than 5 years have passed since last update.

コマンド初心者ならfishを使うと結構助かります。

Last updated at Posted at 2016-03-02

どうも、ちゃちゃまる(@chachmaru)です。

CLI、kernel、shell、きつい

いやきついっすよ、CLI。

CLIってコマンド・ライン・インターフェースのことなんですけど、いつも慣れ親しんでるMacのGUIとは違ってわかりにくい。文字だけしかない。でもカッコいい

僕は今LIG(http://liginc.co.jp)で見習いデザインエンジニアをやってるのですが、やはり要所要所でコマンドを使うことがあります。なので、カッコつけたいので(あと自分の勉強にもなるので)コマンド初心者の僕がコマンド初心者の皆さんに向けて色々語っていきます。

kernelとは

「カーネル」と読みます。OSの核を成すソフトウェアで、動いてるアプリケーションの管理やハードウェア(キーボードやマウスなど)とアプリケーションのリンク、メモリの割り当てなど、とにかく中心的な存在。一言で言うと、ソフトウェアとハードウェアの架け橋。しかしこいつ、実はユーザーと直接コミュニケーションをすることが出来ないコミュ障なやつなんです。

shellとは

ここでshell(シェル)が登場。kernelとユーザーの仲介役をしてくれます。ユーザーの命令をshellが聞き取り、kernelが分かるように噛み砕いて、kernelに命令をするのが一般的な流れです。

つまり、コマンド=shellコマンド

そもそもコマンドってなんなんだ?って僕は疑問に思っていたのですが、やっと分かりました。shellコマンドのことをコマンドって言うんです。kernelへの命令はshellが行ってくれるため、僕たちユーザーがすべきことはshellに要望を伝えることです。

shellの種類

実はshellっていうのは一般名称みたいなもので、色々な種類があります。Terminalを起動するとデフォルトではbashというshellが立ち上がります。

bash

bashは多くのUNIX系OS(MacもUNIX系)で使われるshellで、最近使われるような機能は実装されています。でも僕、bashあんま好きじゃないです。なぜなら、初心者だから。オートサジェスチョン欲しい。コマンドとかパラメータとかに色ついて欲しい。

そこでfish

そんな中僕が気に入ったのは、fishというshell。キャッチコピーは「a command line shell for the 90s」。直訳で「90年代のコマンドラインシェル」。なんか一見古そうですが、個人的に結構ありがたい機能が結構あります。勝手に「90年代生まれのためのコマンドラインシェル」と読み替えてます。

fishのいいところ

  • 補完機能:コマンドを入力すると入力履歴から補完してくれます
  • リアルタイムエラー判定:存在しないコマンドやディレクトリの場合、文字が赤くなります
  • 色付け機能:コマンド、パラメータ、コメント、エラーなど、それぞれ色の指定ができます
  • GUIの設定画面:設定がGUIでできます(後述)

インストール手順

  1. ターミナルを起動。
  2. まだの人はHomebrewをインストール。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"をターミナルに貼り付けてEnterを押すだけ。
  3. brew install fishでfishをインストール。
  4. bash(デフォルト)の状態でfishとうつとfishが立ち上がる。

fishをデフォルトにしたい場合、

  1. echo "/usr/local/bin/fish" | sudo tee -a /etc/shellsと入れ、Macのパスワードを入力。この時パスワードの文字数を表す●は表示されないので注意。
  2. chsh -s /usr/local/bin/fishと入れ、またパスワード。
  3. ターミナルを再起動して、最初からfishになっていれば成功。

fishの設定

さきほど、fishはGUIで設定ができると言ったのですが、正確にはブラウザで設定します。

fish_configと入れると、ブラウザが立ち上がります。ここで色の設定などができます。

以上です。ではまた!

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11