lisz-works

プログラミングと興味を貴方に

Windows Subsystem for Linux(WSL)にWindowsエクスプローラからファイルを突っ込む

【スポンサーリンク】

Windows x Linux

Windows Subsystem for Linux(WSL)の環境に、Windowsのエクスプローラから、ファイルを突っ込む方法です。

Linuxで使用するファイルは、基本的にはLinuxからの操作でどうにかすべきだとは思います。
なのでこの方法は、邪道というか亜流というかになると思います。

しかし「それでもエクスプローラから!」という方は試してみてください!

WindowsからLinuxに突っ込むには?

ココにLinuxのファイルシステムで使用するフォルダがあります。

C:\Users\ユーザ名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\user\

この下を操作して、ファイルやフォルダを作成すればOKです。

ただしLinuxが立ち上がった状態だと、追加したものが見えないようです。

追加後はコンソールを再起動しましょう。

エクスプローラからフォルダとファイルを作る

普通のエクスプローラ操作と同じです。

今回は、「winフォルダ」と「sample.txt」を作りました。

C:.
└─win
        sample.txt

それではコンソールを開いて見てみましょう。

ファイルやフォルダにアクセスする

まずは「winディレクトリ」にアクセスしてみましょう。

~$ cd win
-bash: cd: win: Permission denied

Windowsから入れたファイルは、アクセス権限がデフォルトの状態では、Linux環境では触れられないようになっています。

権限を解決する

怒られました。権限がありません。
確認してみましょう。

~$ ls -l
(中略)
d--------- 1 user user 4096 Oct 12 16:01 win

権限的に触れませんね。

フルアクセス可能な状態にして見ましょう。

~$ chmod 777 win
~$ ls -l
(中略)
drwxrwxrwx 1 user user 4096 Oct 12 16:01 win

権限が付きました。
移動してみましょう。

~$ cd win
~/win$

無事アクセスできましたね。

フォルダ内もまるごとアクセス権限解決

ファイルが入ったフォルダを入れた場合

「一個ずつとか1階層ずつ権限変えるの面倒くさいよ!」

となりますよね。

そんなときは「-R」オプションを付けましょう。

このような構成のフォルダを、エクスプローラから作成しました。

C:.
│  file1.txt
│  file2.txt
│  file3.txt
│
├─dir1
│      file1.txt
│      file2.txt
│      file3.txt
│
└─dir2
        file1.txt
        file2.txt
        file3.txt

コレをLinuxから一気に権限変更してみましょう。

$ chmod -R 777 manyfile

するとこうなります。

user@xxx:~/win$ ll
total 0
drwxrwxrwx 1 user user 4096 Oct 12 16:01 ./
drwxr-xr-x 1 user user 4096 Oct 12 16:13 ../
drwxrwxrwx 1 user user 4096 Oct 12 16:16 menyfile/
---------- 1 user user    0 Oct 12 16:01 sample.txt
d--------- 1 user user 4096 Oct 12 16:19 test/
user@xxx:~/win$ chmod -R 777 test/
user@xxx:~/win$ ls -l
total 0
drwxrwxrwx 1 user user 4096 Oct 12 16:16 menyfile
---------- 1 user user    0 Oct 12 16:01 sample.txt
drwxrwxrwx 1 user user 4096 Oct 12 16:19 test
user@xxx:~/win$ cd test
user@xxx:~/win/test$ ls -l
total 0
drwxrwxrwx 1 user user 4096 Oct 12 16:19 dir1
drwxrwxrwx 1 user user 4096 Oct 12 16:19 dir2
-rwxrwxrwx 1 user user    0 Oct 12 16:19 file1.txt
-rwxrwxrwx 1 user user    0 Oct 12 16:19 file2.txt
-rwxrwxrwx 1 user user    0 Oct 12 16:19 file3.txt
user@xxx:~/win/test$ ls -l dir1/
total 0
-rwxrwxrwx 1 user user 0 Oct 12 16:19 file1.txt
-rwxrwxrwx 1 user user 0 Oct 12 16:19 file2.txt
-rwxrwxrwx 1 user user 0 Oct 12 16:19 file3.txt
user@xxx:~/win/test$ ls -l dir2/
total 0
-rwxrwxrwx 1 user user 0 Oct 12 16:19 file1.txt
-rwxrwxrwx 1 user user 0 Oct 12 16:19 file2.txt
-rwxrwxrwx 1 user user 0 Oct 12 16:19 file3.txt
user@xxx:~/win/test$

あとがき

Windowsのエクスプローラから、Linux側にファイルを突っ込む方法でした。

ファイルを入れるのはともかくとして、そこから一手間必要なので、ちょっと面倒ですよね。

こういう方法もあるなーくらいの感じでイイと思います。