支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

Shellってよく聞くけど何?Linuxは使ったことが無くてよくわからない、という方はわりといらっしゃるのではないでしょうか?本記事ではshellとは何か?という疑問に答え、実際にshellを実行してみます。PCがWindowsなんだよ、という方も安心してください。Windowsで簡単にLinuxを使うことが可能です。そのツールのインストールの仕方も載せておりますので、是非本記事を読んで、Linuxとshellについて理解を深めてみてください。

シェルとは何か

まずshellとは何でしょうか?シェルとは、我々ユーザーがPCに対して命令を送る際のインターフェース(仲介)のことです。もう少し詳しく説明すると、我々がPCを操作する際は、OS(オペレーションシステム)を使っています。OSはWindowsやMac、Linuxのことです。このOSの核の部分に"カーネル”と呼ばれるものがあります。このカーネルはソフトウェアとハードウェアの仲介的な役割をしています。例えば、テキストにキーボードを使い何か入力すると、書いた文字が表示されます。この際、まず入力デバイスで入力することによりカーネルを呼び出します。さらにカーネルが出力デバイスに入力した文字をディスプレイに表示させるように動いてくれる、という流れになっています。

入力デバイス(キーボード) → カーネル → 出力デバイス(ディスプレイ)


shellとは、カーネルを呼び出すためのソフトウェアで、入力デバイスとカーネルの仲介をします。ユーザーはshellに対してコマンドを入力することでカーネルを呼び出しOSを操作します。Linuxではそのまま「shell」と言い、WInodwsでも「コマンドプロンプト」や「PowerShell」などがあります。 一般的には「shell」と言えばLinuxのshellを指しますので、 今回はLinuxのshellに限定して話を進めていきます。 shellには以下のような種類があります。

sh(Bourne Shell):Unix系のシェルの中でも古く最も基本的なシェル。
csh(C Shell):C言語の構文に似せた設計となっている。
bash(Bourne-Again shell):LinuxディストリビューションやmacOSのshellとして使われており、Linux標準shellと呼ばれている。


今回はbashを使ってみます。

シェルを実行しよう

それではshellを実行していきましょう。 その前にshellを実行するためにはLinuxが必要となります。 PCのOSが元々Linuxの方であれば問題なく始められますが、Windowsを使っている方はLinuxをインストールしなければなりません。WinodwsPCにLinuxをインストールする場合、VMwareなどを使って仮想マシンを構築するのが一般的ですが、何かと手間やPCのリソースなどを多く使ってしまいがちです。そこで今回はWinodwsのLinux実行環境である「WSL(Windows Subsystem for Linux)」をインストールして、shellを実行していきます。WSLではLinuxのコマンドを一通り使用できますが、内部的にはWindowsのカーネルを呼び出しWInodwsOSを操作しますので、仮想マシンのように起動に時間がかかったり、リソースを食いません。Linuxの勉強にはもってこいです。

Winodws10でLinuxをインストール

ではさっそくインストールしていきましょう。 インストールできるディストリビューションは以下があります。 Ubuntu、open SUSE Leap、Kali Linux、Debian GNU/Linux、などがあります。 今回は「Kali Linux」をインストールします。

1.まずはWinodwsの「スタートメニュー」から「設定」を押下します。
2.「設定の検索」に「Windowsの機能の有効化または無効化」と入れます。
3.以下のような画面が表示されますので、その中から「Linux用Winodwsサブシステム」にチェックを入れます。」



4.再起動します。
5.WInodwsの「スタートメニュー」を押して「kali」を入れて「Kali Linux」を選択します。※他のディストリビューションが良い場合は任意に検索してください。
6.インストールが開始されます。
7.インストールが完了したら、ユーザーとパスワードを入力すれば使えるようになります。

無事にインストールできましたでしょうか?

shellの実行

shellスクリプトの作成

ではshellを実行していきましょう。 今回はスクリプト(shellスクリプト)を作成し実行していきます。 viコマンドを使います。 端末に以下を入力します。

vi shellscript.sh


以下のように、表示されます。




viコマンドはテキストを編集するためのコマンドになります。


vi ファイル名


ファイルが存在しない場合、ファイルを作成し、ある場合はそのファイルを開きます。


このまま続けてコマンドを書いていきます。 viコマンドでは、入力モードとコマンドモードがあり、 ファイルを編集する場合は、入力モードにしてあげなければなりません。 ※最初はコマンドモードになっています。

入力モードにして現在のカーソル位置に文字を書く場合:i(アイ)


入力モードになったはずなので、以下のように書きましょう。



次に改行します。 改行はコマンドモードから出来ます。 まず「Esc」を押して、コマンドモードに切り替えます。 その後改行コマンドを打ちます。

次の行にカーソルを持っていく(改行):o(オー)


再度iを押して入力モードに切り替えて、以下のように「Hello World」と記載します。




最後に保存して終了しましょう。 保存して終了するのは、コマンドモードになります。

保存してviコマンドを終了する::wq(コロン、ダブリュー、キュー)


作成されたファイルは以下から物理的に確認することもできます。

C:\Users\ユーザー名\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState\rootfs\home\ユーザー名


実行

では、スクリプトを実行します。 以下のように打ち込みましょう。



「Hello World」の文字が端末に表示されれば成功です。

最後に

いかがでしたでしょうか? shellとは何か?ということからshellの実行まで実際にやってみました。 viコマンドを使いましたが、慣れないと大変使いずらかったのではないでしょうか。 shellを操作するコマンドは他にもたくさんありますので、 是非色々と試してみたください。