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の間でデータを渡すことができます。これが非常に強力です。
# WindowsのテキストファイルをLinuxのgrepで検索
type data.txt | wsl grep "error"
# Linuxの出力をWindowsのファイルに保存
wsl cat /etc/os-release > linux_info.txt
特定のユーザーとして実行
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(またはその逆)へ変換します。
4. 知っておくと便利な Tips
- 現在のディレクトリ: Windowsのパスで
wslを実行すると、自動的にその場所がLinuxパスに変換(/mnt/c/...)された状態で起動します。 - デフォルト設定:
wsl --set-default <名前>で、単にwslと打った時に起動するOSを指定できます。
注意:
wsl --shutdownは、VS CodeのWSL拡張機能などを使っている場合、それらもすべて切断されるので実行タイミングには気をつけましょう。
特定のワークフロー(例:シェルスクリプトをWindowsのタスクスケジューラで回したい等)について、より具体的な自動化の方法を詳しくお伝えしましょうか?