コンテンツにスキップ

wsl.exeの使い方まとめ

[質問]

Windowsのwsl.exeでWSLに指令を出す方法のまとめをお願いします。WSLの起動と停止、WSLの設定や情報取得、WSL上でなんらかのジョブを実行させる方法など。

[回答] Gemini

Windowsの標準ツールである wsl.exe を使いこなすと、PowerShellやコマンドプロンプトから直接Linux環境を操作できるようになり、作業効率が劇的に上がります。

主要なコマンドを用途別に整理しました。


1. WSLの起動・停止・管理

WSL自体の動作をコントロールする基本的なコマンドです。

操作 コマンド 備考
デフォルトの起動 wsl 既定のディストリビューションを起動
特定OSの起動 wsl -d <名前> 例: wsl -d Ubuntu-22.04
シャットダウン wsl --shutdown 全てのWSLインスタンスを即座に停止
特定のOSを停止 wsl -t <名前> 特定のディストリビューションのみ終了
状態の確認 wsl -l -v 実行中か停止中か、WSLのバージョンを確認

2. WSL上でのジョブ実行(コマンド連携)

わざわざWSLのターミナルに入らなくても、Windows側から直接Linuxコマンドを実行できます。

基本的な実行

# WindowsからLinuxのディレクトリ一覧を表示
wsl ls -la /home/user

# WindowsからLinuxの更新を行う
wsl sudo apt update

パイプラインの活用

WindowsとLinuxの間でデータを渡すことができます。これが非常に強力です。

# WindowsのテキストファイルをLinuxのgrepで検索
type data.txt | wsl grep "error"

# Linuxの出力をWindowsのファイルに保存
wsl cat /etc/os-release > linux_info.txt

特定のユーザーとして実行

wsl -u root -d Ubuntu apt upgrade

3. 設定・情報取得

環境のバックアップや、WSL自体のバージョン切り替えなどに使用します。

インストールと更新

  • 利用可能なOS一覧: wsl -l -o
  • WSL自体の更新: wsl --update

インポート / エクスポート(バックアップ)

環境をまるごとファイル(.tar)として保存できます。

# エクスポート
wsl --export Ubuntu C:\backup\ubuntu_backup.tar

# インポート(新しい環境として復元)
wsl --import MyCustomLinux C:\WSL\MyCustom C:\backup\ubuntu_backup.tar

WSLバージョンの変更

特定のディストリビューションをWSL 1から2(またはその逆)へ変換します。

wsl --set-version <名前> 2

4. 知っておくと便利な Tips

  • 現在のディレクトリ: Windowsのパスで wsl を実行すると、自動的にその場所がLinuxパスに変換(/mnt/c/...)された状態で起動します。
  • デフォルト設定: wsl --set-default <名前> で、単に wsl と打った時に起動するOSを指定できます。

注意: wsl --shutdown は、VS CodeのWSL拡張機能などを使っている場合、それらもすべて切断されるので実行タイミングには気をつけましょう。


特定のワークフロー(例:シェルスクリプトをWindowsのタスクスケジューラで回したい等)について、より具体的な自動化の方法を詳しくお伝えしましょうか?