第1部 Linuxを知る
第2章 Linuxを触る — WSL・仮想マシン・クラウドで環境を作る
読むだけでは身につきません。この章では「自分だけのLinux」を手に入れます。壊しても平気な練習場さえあれば、あとは思う存分コマンドを叩けます。
🎯 この章で学ぶこと
- 手を動かすには「壊してよい練習用のLinux」が必要だと理解する
- Windowsで最短の方法 — WSL でUbuntuを動かす手順
- 仮想マシン(VM)・macOS・クラウド・Raspberry Pi という選択肢
- ログイン後の第一歩 — プロンプトの読み方と
whoami/uname
2.1 まず環境を用意しよう
Linuxの学習でつまずく最大の原因は、意外にも「学ぶ内容」ではなく「試す場所がないこと」です。本を読んで ls や cd の説明を眺めても、実際に自分の手で打ち込んで、結果が返ってくる体験をしないと、どうしても身につきません。逆に言えば、自由に触れるLinuxが1つあれば、この先の章はぐっと理解しやすくなります。
ここで大切なのが「壊しても平気な環境」を持つことです。学習中は、間違ったコマンドでファイルを消してしまったり、設定をおかしくして起動しなくなったりすることが必ずあります。それでいいのです。むしろ、そうやって失敗できる場所こそが、上達への近道です。
- やり直しがきく — 壊れたら作り直せばいい、と思えると大胆に試せます
- 本番と切り離せる — 業務のPCやサーバーとは別の場所なので、実害が出ません
- 何度でも作れる — 後述のWSLやVMなら、環境ごと消してゼロから作り直せます
この先で学ぶコマンドの中には、ファイルを一瞬で消したり、システムを止めたりできる強力なものがあります。学習中は必ず、これから作る練習用の環境で試してください。いきなり業務で使っているWindows PCや、会社の本番サーバーで見よう見まねのコマンドを打つのは絶対に避けましょう。「試すのは隔離された練習場で」——これが最初にして最重要のルールです。
環境の作り方はいくつかあります。自分の状況に合うものを1つ選べば十分です。次の表を目安にしてください。
| あなたの環境 | おすすめの方法 | 手軽さ |
|---|---|---|
| Windows PC | WSL(推奨)。または仮想マシン | とても手軽 |
| Mac | ターミナルで基本を練習。本格的にはVM/コンテナ | 手軽 |
| どのPCでも | 仮想マシン(VirtualBox 等)にUbuntu | ふつう |
| ネット環境があれば | クラウドの無料枠でLinuxサーバーを借りる | ふつう |
| 実機で遊びたい | Raspberry Pi | やや手間 |
2.2 Windowsなら WSL が最短
いまWindowsを使っているなら、迷わず WSL をおすすめします。WSLは Windows Subsystem for Linux の略で、日本語にすると「Linux 用 Windows サブシステム」。ひとことで言えば、Windowsの中で本物のLinuxを動かす仕組みです。VMのように重くならず、Windowsと自然に共存でき、しかも無料。まさに学習に最適です。
WSL(正確には現行のWSL 2)は、Windowsの内部で軽量な仮想マシンを使い、本物のLinuxカーネルを動かしています。つまり画面の中で動いているのは「Linux風の何か」ではなく、正真正銘のUbuntuです。だからこの先で学ぶコマンドは、ほぼそのままサーバーのLinuxでも通用します。
手順1 — インストールコマンドを実行する
Windowsの検索窓で「PowerShell」または「ターミナル」を探し、右クリックして「管理者として実行」で開きます。そこに次のコマンドを打ち込みます。
PS C:\Users\yuuki> wsl --install
インストール中: 仮想マシン プラットフォーム
インストール中: Linux 用 Windows サブシステム
インストール中: Ubuntu
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
この1行が、必要な機能一式と、既定のディストリビューションである Ubuntu をまとめて入れてくれます(第1章で「まずはUbuntu」とおすすめした、あのUbuntuです)。表示のとおり、いったんWindowsを再起動します。
手順2 — 最初のユーザーを作る
再起動後、自動的に(または、スタートメニューから「Ubuntu」を選ぶと)セットアップが続きます。少し待つと、Linux用のユーザー名とパスワードを尋ねられます。
Installing, this may take a few minutes...
Please create a default UNIX user account. ...
Enter new UNIX username: yuuki
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
ここで決めるのはLinux側のユーザー名とパスワードで、Windowsのアカウントとは別物です。パスワードを打っても画面に文字は表示されませんが、これは仕様です(セキュリティのため。入力は受け付けられています)。第5章で学ぶ管理者権限(sudo)を使うときに、このパスワードを入力します。
手順3 — プロンプトが出れば成功
セットアップが終わると、次のような表示に変わります。これがLinuxの入力待ち状態(プロンプト)です。
Welcome to Ubuntu 22.04 LTS
yuuki@DESKTOP-ABC:~$
おめでとうございます。これであなたのWindowsの中で、本物のUbuntuが動いています。次からは、スタートメニューの「Ubuntu」や、ターミナルで wsl と打つだけで、いつでもここに戻ってこられます。いま入っているディストリビューションは、次のコマンドで確認できます。
PS C:\Users\yuuki> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
VERSION が 2 になっていれば、性能のよいWSL 2で動いています。
WSLの便利なところは、両者がつながっている点です。Linux側からは、Windowsのドライブが /mnt/c/ の下に見えます(例: /mnt/c/Users/yuuki/Desktop)。逆にWindowsのエクスプローラーのアドレス欄に \\wsl$ と入れると、Linux側のファイルを開けます。普段使いのWindowsと、練習用のLinuxを、いいとこ取りで併用できます。
2.3 仮想マシン(VM)で試す
もう一つの定番が 仮想マシン(VM) です。VMとは、いまのPCの中に「もう一台の仮想的なコンピュータ」をソフトウェアで作り出す技術です(仕組みの詳しい話は、コンピュータ大全コース第13章「仮想化・コンテナ・クラウド」で扱っています)。その仮想のPCにUbuntuをインストールして使います。
代表的なソフトが、無料で使える VirtualBox です。おおまかな流れはこうです。
- VirtualBox をインストールする
- Ubuntu の公式サイトからISOファイル(インストール用のディスクイメージ)をダウンロードする
- VirtualBox で新しい仮想マシンを作り、そのISOから起動してUbuntuをインストールする
- できあがった仮想PCを起動して、Linuxを使う
VMの最大の利点は、まるごと隔離できることです。仮想PCの中で何をしようが、母体のWindowsやMacには影響しません。設定をめちゃくちゃにしても、その仮想PCを消してもう一度作ればいいだけです。さらに「スナップショット」という機能で、ある時点の状態を丸ごと保存し、いつでもそこへ戻せます。「壊してよい練習場」を地で行く方法です。
Windowsユーザーなら、まずは手軽なWSLで十分です。一方、VMは「サーバーとして起動から止めまで丸ごと体験したい」「ネットワーク設定やGUIも含めて本格的に触りたい」というときに向きます。どちらも無料なので、慣れてきたら両方試してみるのがおすすめです。
2.4 macOSの場合
Macを使っているなら、実は好都合な面があります。macOSの中身は Unix系(第1章で触れた「UNIXの思想を受け継ぐ仲間」)だからです。標準の「ターミナル.app」を開けば、ls・cd・pwd・cat といった基本コマンドの多くが、Linuxとほぼ同じように使えます。この先で学ぶ内容の相当部分は、Macのターミナルでそのまま練習できます。
ターミナルは、アプリケーション → ユーティリティ の中、または command + スペース で「ターミナル」と検索すると開けます。開くとこんな表示です。
yuuki@MacBook ~ %
行末の記号が % になっているのは、Macの標準シェルが zsh(ゼットシェル) だからです(Linuxでよく使う bash とは兄弟のような関係。第8章で扱います)。また、Macでソフトを追加するときは Homebrew という定番の道具があり、brew install ... でコマンドを増やせます。
基本コマンドは共通でも、macOSはLinuxとは別のOSです。細かなオプションの違いがあったり、Linux特有のコマンド(第6章の apt など)は使えなかったりします。基礎を練習するにはMacのターミナルで十分ですが、「本物のLinuxそのもの」を動かしたいなら、Mac上でもVMやコンテナを使うのが確実です。両者の違いは「📓 コマンド集」タブでも対比しています。
2.5 クラウドやRaspberry Piという選択肢
手元のPCに入れる以外にも、Linuxに触れる道はあります。少し目線を広げてみましょう。
クラウドの無料枠でサーバーを借りる
AWSやGoogle Cloud、さくらのクラウドといったクラウドサービスでは、Linuxサーバーを1台、数分で借りられます。多くのサービスには無料枠(お試し枠)があり、小さなサーバーなら費用をかけずに練習できます。この場合、手元のPCからは SSH(遠隔ログインの仕組み。コンピュータ大全コース第11章)を使って、ネットワーク越しにそのLinuxへ入って操作します。実際のサーバー運用にいちばん近い体験ができるのが魅力です。
クラウドは、無料枠を超えると課金が発生します。大きすぎるサーバーを選んだり、使い終わったサーバーを消し忘れて動かしっぱなしにしたりすると、思わぬ請求につながります。練習が終わったらサーバーを停止・削除する、無料枠の条件を最初に確認する——この2点を習慣にしましょう。
Raspberry Pi で実機に触れる
Raspberry Pi(ラズパイ)は、手のひらサイズの小さなコンピュータです。数千円程度で買え、microSDカードにLinux(Raspberry Pi OS など)を書き込んで動かします。仮想ではなく本物のハードウェアでLinuxが動くので、電源を入れて起動する感覚や、ネットワークにつなぐ感覚まで含めて学べます。手を動かすのが好きな人には、格好の練習台です。
2.6 ログインとログアウト、最初の一歩
どの方法で環境を用意したとしても、たどり着く先は同じ「プロンプト」です。ここからが本当のスタート。まずはこの画面の意味を読み解き、自分がどこにいるのかを確認するコマンドを打ってみましょう。
プロンプトの読み方
入力待ちの状態で表示される、次のような一行をプロンプトと呼びます。ここには重要な情報が詰まっています。
yuuki@ubuntu:~$
分解すると、こう読めます。
| 部分 | 意味 |
|---|---|
yuuki | いまログインしているユーザー名 |
@ | 「〜にいる」の区切り(アットマーク) |
ubuntu | コンピュータ(ホスト)の名前 |
:~ | いまいる場所。~ は自分のホームディレクトリ(第3章) |
$ | 入力してよいという合図。一般ユーザーは $、管理者(root)は # |
つまり yuuki@ubuntu:~$ は、「yuukiさんが、ubuntuというマシンの、ホームにいて、コマンド入力を待っています」という意味です。末尾の記号が # に変わっていたら、それは強い権限を持つ管理者としての状態なので、より慎重に操作する合図になります。
以降のコマンド例では、入力する行の先頭に yuuki@ubuntu:~$ のようなプロンプトを付け、その下に実行結果を示します。実際に打ち込むのは $ より後ろの部分だけです。プロンプトそのものは打ちません。
自分の状況を確認するコマンド
では最初のコマンドを打ってみましょう。どれも「今の状態を教えてくれる」だけの安全なコマンドです。まずは whoami(私は誰?)です。
yuuki@ubuntu:~$ whoami
yuuki
ログイン中のユーザー名が返ってきました。次に hostname(このマシンの名前)です。
yuuki@ubuntu:~$ hostname
ubuntu
続いて uname -a。これはOS(カーネル)の情報をまとめて表示します。-a は「all(すべて)」の意味です。
yuuki@ubuntu:~$ uname -a
Linux ubuntu 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
先頭の Linux で、これがLinuxカーネルで動いていることが分かります。続く 5.15.0-91-generic はカーネルのバージョン、x86_64 はCPUの種類です。この一行を見るだけで「どんなLinuxか」の概略がつかめます。ついでに id を打つと、ユーザーの詳しい情報(所属グループなど。第5章で扱います)も見られます。
yuuki@ubuntu:~$ id
uid=1000(yuuki) gid=1000(yuuki) groups=1000(yuuki),27(sudo)
作業を終えるには exit
Linuxから抜けるときは exit と打ちます(logout でも同じです)。
yuuki@ubuntu:~$ exit
logout
WSLならWindowsのプロンプトに戻り、クラウドサーバーならSSHの接続が切れて手元のPCに戻ります。「入ったら出る」——このログイン・ログアウトの往復が、Linuxを使う日々の基本動作になります。
この章で繰り返した「壊してよい隔離された環境で試す」という考え方は、じつは学習だけの話ではありません。実務のサーバー運用でも、いきなり本番で試さず、まず切り離した検証環境(ステージング)で確かめてから本番に反映するのが鉄則です。WSLやVMで練習するあなたの習慣は、そのまま「本番に手を入れる前に、隔離された場所で確認する」というプロの作法の練習になっています。また、whoami で今どのユーザーとして作業しているかを常に意識する癖も重要です。管理者(#)のまま漫然と操作するのは事故のもと。「自分は今どこで、誰として作業しているのか」を確認する——この一手間が、システムを守ります。
まとめ
- 手を動かして学ぶには、自分専用の「壊してよいLinux環境」が欠かせない
- Windowsなら
wsl --installの一行で、本物のUbuntuが最短で手に入る - 仮想マシン(VM)はまるごと隔離でき、スナップショットでいつでも元に戻せる
- macOSはUnix系で、ターミナルで基本コマンドの多くを練習できる(LinuxそのものはやはりVM/コンテナで)
- クラウドの無料枠やRaspberry Piでも、Linuxに触れられる
- プロンプト
user@host:~$は現在地の地図。whoami/hostname/uname -aで状況を確認できる - 練習は必ず隔離環境で。業務PCや本番サーバーでは試さない
練習問題
あなたはWindows PCを使っています。Linuxを学ぶための環境として、まずどの方法を選ぶのがよいでしょうか。方法の名前と、その環境を用意する最初のコマンドを1つ挙げてください。
解答を見る
WSL(Windows Subsystem for Linux)がおすすめです。管理者として開いたPowerShell(またはターミナル)で wsl --install を実行すると、必要な機能一式と既定のUbuntuがまとめてインストールされます。VMより手軽で、Windowsと共存でき、無料で本物のLinuxを動かせます。
Linuxにログインしたら、プロンプトが yuuki@ubuntu:~# と表示されていました。末尾が $ ではなく # であることは、何を意味しますか。また、どんな点に注意すべきですか。
解答を見る
末尾の # は、いま管理者(root)権限で操作していることを示します(一般ユーザーは $)。rootはシステム上のほぼ何でもできてしまうため、誤ったコマンドでファイルを消したり設定を壊したりすると被害が大きくなります。必要なとき以外はrootのまま作業せず、「今は強い権限の状態だ」と意識して慎重に操作することが大切です。
いまログインしているLinuxについて、「ユーザー名」「マシン名」「OS(カーネル)の情報」を確認したいとき、それぞれどのコマンドを使いますか。
解答を見る
ユーザー名は whoami、マシン名は hostname、OS(カーネル)の情報は uname -a で確認できます。uname -a の出力の先頭が Linux であれば、Linuxカーネルで動いていることが分かり、続く番号でカーネルのバージョンも読み取れます。所属グループなどを含む詳しいユーザー情報は id でも確認できます。