Help us understand the problem. What is going on with this article?

wsl2でよく使う、windowsとlinux間のファイル移動やコマンド実行。

windowsのエクスプローラからwsl2で起動中のOSのディレクトリへアクセスする。

エクスプローラを立ち上げアドレス欄に\\wsl$と入力すると、起動中のディストリビューションのファイルシステムがフォルダとして見えて、アクセスできる。

利用ケース:wsl内のファイルを直接windowsのアプリで開きたい場合など。
以下は、CentOS8を2VM、Kali Linuxを1VM、Ubuntu-18.04を1VM起動しているときにエクスプローラーで開いた時のスクリーンショット

wsl_access_from_win.png
wsl_access_from_win2.png

windowsからwsl2のコマンドを実行する。

コマンドプロンプトかpowershellからwslコマンドに-eオプションで実行する。

以下、コマンドプロンプトからwslコマンドを実行、-dオプションでCentOS8ディストリビューションを選択し、/etc/os-releaseを標準出力した場合。

C:\Users\uchi>wsl -d CentOS8 -e cat /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"

wslがインストールされているディレクトリへアクセスする。

microsoft storeからインストールしたりwslコマンドでインストールしたwsl用のファイル類は、
%userprofile%\AppData\Local\Packages
という隠しフォルダにインストールされます。
エクスプローラのアドレス欄に入力してアクセス可能です。

wslfolder.png

wslfolder2.png

linuxからwindowsのフォルダにアクセスする

今度はwslで起動したlinuxからのコマンドになります。
linuxから見た場合、windowsのシステムドライブは/mnt/の下にマウントされて見えます。

 uchi@CP747755-01:~$ ls -l /mnt
 合計 0
 drwxrwxrwx 1 uchi uch  512  3月 23 09:05 c
 drwxrwxrwt 2 root root  40  3月 25 05:48 wsl

windowsとlinux相互にディレクトリが参照されているので、OS間のファイルの移動やコピーも簡単にできますね。

linux上で今いるディレクトリをwindowsエクスプローラーで起動する。

wslのlinuxからはwindowsのコマンドを実行できますので、linuxからexplorerを起動することで、
windowsのフォルダで今いるディレクトリを表示することも可能です。

 uchi@CP747755-01:/home$ explorer.exe .

explorer.png

同様にlinux上から好きなwindowsコマンドを実行できる。

通常のlinuxと同様に、環境変数PATHが通っていればそのままコマンドを実行できるし、
通ってなければフルパス指定でそのコマンドを実行できる。
例:linux上から

 /mnt/c/Windows/System32/mspaint.exe

でpaintが起動.

まとめ

やりたいこと windows から linux linux から windows
フォルダを参照したい エクスプローラに\\wsl$を入力 explorer.exe .
コマンドを実行したい wsl -e 'linux上のコマンド' 対象exeをフルパスで実行

これらを組合わせれば、cronからlinuxコマンドの実行に加えてwindowsアプリの実行を組合わせたり、
windowsのタスクスケジューラーからlinuxのコマンドを実行したりと、linux,windows両方の
アプリケーション実行を組合わせられるので、可能性が無限大に広がります。

wsl_cmd.png

Uchitaso
意識高い系IT企業経営者、エンジニア、コンサルタントだがMacは使いこなせないし、渋谷はちょっと苦手、コーヒーアレルギーだから意識高いカフェにもほとんど行かない。 中小企業診断士、オープンソースコンサルタント、コンタクトセンターシステムコンサルタント よく触るものはAWS、Linux、c++
https://www.geekfeed.co.jp/author/uchi/
geekfeed
「ギークさん」が愛称の台東区御徒町にあるシステム開発企業です。自社で開発したスマホ・オフィスの通話録音システム「YouWire」も展開しています。
https://www.geekfeed.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした