以前UnixコマンドをWindowsで使いたいというタイトルで、UnixコマンドをWindowsにインストールすることなく使える方法を提示しました。WSLを使うとインストールする必要はありますが、Unixコマンドを使うことができます。今回はWSLを使ってWindows上でUnixコマンドを使える環境を説明します。
繰り返しになりますが、Windows上でUnixコマンドを使いたい時は、巨大なファイルの検索とか、切り出しとか、WindowsのテキストエディタやExcelなどのアプリケーションで開けない場合や、Unixコマンドを使い慣れた方には一つの解決策になります。
![WSLで使うUbuntuのデスクトップイメージ](https://singomemo.com/wp-content/uploads/2020/05/ubuntu-desktop.jpg)
WSLは、LinuxがWindowsを操作できるインターフェースを提供します。WSLのポイントは以下です。
- Microsoft 標準提供です
- Windowsのフォルダやファイルを操作可能です
- UnixコマンドだけなのでWindwosのリソースを無駄に消費しない
目次
WSLを使うメリットとデメリット
WSLを使うメリット
WSLはLinux向けにWindowsを操作できるインターフェースをします。この機能を使うと、WSLに対応したLinuxからWindowsを操作できます。
今具体的には、LinuxコマンドでWindowsのファイルを操作えきることくらいです。PowerShellのような形でUbuntuのLinuxコマンドが使えます。
Linuxコマンドに慣れた人にとっては,、サードパーティのフリーソフトを探す必要がないことです。
WSLを使うデメリット
WSLを使うデメリットは、UNIXコマンドをWindowsで使いたい!で紹介したUnxUtilsがインストール不要であるのに対して、WSLはインストールが必要であることとと、コマンドプロンプトから直接使うことができないことです。
Windowsのフォルダにアクセスするには、WSLを起動した後にLinuxコマンドでディレクトリを少し移動する必要があります。
WSLの機能を有効化
WSLの機能を有効にするにはWindowsの再起動が必要ですので、再起動ができない時は避けましょう。Windowsの機能の有効化と無効化を開きます。まずは管理者権限のあるアカウントでWIndowsにログインします。
![Windows10のスタートメニュー](https://singomemo.com/wp-content/uploads/2019/10/01-1-スタートメニュー-1.png)
上の図のように、①スタートメニューをクリックして、②設定をクリックします。
![Windowsの設定画面](https://singomemo.com/wp-content/uploads/2020/03/windows-function-enable-search-1024x610.jpg)
上の図のように、WIndowsの設定ウィンドウが開きます。赤枠内の検索ボックスに「機能の有効化」と入れると、すぐ下に「Windowsの機能の有効化または無効化」が表示されますので、それをクリックして設定するウィンドウを表示します。
![WSLを有効にするためWindowsの機能から探す](https://singomemo.com/wp-content/uploads/2020/05/serach-wsl-for-enable-windows-feature.jpg)
上の図のように、「Windowsの機能の有効化または無効化」ウィンドウが表示されます。右のスクロールを動かし下から1/3くらいのところに上の図の赤枠のようにWindows Subsystem for Linuxがあります。ここにチェックを入れます。
![WSLを有効にする](https://singomemo.com/wp-content/uploads/2020/05/enable-wsl-for-enable-windows-feature.jpg)
上の図のように、チェックを入れて、右下のOKボタンをクリックします。
![WSLを有効にしている状態](https://singomemo.com/wp-content/uploads/2020/05/enabling-wsl.jpg)
上の図のように進めば後は完了を待つだけです。WSLの有効化が終わるとWindowsの再起動を求められますので、再起動します。
Windowsの再起動が完了するとWSLの機能は有効になっています。
WSLに対応したUbuntuをインストール
WSLが有効になった後は、利用するユーザーでUbuntuをMicrosoft Storeからインストールします。
![WSL対応UbuntuをMicrosoft Storeで探す](https://singomemo.com/wp-content/uploads/2020/05/search-wsl-ubuntu-1024x86.jpg)
上の図のように利用するユーザーでタスクバーのMicrosoft Storeアイコンをクリックします。
![WSL対応UbuntuをMicrosoft Storeから探すため検索ボックスを見つける](https://singomemo.com/wp-content/uploads/2020/05/serch-ubuntu-wsl-from-msstore.jpg)
上の図のように、Microsoft Storeのウィンドウが表示されたら、右上の赤枠にある検索をクリックします。
![WSL対応Ubuntuを探すために検索窓に入力](https://singomemo.com/wp-content/uploads/2020/05/search-wsl-ubuntu-2.jpg)
上の図のように、赤枠内の検索窓に「ubuntu」と入力して検索します。
![WSL対応の最新版Ubuntuを選択](https://singomemo.com/wp-content/uploads/2020/05/select-latest-ubuntu.jpg)
上の図のように、Ubuntuは3種類表示されます。Linuxコマンドを使うだけなら最新版でも問題なく使えますので、上の図の赤枠の20.04を選択します。
![WSL対応Ubuntuの20.04をイントール](https://singomemo.com/wp-content/uploads/2020/05/install-wsl-ubuntu.jpg)
上の図のように、WSLに対応したUbuntu 20.04が表示されます。右上の赤枠「インストール」をクリックしてインストールを開始します。Microsoftへのログインが表示されても、ログインしなくてもインストールできます。
![WSL対応Ubuntu 20.04をインストールしている状態](https://singomemo.com/wp-content/uploads/2020/05/installing-wsl-ubuntu.jpg)
上の図のようにインストールをクリックした箇所の左側にバーが出てインストールしている状態を表示します。
![WSL対応Ubuntuuのインストールが完了](https://singomemo.com/wp-content/uploads/2020/05/install-wsl-ubuntu-complete.jpg)
上の図のように、右上が「起動」になればインストールは完了です。
WSLを使ってみる
WSLを使ってみます。初回起動は少し時間がかかります。
Ubuntu専用のターミナルを立ち上げる
![WSL対応Ubuntuをスタートメニューから探す](https://singomemo.com/wp-content/uploads/2020/05/search-ubuntu-start-menu.jpg)
上の図のように、①スタートメニューとなりの検索アイコンをクリックして「ubuntu」と入力し、②上に表示される「Ubuntu 20.04 LTS」をクリックします。
![WSL対応Ubuntuを初回起動時の画面](https://singomemo.com/wp-content/uploads/2020/05/ubunu-initial-startup-enter-username.jpg)
上の図のように、ユーザー名の入力が必要な状況になれば初期設定は完了です。ユーザー名とパスワードを入力してプロンプトを表示させます。
あとはUbuntuのコマンドラインです。ただし、ディレクトリ構成が特殊で、Windowsのファイルは/mnt/以下にドライブ名とともにマウントされています。cdコマンドで移動してWindowsのファイルにアクセスします。例えばCドライブは/mnt/cディレクトリに、Dドライブは/mnt/dにマウントされます。
コマンドプロンプト上でWSLを起動する
コマンドプロンプトを起動して、ubuntu2004と入力するとWSL対応Ubuntuが起動します。起動したあとは同じです。ディレクトリも変わりますので、Cドライブにアクセスしたいなら/mnt/cディレクトリに移動します。
このあたりはPowerShellと同じですね。ただ、初期のディレクトリが違います。これは.bashrcとかで記述するとうまく元居たフォルダに移動できるかもしれません。と思っていたのですが…。
さらに調べてみると、コマンドプロンプト上でwslと入力すると今のディレクトリでUbuntuのLinuxコマンドが使える状態になりました。
![WSLコマンドが使いやすい](https://singomemo.com/wp-content/uploads/2020/05/use-wsl-command.jpg)
コンピュータ名やユーザー名を隠したら、上の図のようによくわからないイメージになりましたが、伝えたいことは「コマンドプロンプトでwslと入力すると使いやすいです」ということです。
まとめ
WSLは今のところ、LinuxコマンドをWindowsで使えるところまでしか使いこなせていない私ですが、これだけでもUnixコマンドが使えるのはとても助かります。
これまではUnixのコマンドを使ってデータ処理したい場合は、別途Unixを別マシンで立ち上げる必要がありました。そういう煩わしい作業が要らないので、今後の発展に期待したいです。