1. ホーム
  2. 記事一覧
  3. WindowsでLinuxコマンドを使いたい!WSLではじめるLinux環境入門

2025.04.14

WindowsでLinuxコマンドを使いたい!WSLではじめるLinux環境入門

はじめに

プログラミング学習に励んでいる多くの方は、PythonやJavaScriptなどのプログラミング言語を学んでいる方が多いのではないでしょうか。学習が進むと必要になってくる技術のひとつとして、Linuxコマンドがあげられます。

普段、Macを使用している方は初期状態からLinuxコマンドでの操作が可能です。一方でWindowsユーザーの場合は、Linuxコマンドを入力できる環境がなく、別途準備が必要となります。本記事では、WindowsPCにLinuxの環境を構築できるWSLについて解説します。この記事を読むことで、WSLの基本知識からインストール方法、簡単なLinuxコマンドまでを一通り学ぶことができます。これからLinuxコマンドを学び始める初心者の方にも理解しやすい内容です。最後には「Linuxコマンドを効果的に学べるツール」も紹介しているので、ぜひ参考にしてください。

なぜLinuxコマンドが必要なのか?

はじめに、「なぜLinuxコマンドが必要なのか」について簡単に触れます。Webやアプリのサービスを公開する際、多くのサーバーは「Linux」というOSの上で動いています。サーバーの設定やメンテナンスを行うためには、Linuxのターミナル上で使うコマンドが欠かせません。また、特定のプログラミング言語に加えてLinuxコマンドも使えると、開発の現場で重宝され、業務の幅を広げるチャンスにつながります。

エンジニアがLinuxコマンドを習得する理由については、以下の記事でも詳しく解説していますので、あわせてご覧ください。

エンジニアがLinuxコマンドを習得する理由

https://envader.plus/article/323

WindowsユーザーでもLinuxが使える

Linuxコマンドの重要性は理解できたものの、Windows上でLinuxコマンドを練習できずに困っている方もいるのではないでしょうか。かつてWindows上でLinuxを使うには、仮想マシンを使ったり、別のPCにLinuxをインストールしたりする必要があり、初心者にはハードルが高い方法でした。

そうした初心者にとって心強い味方がWSLWindows Subsystem for Linux)です。WSLを使えば、Windowsの中にLinux環境を簡単に導入でき、Linuxコマンドをそのまま使えるようになります。数回のクリックでセットアップできるため、環境構築に時間を取られず、すぐに学習を始められる点が大きなメリットです。

WSLとは

WSLとは、Microsoftが提供している機能で、Windows上でLinuxの環境を動かせるようにする仕組みです。従来、Linuxのコマンドや開発ツールをWindowsで使う場合は、仮想マシン(Virtual Machine)やデュアルブート環境を構築する必要がありました。しかしWSLを使うと、Windowsカーネル上でLinuxのカーネル(中核部分)を直接動かせるため、軽量かつスムーズにLinux環境を扱えます。

WSLにはWSL1とWSL2のバージョンがあります。

  • WSL1

    Linuxのシステムコール(アプリケーションがカーネルに依頼する処理)をWindowsカーネルが翻訳して実行する方式。ファイルの読み書きが速い一方で、一部のLinux機能には対応していません。

  • WSL2

    実際のLinuxカーネル(OSの中核部分)を軽量な仮想環境で動かす方式。一般的な仮想マシンよりはるかに軽量で、Windowsとの連携も非常にスムーズです。Linuxとほぼ同じ動作を再現できるため、これから導入するならWSL2がおすすめです。

WSLが登場した理由

歴史的に見れば、多くのソフトウェア開発やウェブ開発はLinuxベースで行われてきました。オープンソースのツールやスクリプト言語、サーバー環境などはLinux上で開発・実行されることが多く、開発者はWindowsで作業を行う場合でもLinuxの環境が必要でした。しかし、従来の仮想マシンなどの手法は使い勝手やパフォーマンスの面で課題があったのです。

WSLの登場により、WindowsユーザーはWindowsを離れなくてもLinux環境の恩恵を受けられるようになりました。WSLはMicrosoftがクロスプラットフォーム開発の重要性を認識し、開発者コミュニティの要望に応える形で導入した技術です。Windows環境でのソフトウェア開発をより効率的かつ柔軟に進めるための大きな一歩となっています。

WSL2の仕組み

WSL2の核となる技術は「軽量仮想マシン」です。これは従来の仮想マシンより大幅に最適化された形でLinuxを動作させる仕組みで、実際のLinuxカーネルを使用しているのが特徴です。MicrosoftがWSL向けに最適化しているため、自動アップデートに対応し、Windowsとのファイル共有やネットワーク通信も円滑に行えます。

この技術は、Windowsの「Hyper-V」という仮想化機能を基盤としていますが、通常の仮想マシンとは異なり、使いやすさと効率性が追求されています。そのため、ユーザーは仮想マシンを意識することなく、まるでWindowsの一部としてLinuxを使用できます。WSL2ではメモリが動的に割り当てられ、必要に応じて増減する仕組みのため、未使用時にはリソースがWindowsに戻され、システム全体の効率を保つことができます。

このように、WSL2は「仮想マシン並みの高い互換性」と「Windowsとの連携しやすさ」を両立した、非常に優れたLinux実行環境です。

WSL2のインストール方法

それでは、実際にWSL2を導入する手順を紹介します。今回は、Linuxのディストリビューションのひとつである「Ubuntu」をインストールしてみましょう。基本的なステップは次のとおりです。

  1. WSLのインストール

    管理者権限でPowerShellを開き、次のコマンドを実行します。

    wsl --install

    下記のように「ディストリビューションが正常にインストールされました」と表示されれば、インストール完了です。

    PS C:\Windows\system32> wsl --install
    ダウンロード中: Ubuntu
    インストール中: Ubuntu
    ディストリビューションが正常にインストールされました。'wsl.exe -d Ubuntu' を使用して起動できます
    PS C:\Windows\system32>
  2. Ubuntuの起動

    インストール後、以下のコマンドを実行してUbuntuを起動します。

    wsl.exe -d Ubuntu
  3. ユーザー名とパスワードの設定

    Ubuntuが起動すると、ユーザー名とパスワードの設定を求められるので入力します。

    PS C:\Windows\system32> wsl.exe -d Ubuntu
    Provisioning the new WSL instance Ubuntu
    This might take a while...
    Create a default Unix user account: ユーザー名を入力
    New password: パスワード入力
    Retype new password: パスワード再入力
  4. Ubuntuの起動を確認

    パスワード入力後、以下のように表示されればUbuntuの起動が完了しています。

    passwd: password updated successfully
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.
    
    Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/pro
    
     System information as of xxx xxx xx xx:xx:xx JST xxxx
    
      System load:  0.19                Processes:             31
      Usage of /:   0.1% of 1006.85GB   Users logged in:       0
      Memory usage: 3%                  IPv4 address for eth0: xxx.xx.xxx.xx
      Swap usage:   0%
    
    This message is shown once a day. To disable it please create the
    /home/username.hushlogin file.
    user@username:/mnt/c/Windows/system32$
  5. Ubuntuの起動状況の確認

    起動状況を確認するには、コマンドプロンプトなど別のターミナルで次のコマンドを入力します。

    C:\Users\username>wsl -l -v
      NAME      STATE           VERSION
    * Ubuntu    Running         2

    上記のようにUbuntu Running 2と表示されれば、UbuntuがWSL2で稼働している状態です。

基本のLinuxコマンドの練習

Ubuntu(WSL)のターミナルが開いたら、基本的なLinuxコマンド操作を練習してみましょう。ここでは、Windowsのデスクトップに移動して操作してみます。

cd:ディレクトリの移動

cd 移動先のディレクトリパス を入力すると、指定したディレクトリ先へ移動できます。

WSLでは、/mnt/c/ を指定することでWindowsのファイルにアクセスできます。以下のコマンドで、WindowsのCドライブ内にあるデスクトップに移動してみてください。

cd /mnt/c/Users/Windowsユーザー名/Desktop

pwd:現在のディレクトリ(場所)を確認する

pwd は「print working directory」の略で、今どのディレクトリ(フォルダ)にいるのかを表示します。実行例として /home/username のようなパスが返されます。

pwd
/mnt/c/users/username/Desktop

ls:ファイルやディレクトリを一覧表示する

ls を使うと、現在のディレクトリにあるファイルやフォルダを一覧表示できます。

ls
ファイルやフォルダが表示される

mkdir:ディレクトリを作成する

mkdir ディレクトリ名 と入力すると、新規ディレクトリを作成できます。以下の例では「エンベーダー」という名前を使っていますが、任意の名前で構いません。

mkdir ディレクトリ名

例:
mkdir エンベーダー

ls コマンドで、ディレクトリが正しく作成されているか確認しましょう。

ls
エンベーダー

touch:新規ファイルの作成

touch はファイルを新規作成したり、既存ファイルのタイムスタンプを更新したりするためのコマンドです。

先ほど作成したエンベーダーディレクトリへ cd コマンドで移動し、touch で新しいテキストファイルを作成してみましょう。

touch ファイル名

例:
touch sample.txt

echo:文字列を標準出力する

リダイレクトを使い、echo コマンドからファイルに文字列を出力します。リダイレクト(>>>)は、コマンドの出力先をファイルなどに変更する機能です。

記号説明
>指定したファイルに標準出力する
>>指定したファイルに標準出力で追記する

次のコマンドで、テキストファイル「sample.txt」へ「エンベーダー」という文字列を出力します。

echo 出力したいテキスト > 出力先ファイル名

例:
echo エンベーダー > sample.txt

cat:ファイルの中身を確認する

ファイルの内容をコンソールに表示するコマンドです。

cat ファイル名

例:
cat sample.txt
エンベーダー

Windows上でも今回作成したファイルを見てみましょう。echo で出力した内容が保存されていることが確認できるはずです。

WSLの停止と終了

最後にWSLを停止・終了する方法を簡単に紹介します。

exit は今開いているLinuxのターミナルを閉じるコマンドです。

exit

なお、exit だけではWSLが完全終了せず、メモリが解放されない場合があります。すべてのLinuxとWSLを終了する場合は、以下のコマンドを実行します。

wsl --shutdown

続いて、次のコマンドでWSLが停止していることを確認できます。

wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2

ここまで、Linuxコマンドを使った基本的なディレクトリやファイル操作を一通り学習しました。普段、GUIで行う操作をコマンドラインから実行できることをご理解いただけたかと思います。コマンド操作に慣れると、多くの作業を素早く処理できるようになるので、少しずつ習得を進めてみてください。

Linuxコマンドの練習におすすめのツール

ここで紹介したLinuxコマンドはほんの一部です。さらに多くのコマンドを学ぶなら、エンベーダーがおすすめです。学習に必要な環境構築がわずか5秒で完了し、Linuxの基礎をすぐに学び始められます。ゲーム感覚でコースを進められる設計のため、楽しみながら自然とスキルを伸ばせる点も魅力です。

https://envader.plus/

そのほかにも、エンジニアに必要なスキルを身につけられるコースを多数用意しています。まずは気軽に体験してみてください。

https://envader.plus/course

この記事で学んだこと

この記事では、WSLの基本知識やインストール方法、使用方法について解説しました。最後に重要なポイントを振り返ります。

  • WSLとは

    Microsoftが提供している機能で、Windows上でLinuxの環境を動かせるようにする仕組みです。仮想マシンを使わずに軽量かつスムーズにLinuxを扱える点が特徴です。

  • WSL2の仕組み

    「軽量仮想マシン」という技術が核となっており、従来の仮想マシンと比べて大幅に最適化されています。実際のLinuxカーネルを使用しているため、互換性が高く、Windowsとの連携もスムーズです。

  • WSLの導入

    本記事では、WSL上にUbuntuディストリビューションをインストールする手順を紹介しました。初心者でも数クリックで設定できるのが魅力です。

  • 基本のLinuxコマンドの練習

    GUIと同じ操作(ファイル操作、ディレクトリ操作など)をコマンド入力で実行できることを体験しました。cdlsmkdirtouchechoなど、開発でよく使うコマンドについても簡単に触れています。

本記事で解説したWSLの基本知識と簡単なLinuxコマンド操作を踏まえ、今後はVSCodeやDockerと連携するなど、さらに高度な開発環境を構築することも可能です。ぜひ挑戦してみてください。

参考資料

関連記事

以下の記事はLinuxコマンドを紹介しているエンベーダーの関連記事です。ぜひあわせてご覧ください。

【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

「フリーランスエンジニア」

近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

「成功する人とそうでない人の違いは何か?」

私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

note記事3000いいね超えの殿堂記事 LINE登録で記事を読む

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事