WSL2を使い始めたばかりの人が最初に戸惑うのが、LinuxとWindowsのファイルのやり取りです。
「ダウンロードしたファイルをLinuxで使いたい」「Linuxで編集したファイルをWindowsで開きたい」——そんな場面で迷った経験はないでしょうか。
この記事では、WSL2環境でLinuxとWindowsのファイルを相互に行き来する方法を、初心者向けに手順を追って解説します。
WindowsのどこにLinuxからアクセスできるか、逆にWindowsからLinuxのファイルを開く方法まで、実際のコマンド出力例を交えながら説明します。
この記事のポイント
・WSL2からWindowsのCドライブは /mnt/c でアクセスできる
・Windowsの「デスクトップ」「ドキュメント」は /mnt/c/Users/ユーザー名/の配下にある
・エクスプローラーで \\wsl$ を開くとWSL2のLinuxファイルを確認できる
・cp・mv コマンドで Linux ⇔ Windows 間のファイルコピーが可能
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜWSL2ではLinuxとWindowsのファイルが共存できるのか
WSL2(Windows Subsystem for Linux 2)は、Windows 10/11の中でLinuxを動かす仕組みです。インストールしたUbuntuなどのLinuxは、Windowsの中で動く「小さなLinux環境」のようなものです。
Windowsのファイルシステム(Cドライブなど)は、WSL2のLinux側から/mnt/というディレクトリ配下に「マウント」された形でアクセスできます。
「マウント」とは、外付けドライブを差し込んで使えるようにする操作と同じ概念です。WSL2はWindows起動時に自動でCドライブなどをLinux側に接続してくれます。
この仕組みのおかげで、LinuxとWindowsの間でファイルをやり取りするのに、わざわざUSBメモリを使ったり、専用のツールを用意したりする必要はありません。
WindowsのファイルをLinuxから確認する
1. /mnt ディレクトリを確認する
WSL2のターミナルを開き、以下のコマンドで/mntの中身を確認します。ls /mnt
c d wsl wslg
2. WindowsのCドライブの中身を表示する
ls /mnt/c
'$Recycle.Bin' PerfLogs Recovery Users pagefile.sys ProgramData 'Program Files' 'Program Files (x86)' Windows
3. Windowsのデスクトップ・ドキュメントにアクセスする
Windowsのユーザーフォルダは/mnt/c/Users/Windowsのユーザー名/ の配下にあります。# Windowsのデスクトップを確認する例(ユーザー名はtomohiroの場合) ls /mnt/c/Users/tomohiro/Desktop
ls /mnt/c/Users/
tomohiro Public Default
LinuxとWindowsの間でファイルをコピーする
1. WindowsからLinuxへファイルをコピーする
Windowsのデスクトップにある「sample.txt」をLinuxのホームディレクトリにコピーする例です。# Windowsデスクトップ → Linuxホームディレクトリへコピー cp /mnt/c/Users/tomohiro/Desktop/sample.txt ~/
ls ~/sample.txt
/home/ubuntu/sample.txt
2. LinuxからWindowsへファイルをコピーする
Linuxで作成したファイルをWindowsのデスクトップに置く例です。# Linuxで作ったファイルをWindowsデスクトップにコピー cp ~/myfile.txt /mnt/c/Users/tomohiro/Desktop/
3. フォルダごとコピーする(-rオプション)
フォルダ(ディレクトリ)ごとコピーする場合は -r オプションを使います。# LinuxのプロジェクトフォルダをまるごとWindowsドキュメントへ cp -r ~/myproject /mnt/c/Users/tomohiro/Documents/
WindowsエクスプローラーからLinuxのファイルを開く
WSL2では、逆にWindows側からLinuxのファイルを確認する方法もあります。1. エクスプローラーで \\wsl$ を開く
Windowsのエクスプローラーのアドレスバーに以下を入力します。\\wsl$
そこからLinuxのファイルシステムを、Windows側からフォルダとして閲覧・編集できます。
2. WSL2ターミナルからエクスプローラーを開く
現在いるLinuxのディレクトリをWindowsのエクスプローラーで直接開くこともできます。# 現在のディレクトリをエクスプローラーで開く explorer.exe .
ファイルをドラッグ&ドロップで移動したいときにも便利です。
よくあるトラブルと対処法
「Permission denied」エラーが出る場合
WindowsのシステムフォルダやProgram Filesなど、管理者権限が必要なフォルダにアクセスしようとすると Permission denied エラーが出ることがあります。ls: cannot open directory '/mnt/c/Windows/System32': Permission denied
Windowsの管理者フォルダへのアクセスは、WSL2の通常操作では行わないほうが安全です。
ファイル名に日本語が含まれる場合の注意
日本語ファイル名はLinuxコマンドで扱えますが、タブ補完が効きにくい場合があります。ファイル名をシングルクォートで囲むと安全に指定できます。
# 日本語ファイル名を含む場合はシングルクォートで囲む cp '/mnt/c/Users/tomohiro/Desktop/作業メモ.txt' ~/
コピーが遅く感じる場合
WSL2から/mnt/c(Windowsファイルシステム)へのアクセスは、Linux内部のファイル操作より若干遅くなる場合があります。大量のファイルを頻繁にやり取りする開発作業では、作業フォルダはLinux側(~/配下)に置き、完成したファイルだけをWindowsに移すのが効率的です。
本記事のまとめ
| やりたいこと | コマンド・方法 |
|---|---|
| WindowsのCドライブを確認する | ls /mnt/c |
| Windowsのデスクトップを確認する | ls /mnt/c/Users/ユーザー名/Desktop |
| WindowsからLinuxへファイルをコピー | cp /mnt/c/Users/名前/Desktop/ファイル名 ~/ |
| LinuxからWindowsへファイルをコピー | cp ~/ファイル名 /mnt/c/Users/名前/Desktop/ |
| エクスプローラーでLinuxを開く | アドレスバーに \\wsl$ と入力 |
| 現在のLinuxディレクトリをエクスプローラーで開く | explorer.exe . |
WSL2は「LinuxとWindowsの壁」を取り払ってくれる便利な環境です。
最初は /mnt/c という仕組みに戸惑うかもしれませんが、一度使い方がわかると「意外と簡単だ」と感じる方がほとんどです。
ファイルのやり取りに慣れてきたら、次はLinuxコマンドでWindowsのテキストファイルを加工したり、スクリプトで自動処理したりと、活用の幅が一気に広がります。
ぜひ手を動かして試してみてください。
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
次に読む記事
ファイル操作をもっと活用したい方には、以下の記事もあわせてご覧ください。・tarコマンドでファイルをまとめる方法|圧縮・解凍の全オプション
・ssコマンド・lsofでポートの使用状況を確認する方法
・Linuxのディレクトリ構造を理解する|/etc・/var・/usrの役割と違い
・chmodコマンドで権限を設定する方法|数値指定と記号指定の使い分け
・grepコマンドでファイル内の文字列を検索する方法|-r・-l・--excludeの実践例
・rsyncコマンドでファイルを同期・バックアップする方法|--deleteの安全な使い方
・scpコマンドでLinuxサーバー間のファイルを安全に転送する方法
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Tiny Core Linuxとは?世界最小級の軽量OSを試す方法【上級者向け・学習用】
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます