WSL2チートシート
はじめに
WSLコマンドが忘れがちなので、チートシートを作成した。
詳しくは、wslのヘルプを参照。ここでは、よく使うものを列挙した。
WSLコマンド一覧(抜粋)
※ ディストリビューション=Distro
# | 説明 | コマンド | 短縮 | 備考 |
---|---|---|---|---|
1 | WSLコマンドのインストール | wsl --install | ||
2 | WSLのバージョン情報を表示 | wsl --version | wsl -v | |
3 | WSLコマンドのヘルプ | wsl --help | ||
4 | WSLのステータスを表示 | wsl --status | ||
5 | WSLのアップデート | wsl --update | ||
6 | インストールされているディストリビューションの一覧表示 | wsl --list --verbose | wsl -l -v | |
7 | 有効なディストリビューションの一覧を表示 | wsl --list --online | wsl -l -o | |
8 | ディストリビューションを追加 | wsl --install --distribusion "Distro" | wsl --install -d "Distro" | |
9 | ディストリビューションを削除 | wsl --unregister "Distro" | ||
10 | デフォルトのディストリビューションを変更 | wsl --set-default "Distro" | wsl -s "Distro" | |
11 | ディストリビューションを起動 | wsl --distribution "Distro" | wsl or wsl -d | デフォルトが起動 |
12 | すべてのディストリビューションを終了 | wsl --shutdown | ||
13 | 特定のディストリビューションを終了 | wsl --terminate "Distro" | ||
14 | ディストリビューションをファイルにエクスポート | wsl --export "Distro" "FileName" | --vhd オプションで.vhdxファイルとする | |
15 | ファイルからディストリビューションをインポート | wsl --import "Distro" "InstallLocation" "FileName" | --vhd オプションで.vhdxファイルとする |
WSLコマンド詳細
1. WSLコマンドのインストール
2. WSLのバージョン情報を表示
1 2 3 4 5 6 7 8 9 |
PS C:\> wsl -v WSL バージョン: 1.2.5.0 カーネル バージョン: 5.15.90.1 WSLg バージョン: 1.0.51 MSRDC バージョン: 1.2.3770 Direct3D バージョン: 1.608.2-61064218 DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows バージョン: 10.0.22621.1848 PS C:\> |
3. WSLコマンドのヘルプ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
PS C:\> wsl --help Copyright (c) Microsoft Corporation. All rights reserved. この製品のプライバシー情報については、https://aka.ms/privacy にアクセスしてください。 使用法: wsl.exe [Argument] [Options...] [CommandLine] Linux バイナリを実行するための引数: コマンド ラインが指定されていない場合、wsl.exe によって既定のシェルが起動されます。 --exec, -e <CommandLine> 既定の Linux シェルを使用せずに、指定されたコマンドを実行します。 --shell-type <Type> 指定したシェルの種類で、指定されたコマンドを実行します。 種類: standard 既定の Linux シェルを使用して、指定されたコマンドを実行します。 login 既定の Linux シェルをログイン シェルとして使用して、指定されたコマンドを実行します。 none 既定の Linux シェルを使用せずに、指定されたコマンドを実行します。 -- 残りのコマンド ラインをそのまま渡します。 オプション: --cd <Directory> 指定されたディレクトリを現在の作業ディレクトリとして設定します。 ~ が使用されている場合、Linux ユーザーのホーム パスが使用されます。パスの先頭が / の場合、Linux の絶対パスとして解釈されます。 それ以外の場合、値は Windows の絶対パスにする必要があります。 --distribution, -d <Distro> 指定されたディストリビューションを実行します。 --user -u <UserName> 指定されたユーザーとして実行します。 --system システム ディストリビューションのシェルを起動します。 Linux 用 Windows サブシステムを管理するための引数: --help 使用法に関する情報を表示します。 --debug-shell 診断目的で WSL2 デバッグ シェルを開きます。 --event-viewer Windows イベント ビューアーのアプリケーション ビューを開きます。 --install [Distro] [Options...] Linux 用 Windows サブシステム ディストリビューションをインストールします。 有効なディストリビューションの一覧を表示するには、'wsl.exe --list --online' を使用してください。 オプション: --no-launch, -n インストール後にディストリビューションを起動しません。 --web-download Microsoft Store ではなくインターネットからディストリビューションをダウンロードします。 --mount <Disk> すべての WSL 2 ディストリビューションで物理ディスクまたは仮想ディスクをアタッチしてマウントします。 オプション: --vhd <Disk> が仮想ハード ディスクであることを指定します。 --bare ディスクを WSL2 にアタッチしますが、マウントはしません。 --name <Name> マウント時のカスタム名を使用してディスクをマウントします。 --type <Type> ディスクのマウント時に使用するファイル システム。指定しない場合は、既定で ext4 になります。 --options <Options> 追加のマウント オプション。 --partition <Index> マウントするパーティションのインデックス。指定しない場合は、既定でディスク全体になります。 --release-notes Web ブラウザーを開き、WSL リリース ノート ページを表示します。 --set-default-version <Version> 新しいディストリビューションの既定のインストール バージョンを変更します。 --shutdown 実行されているすべてのディストリビューションと WSL 2 軽量ユーティリティ仮想マシンを直ちに終了します。 --status Linux 用 Windows サブシステムの状態を表示します。 --unmount [Disk] すべての WSL2 ディストリビューションからディスクのマウント解除とデタッチを行います。 引数なしで呼び出した場合は、すべてのディスクのマウント解除とデタッチが行われます。 --update Linux 用 Windows サブシステム パッケージを更新します。 オプション: --web-download Microsoft Store ではなくインターネットから更新プログラムをダウンロードします。 --pre-release 利用可能な場合は、プレリリース バージョンをダウンロードします。暗黙的に --web-download となります。 --version, -v バージョン情報を表示します。 Linux 用 Windows サブシステムでディストリビューションを管理するための引数: --export <Distro> <FileName> [Options] ディストリビューションを tar ファイルにエクスポートします。 ファイル名を - にすると標準出力になります。 オプション: --vhd ディストリビューションを .vhdx ファイルとしてエクスポートする必要があることを指定します。 --import <Distro> <InstallLocation> <FileName> [Options] 指定された tar ファイルを新しいディストリビューションとしてインポートします。 ファイル名を - にすると標準入力になります。 オプション: --version <Version> 新しいディストリビューションに使用するバージョンを指定します。 --vhd 指定されたファイルが tar ファイルではなく .vhdx ファイルであることを指定します。 この操作により、指定されたインストール場所に .vhdx ファイルのコピーが作成されます。 --import-in-place <Distro> <FileName> 指定された .vhdx ファイルを新しいディストリビューションとしてインポートします。 この仮想ハード ディスクは ext4 ファイル システムの種類でフォーマットする必要があります。 --list, -l [Options] ディストリビューションを一覧表示します。 オプション: --all 現在インストールまたはアンインストール中のディストリビューションを含む すべてのディストリビューションを一覧表示します。 --running 現在実行中のディストリビューションのみを一覧表示します。 --quiet, -q ディストリビューションの名前のみを表示します。 --verbose, -v すべてのディストリビューションに関する詳細情報を表示します。 --online, -o 'wsl.exe --install' を使用してインストールできるディストリビューションの一覧を表示します。 --set-default, -s <Distro> ディストリビューションを既定として設定します。 --set-version <Distro> <Version> 指定されたディストリビューションのバージョンを変更します。 --terminate, -t <Distro> 指定されたディストリビューションを終了します。 --unregister <Distro> ディストリビューションの登録を解除し、ルート ファイル システムを削除します。 PS C:\> |
4. WSLのステータスを表示
1 2 3 4 5 6 |
PS C:\> wsl --status 既定のディストリビューション: Ubuntu 既定のバージョン: 2 WSL1 は、現在のマシン構成ではサポートされていません。 WSL1 を使用するには、"Linux 用 Windows サブシステム" オプション コンポーネントを有効にしてください。 PS C:\> |
5. WSLのアップデート
1 2 3 4 |
PS C:\> wsl --update 更新プログラムを確認しています。 Linux 用 Windows サブシステムの最新バージョンは既にインストールされています。 PS C:\> |
6. インストールされているディストリビューションの一覧表示
1 2 3 4 5 |
PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 Ubuntu-20.04 Stopped 2 PS C:\> |
7. 有効なディストリビューションの一覧を表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
PS C:\> wsl -l -o インストールできる有効なディストリビューションの一覧を次に示します。 'wsl.exe --install <Distro>' を使用してインストールします。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 openSUSE-Leap-15.4 openSUSE Leap 15.4 openSUSE-Tumbleweed openSUSE Tumbleweed PS C:\> |
8. ディストリビューションを追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
PS C:\> wsl -l -o インストールできる有効なディストリビューションの一覧を次に示します。 'wsl.exe --install <Distro>' を使用してインストールします。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 openSUSE-Leap-15.4 openSUSE Leap 15.4 openSUSE-Tumbleweed openSUSE Tumbleweed PS C:\> wsl --install Ubuntu-20.04 Ubuntu 20.04 LTS は既にインストールされています。 Ubuntu 20.04 LTS を起動しています... Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: ubuntu New password: Retype new password: passwd: password updated successfully この操作を正しく終了しました。 PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 Ubuntu-20.04 Running 2 PS C:\> |
9. ディストリビューションを削除
1 2 3 4 5 6 7 8 9 10 11 |
PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 Ubuntu-20.04 Stopped 2 PS C:\> wsl --unregister Ubuntu-20.04 登録解除。 この操作を正しく終了しました。 PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 PS C:\> |
10. デフォルトのディストリビューションを変更
1 2 3 4 5 6 7 8 9 10 11 |
PS C:\> wsl -l Linux 用 Windows サブシステム ディストリビューション: Ubuntu (既定) Ubuntu-20.04 PS C:\> wsl -s Ubuntu-20.04 この操作を正しく終了しました。 PS C:\> wsl -l Linux 用 Windows サブシステム ディストリビューション: Ubuntu-20.04 (既定) Ubuntu PS C:\> |
11. ディストリビューションを起動
1 2 3 4 5 |
PS C:\> wsl To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@Z790-AERO:/mnt/c$ |
12. すべてのディストリビューションを終了
1 2 3 4 5 6 7 8 9 10 |
PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Running 2 Ubuntu Running 2 PS C:\> wsl --shutdown PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu Stopped 2 PS C:\> |
13. 特定のディストリビューションを終了
1 2 3 4 5 6 7 8 9 10 11 |
PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Running 2 Ubuntu Running 2 PS C:\> wsl --terminate Ubuntu-20.04 この操作を正しく終了しました。 PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu Running 2 PS C:\> |
14. ディストリビューションをファイルにエクスポート
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu Stopped 2 PS C:\> wsl --export Ubuntu c:\temp\Ubuntu_init.tar エクスポートが進行中です。これには数分かかる場合があります。 この操作を正しく終了しました。 PS C:\> Get-ChildItem -Path c:\temp -Name Ubuntu_init.tar PS C:\> wsl --export Ubuntu c:\temp\Ubuntu_init.vhdx --vhd エクスポートが進行中です。これには数分かかる場合があります。 この操作を正しく終了しました。 PS C:\> Get-ChildItem -Path c:\temp -Name Ubuntu_init.tar Ubuntu_init.vhdx PS C:\> |
15. ファイルからディストリビューションをインポート
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu Stopped 2 PS C:\> wsl --import Ubuntu_dev c:\temp c:\temp/ubuntu_init.tar インポート中です。この処理には数分かかることがあります。 この操作を正しく終了しました。 PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu_dev Stopped 2 Ubuntu Stopped 2 PS C:\> |
WSL2のデータファイルの場所を確認する方法
ディストリビューションのデータファイルの場所を確認するには、以下のコマンドで、パッケージ名を取得する。
1 |
Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName |
パッケージ名が取得出来たら。Win+Rで%LOCALAPPDATA%を開く。開いたフォルダ内のPackagesを開き、調べたパッケージ名フォルダを開く。パッケージ内のLocalStateフォルダ内にあるvhdxファイル(ext4.vhdx)がデータファイルとなる。