開発者モードを有効にしてBash on Ubuntu on Windows
をインストールしました。
私のホームディレクトリは%localappdata%\Lxss\home\<ubuntu.username>\
の下にあります、私は完全パスがであるべきであるようにPicturesと呼ばれるサブディレクトリを作成しました
windowsの場合:C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures
bashでは:/home/<ubuntu.username>/Pictures
私がコマンドtouch hello.txt
を使ってbashからファイルを作成するならば、私は自由にウィンドウズUIでこのファイルを見て、私のデスクトップにそれをコピーすることができます。しかし、WindowsのUIから新しいテキストファイルを作成してC:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures
に保存すると、bashやwindowsを再起動しても、ls -l
を実行してもファイルは表示されません。
Windows側で作成されたファイルを自分のホームディレクトリにbashで表示できないのはなぜですか?
EDIT/mnt/c
を使用することは解決策ではありません、私は理解しようとしていますなぜそれはそれらのファイルを見ていないし、端末を使用してファイルをコピーアンドペーストしたり移動したりするのではなく、UIが作成したファイルを見ることができます。
あなたは/mnt
ディレクトリの下であなたのwindowsシステムにアクセスできるはずです。例えばbashの中で、これを使って写真ディレクトリにたどり着きます。
cd /mnt/c/Users/<ubuntu.username>/Pictures
お役に立てれば!
WSL内のLinuxファイルシステム(lxssフォルダにあります)にのみアクセスする必要があります。DO NOTWindowsのlxssフォルダ内のファイルは作成/変更してください。
WSLとWindowsの間でファイルを共有できるようにしたい場合は、ファイルをlsxxフォルダーの外に置いてください。 WSL内の/mnt
などのdrvFS(/mnt/c/Users/youusername/files
)を介してそれらにアクセスし、Windowsでそれらを変更することができます。
詳細とその理由については、 https://blogs.msdn.Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools)を参照してください。 /