【Mac/Linux】zshとは?インストール方法を超丁寧に解説

  • このエントリーをはてなブックマークに追加
  • Pocket

こんにちは。タクマ™ [@suwaru_blog] です。

シェル? bash? zsh? 名前くらいは聞いたことがあるけど難しそう…
Linux コマンド自体まだ慣れていないし、自分にシェルの勉強はまだ早い…

ちょっと待ってください!そう思っている駆け出しエンジニアにこそ言いたい。

zsh を使うとコマンド入力が超ラクになって、エンジニアとして爆速で成長できます!

難しい知識は不要・インストールは簡単、なのでぜひ zsh インストールしてほしいです。

今回は Mac・Linux 環境の zsh (oh-my-zsh) インストール方法を解説します!

そもそもシェルってなんだろう?

実はマウスを使わず、キーボ−ドでコマンド入力するだけで PC 操作することができます。
「シェル」という機能でコマンドを受け取って PC に命令を送ります。

もう少し具体的に言うと、シェルとは…

  • Mac でいう「Terminal」アプリによる入力受付
  • Windows でいう「コマンドプロント」アプリによるコマンド入力受付

…をすることだと思ってください。

シェルっていつ使うの?

① サーバアクセスしたとき

サーバはどこか遠い場所にあるコンピュータです。
画面がないので (基本的に) マウス操作できないです。

なので、シェルを使って遠隔操作するのです。

② コマンドでしか出来ない操作をするとき

自分のパソコン内でもシェル操作することがあります。

なんで?マウスを使えばいいじゃん!

って思うかもですが、マウス操作できるようにシステム開発するのってめんどくさいんです。
自分の PC でもコマンドでしか出来ないことって実はたくさんあるんです。

シェルの種類について

シェルには色々種類があります。

sh / bash / ksh / csh / tcsh / zsh / ash …

シェルの名称には「sh」 がだいたい付きます。

定番シェルの bash / zsh はどの OS でも使える?

Mac と Linux は zsh を使える
Linux サーバで使われる bashzsh というシェルは Mac の Terminal で使えます。

なぜなら Mac は Linux と遠い親戚にあたる OS なので同じシェルが使えるのです。

Windows は zsh が使えない (こともない)

コマンドプロンプトでは bash や zsh を直接的に扱えません。
別のシェルが動いているためです。

プログラマやデザイナーに Mac ユーザが多いのはスタバでドヤ顔したいだけではなく、
Linux コマンドが簡単に使えるという背景があるからなのです。

ただし Tera Term など使って Linux 環境にアクセスして bash / zsh を扱うことはできます。
最近では Windows でも OS 仮想化技術で bash / zsh を扱えます。

bash (ばっしゅ) とは

コマンドラインツールで Mac や Linux にアクセスすると、高確率で bash が起動します。
bash がデフォルトのログインシェルとして設定されることが多いためです。

zsh (じーしゅ) とは

bash の進化版だと思ってください。

※ zsh の呼び方は諸説あって「じーしぇる」「ぜっとしぇる」とも言います

zsh の大きな特徴

多少設定ファイルを書く (コピペする) 必要もありますが、
zsh ではこういったことができます。

  • コマンドの補完機能が優秀
    • TAB キー押すだけでコマンドやオプションが出てくる
    • bash のようにタイピングで検索候補を絞り込む必要がほほない
    • 十字キー移動でコマンド選択ができる
  • スペル修正してくれる
    • 大文字を小文字に変換してくれたりもする
  • コマンド履歴を共有できる

oh-my-zsh (おーまいじーしゅ) とは

最初から zsh を便利に設定してくれているフレームワークです。
起動に少し時間がかかりますが、設定に時間をかけたくない人におすすめです。

GitHub 上で活発に開発されており、頻繁にアップデートされるのが嬉しいところです。

zsh インストール方法

それでは zsh を環境にインストールしていきましょう。
Mac と Linux (CentOS / Ubuntu) に分けて説明します。

Mac 環境に zsh インストール

まず、あなたが今つかっているシェルを確認してみましょう

echo $SHELL

システムの zsh のバージョンを見てみる

Mac のシステムに最初から zsh も入っているので一応確認しておきましょう。

# Mac がデフォルトで持っている zsh のパスが表示される
which zsh
/bin/zsh

# バージョン確認
zsh --version
zsh 5.3 (x86_64-apple-darwin18.0)

Homebrew で zsh をインストール

しかし、せっかくなので新しい zsh を自分でインストールしてみましょう。
Homebrew を使ったことがない方はこちらからインストールしておいてください。

# brew でインストールできる zsh バージョンを確認
brew info zsh
zsh: stable 5.7.1 (bottled), HEAD

# zsh インストール実行
brew install zsh

# すべての zsh の場所を表示。/usr/local/bin/zsh が表示されたら OK
where zsh
/usr/local/bin/zsh
/bin/zsh

zsh をログインシェルに設定する

# zsh に切り替える
chsh -s /usr/local/bin/zsh

# Terminal を閉じてから、環境変数 $SHELL の値が変わっていれば OK
echo $SHELL
/usr/local/bin/zsh

# which の結果でも同じ
which zsh
/usr/local/bin/zsh

# Terminal を閉じてから、バージョンが変われば OK
zsh --version
zsh 5.7.1 (x86_64-apple-darwin18.2.0)

Linux (CentOS / Ubuntu) 環境に zsh インストール

zsh をインストール

下記コマンドで zsh をインストールしてください。

# CentOS の場合
sudo yum update -y
sudo yum install zsh -y

# Ubuntu の場合
sudo apt update && apt upgrade -y
sudo apt-get install zsh -y

# which コマンドで zsh のパスを確認する
which zsh
/usr/bin/zsh

zsh をログインシェルとして設定する

/etc/shells というファイルに which zsh で表示されたパスを追記してください

chsh -s /usr/bin/zsh

# Terminal を閉じてから、環境変数 $SHELL の値が変わっていれば OK
echo $SHELL
/usr/bin/zsh
AWS EC2 で Amazon Linux で zsh を使いたいとき

Amazon Linux はデフォルトで chsh コマンドが実行できない可能性があります。
その場合、以下の記事を参考にしてみてください。

oh-my-zsh インストール方法 (任意)

【注意】設定ファイルのバックアップを忘れずに

既に ~/.zshrc~/.zshenv に設定を書いている人は必ずバックアップを取って下さい。
oh-my-zsh が設定を上書きするためすべて消失します。

下記コマンドを実行してください。

# oh-my-zsh をインストール
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# zsh コマンドのシンタックスハイライトプラグインをインストール
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# zsh コマンドの補完プラグインをインストール
git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions

自動生成される設定ファイルについて

oh-my-zsh をインストールすると ~/.zshrc という設定ファイルが自動生成されます。
bash の設定を引き継ぎたい場合、以下の設定を参考にしてください。

~/.zshrc
export ZSH="/root/.oh-my-zsh"
ZSH_THEME="robbyrussell"
plugins=(git)
source $ZSH/oh-my-zsh.sh

# bash の設定を引き継ぎたい場合は追記する
source ~/.bash_profile

ようこそ zsh の世界へ…

だいぶ画面の見た目も変わったのではないでしょうか?

基本的な操作は bash とほとんど同じです。
しかし TAB キーを使った「入力補完」など、すごく便利なので試してください!

zsh を更に便利にする設定ファイルの書き方も記事にしたので、
よければこちらも参考にしてください。

関連記事

zsh ロードマップ

zsh 設定方法について

コメント

コメントを残す

*