【初心者向け】シェルをわかりやすく説明してみた【zshオススメ】

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

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

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

ちょっと待ってください!そう思っている駆け出しエンジニアにこそ言いたい。
zsh というシェルを使うと Linux コマンド入力が超ラクになるので、めっちゃ早く成長できます!

今回はシェルの概要・どういうシェルの種類があるのか?
なぜ zsh をオススメするのか?…について説明します。

そもそも…シェルとは?

実はマウスを使わず「キーボ−ドでコマンド入力する」だけで PC 操作は可能です。
シェルという機能を利用して、ユーザからのコマンドを受け取って PC に命令を送れます。

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

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

…のことだと思ってください。

シェルっていつ使うの?

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

サーバはどこか遠い場所にあるコンピュータです。
大抵は画面なんて用意していないので、マウス操作できないことが多いです。

なのでシェルを使って、コマンドで遠隔操作するのが基本です。

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

自分のパソコン自身のシェルを使って、コマンド操作することもできます。

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

って思うかもですが、マウス操作できるようにソフトウェア開発するのって面倒なんです。
自分の PC 内のことでも、コマンドでしか出来ない操作って実はたくさんあります。

シェルの種類について

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

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

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

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

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

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

Windows は bash / zsh が使えない (…のは昔の話)

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

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

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

bash (ばっしゅ) とは

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

zsh (じーしゅ) とは

単純に bash の進化版だと思ってください。
近年の MacOS は zsh がデフォルトのログインシェルとして設定されています。

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

zsh の大きな特徴

少しばかり設定ファイルを書く必要がありますが、zsh では以下のような動きができます。

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

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

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

GitHub 上で活発に開発されており、頻繁にアップデートされます。

関連記事

zsh ロードマップ

zsh インストール方法

お仕事ください!

僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。
なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。

コメント

コメントを残す

*