メインコンテンツまでスキップ

OS、UNIX、Linux、Windowsの基本

このページでは、macOS、Windows、UNIX、Linux、Ubuntu、WSLの関係を整理します。 本編を進めるだけなら、すべてを暗記する必要はありません。

OSとは

OSは、PCやサーバーを動かす土台になるソフトウェアです。 正式にはオペレーティングシステムと呼ばれます。

OSは、次のような仕事をします。

  • ファイルを保存する
  • アプリを起動する
  • 画面やキーボードを扱う
  • ネットワークに接続する
  • コマンドを実行する土台を用意する

macOS、Windows、Linuxは、どれもOSです。

Windows

Windowsは、Microsoftが提供しているOSです。 多くのWindows PCでは、エクスプローラー、PowerShell、Windows Terminalなどを使えます。

この教材では、Windows本体だけで開発作業を進めるのではなく、WSL Ubuntuを使います。 そのため、Windows PCを使っていても、普段のコマンド作業はUbuntu側で行います。

macOS

macOSは、AppleのMacで動くOSです。 Finder、ターミナル、システム設定などを使えます。

macOSのターミナルでは、Linuxと似た形でパスやコマンドを扱えます。 ただし、macOSはLinuxそのものではありません。 標準で入っている一部のコマンドは、Linuxでよく使われるものと挙動が違うことがあります。

この教材では、必要に応じてHomebrewで道具を追加し、macOSとWSL Ubuntuの差を小さくします。

UNIX

UNIXは、昔から使われているOSの系統です。 今のmacOSやLinuxで使われる考え方の多くに影響しています。

たとえば、次のような考え方はUNIX系の文化でよく見ます。

  • ファイルとディレクトリをパスで表す
  • 小さなコマンドを組み合わせる
  • ターミナルで操作する
  • テキストファイルで設定を書く

この教材では、UNIXの歴史を詳しく覚える必要はありません。 macOSとLinuxには似た考え方がある、くらいで十分です。

Linux

Linuxは、サーバーや開発環境で広く使われているOSの系統です。 Webサービス、クラウド、開発用コンテナなどでもよく使われます。

Linuxは、単体の製品名というより、いろいろな形にまとめられて使われます。 そのまとまりをディストリビューションと呼びます。

Ubuntu

Ubuntuは、Linuxディストリビューションの1つです。 Linuxを実際に使いやすい形にまとめ、インストールしやすくしたものです。

この教材では、Windows上で使うLinux環境としてUbuntuを選びます。 Ubuntuを選ぶ理由は、利用者が多く、情報が見つかりやすく、開発環境として使いやすいからです。

WSL

WSLは、Windows Subsystem for Linuxの略です。 Windows上でLinux環境を動かすための仕組みです。

WSLを使うと、Windows PCの中でUbuntuを起動できます。 この教材では、Windowsの人はWSL Ubuntuのターミナルで作業します。

Windows PC
├─ Windows側
│ └─ PowerShell、エクスプローラー
└─ WSL Ubuntu側
└─ zsh、Linux用コマンド、教材リポジトリ

この教材での考え方

この教材では、OSの細かい分類よりも、どこで作業するかを重視します。

macOSの人は、macOSのターミナルで作業します。

Windowsの人は、Windows TerminalからUbuntuを開き、WSL Ubuntu側で作業します。

迷ったときは、まず pwd を実行します。 /Users/... ならmacOS側、/home/... ならUbuntu側、/mnt/c/Users/... ならWindows側の場所をWSLから見ている可能性があります。

関連ページ