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側にファイルを突っ込む方法でした。
ファイルを入れるのはともかくとして、そこから一手間必要なので、ちょっと面倒ですよね。
こういう方法もあるなーくらいの感じでイイと思います。