0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

シェルって結局なに?

Posted at

勉強前イメージ

コマンドの集まり的な?
bashとshを調べるに当たってまずシェルのを調べないと

調査

シェル とは

OSをこうするソフトウェアの一つで、ユーザからの操作を受け付ける窓口になります。
ユーザからのコマンド入力で、シェルはカーネルとやり取りをしてプログラムを呼び出し立ち上げます。
シェルはユーザとカーネルの間に入ってコマンドを解釈してカーネルに伝えたり、プログラムの結果をシャルが解釈してユーザに表示させます。

シェルの種類

大きく以下の5つがあります。

  • sh

古くからあるシェルで、Steven Bourne氏によって開発されたのでその名ちなんで Bシェル と呼ばれています。
古くから今でも標準シェルとして使用されています。

  • bash

Bシェルを拡張して作られたのがbashです。
Bourne Again Shellが正式名称です。
Bシェルと互換性を持つため、書き換えることが可能です。

  • csh

C言語に似た構文から Cシェル と呼ばれています。
Bシェルに比べて対話をする場面では便利な機能があリますが、文法がBシェルとは違います。
Cシェルの後続としてTCシェルが存在します。

  • tcsh

CシェルにTenexの機能(ファイル名などの補完機能があるシステム)を組み込んだのが TCシェル です。
Cシェルとは違い、対話をする場面で便利な機能があります。

  • zsh

bashやTCシェルのいいとこ取り+拡張をしたのが Zシェル になります。
多機能な故使いこなすには時間がかかりますが、効率よく作業を行うことができます。

今使える(使ってる)シェルの確認方法

  • 現在使用しているシェルの確認方法

echo $SHELL のコマンドで確認できます。
実行結果は以下になります。

[root@localhost ~]# echo $SHELL
/bin/bash

ユーザのデフォルトシェルは /etc/passwd に記載されているので、こちらを変更するとシェルの変更ができます。

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
  • 使用できるシェルの確認方法

今使用できるのは、 cat /etc/shells で確認できます。

[root@localhost ~]# chsh --list-shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
  • シェルの変更

chsh -s [シェル] [ユーザ名] で変更ができます。

勉強後イメージ

カーネルとのやり取りをする間に立ってくれてるのがシェルなのか。。。
んで、シェルスクリプトはシェルの処理をまとめて実行するやつって感じかな?

そのシェルの種類としてbashとかshがあるのね。
ちょっと気になったのは、↑の /bin/sh/usr/bin/sh ってどっちもBシェルでは?って思ったけど何が違うんやろ。。。
そもそもshとbashの違いを知りたかったので、それは次書く!

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?