第2章 Linux(bash)の基礎
この章ではWebサーバーによく利用されるOS、Linuxについての基本的な使い方を学びます。
Unixとは
UnixとはOSX(MacOS)やWindowsと同じくOS(オペレーディングシステム)の一種です。安定性が高く、サーバー用のOSに適しています。また、OSXについても実は基本部分はフリーのUNIXシステムからできています。
Linuxとは
Linuxはリーナス・トーバルズ氏が中心となって開発したUnix互換のOSです。Unixの既存のコードを一切使用せずにゼロから作り上げられました。
Linuxのバリエーション
Linuxとは厳密にはカーネル(オペレーディングシステムの中心部分)のみを指します。そのほかのライブラリやユーティリティ、アプリケーションと合わせてパッケージ化されたものをディストリビューションと呼びます。ubuntuやCentOSをはじめとして、様々なディストリビューションが存在します。 ディストリビューションには大きく分けてRedhat系(CentOSなど)とdebian系(ubuntuなど)の2種類があります。
覚えておきたいこと
上記の内容については、現時点では意識して覚えておく必要はありません。重要なのは
- WebサーバではLinuxが使われることが多い
- Linuxの操作では、多くの場合コマンドラインからの操作が用いられる
ということです。普段利用しているウィンドウシステム(マウス等を利用してグラフィカルにファイル等を操作する仕組み。)ではなく、コマンドラインからの操作を行うために必要なコマンドについて、次のページから学んでいきましょう。
次ページ以降の学習について
次ページ以降のLinuxコマンドの学習では
docker exec -it lamp_dock_php_1 bash
のコマンドを利用して、仮想環境にログインした状態でコマンド練習を行いましょう。
bash等のシェルについて
今回学んでいただくLinuxのコマンドはbashと呼ばれるシェルのコマンドになります。シェルとはOSに対して命令を行い各種操作を行うプログラムです。
マウスのクリックなどを利用してグラフィカルに操作を行うユーザーインターフェースをGUI(Graphical User Interface)と呼ぶのに対して、シェルの様なコマンドの文字列を通じて操作を行うユーザーインターフェースをCUI(Character User Interface)と呼びます。
Mac OS や Windowsの様なOSではGUIとCUIの両方を利用できますが、Linuxマシンの場合にはGUIが導入されていない場合が多くあります。そのため、bashなどのシェル(CUI)を通じて操作できるスキルが必須となります。
なお、Mac OSやWindowsでもCUIからの操作が可能です。
Mac OS: VSCodeのターミナルや、ターミナルアプリからCUIでの操作が可能です。以前はbashがデフォルトのシェルでしたが、最新のバージョンではzshと呼ばれるbashの上位互換の様なシェルがデフォルトになっています。詳しくはzshで検索してみましょう。
Windows: デフォルトでコマンドプロンプトからCUIでの操作が可能です。さらに、Git bashをインストール済みであればbashを利用することが可能です。(Git bashはGit for windowsをインストールする際に同時にインストールされます。) VS Codeのターミナルでも、コマンドプロンプトとGit bashの療法を利用可能です。(Git bash導入済みの場合)
今回の教科書に従って学習を進めている場合、皆さんのWindowsやMac上でもbashコマンドを利用することができますが、この章の学習ではLinuxマシンの操作練習が主眼となりますので仮想環境にログインした状態でコマンド練習を行いましょう。