WindowsからUbuntuサブシステムにファイルをコピーする[終了]


96

開発者モードを有効にしてインストールしましたBash on Ubuntu on Windows

私のホームディレクトリはの下%localappdata%\Lxss\home\<ubuntu.username>\にあります。フルパスが次のようになるように、Picturesというサブディレクトリを作成しました。

Windowsの場合: C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures

バッシュで: /home/<ubuntu.username>/Pictures

コマンドを使用してbashからファイルを作成した場合touch hello.txt、Windows UIでこのファイルを自由に表示して、デスクトップにコピーできます。ただし、Windows UIから新しいテキストファイルを作成してに保存するとC:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures、bashまたはwindowsを再起動しても、ファイルを表示しても表示されませんls -l

Windows側から作成されたファイルを自分のホームディレクトリにbashで表示できないのはなぜですか?

EDIT Using /mnt/cは解決策ではありません、なぜそれらのファイルが表示されないのを理解しようとしています、そしてそれを修正して、ターミナルを使用してコピーするのではなく、UIで作成されたファイルを表示できるようにします-ファイルを貼り付けるか移動します。


2
面白い!私の推測-そしてそれ単なる推測です-は、Linuxサブシステムが独自のファイルを追跡し、他のファイルが追加されているかどうかを確認することは決してないということです。そうでなければ、ファイルの削除や大文字と小文字の区別などの仮想ファイルシステムにUNIXのセマンティクスを与えることが困難になるためです。Bashから作成hello.txtHELLO.TXT、Bashから作成した場合、Windowsで見たときに、ファイルの1つが別の名前で表示されることに気付くと思います。
ハリージョンストン

Stack Overflowは、プログラミングと開発に関する質問のためのサイトです。この質問はプログラミングや開発に関するものではないため、トピックから外れているようです。ヘルプセンターで、どのようなトピックについて質問できますかをご覧ください。おそらく、スーパーユーザーまたはUnix&Linux Stack Exchangeのほうがよいでしょう。また、Dev Opsに関する質問
jww 2017年

@HarryJohnstonが想定したように、名前は異なります。ロングとショートの両方。しかし、ケースでのみ、短いもの(!)
Serhii Kheilyk 2017年

この質問は、ask-ubuntuコミュニティに関連しているため、トピック外として閉じることにします。
OmG

2
@jpaugh知っています。しかし、この質問はオフトピックではなく、Ubuntuの状況に合わせて正当化されます。
OmG 2018

回答:


141

/mntディレクトリの下にあるWindowsシステムにアクセスできるはずです。たとえばbash内で、これを使用して画像ディレクトリにアクセスします。

cd /mnt/c/Users/<ubuntu.username>/Pictures

お役に立てれば!


誤解されていると思います。デスクトップにJPGがあり、UIとともにbashサブシステムディレクトリにコピーしました。それらがホームディレクトリにあるときにbashがこれらの写真を表示できない理由を理解しようとしています。これはcygwinの基本的な動作であり、Linuxコマンドに依存せずにファイルをドラッグアンドドロップまたはコピーして貼り付けます。
JordanGS 2017

おそらく間違ったフォルダにいます。
zoecarver 2017

Linuxサブシステムには、Cygwinと同じ設計基準はありません。必ずしも同じように動作することを期待することはできません。
ハリージョンストン

ubuntu.usernameWindowsではユーザー名は必要ありませんが、私にとってはうまく
いき

1
これを愛してください。
グバトロン

53

WSL内からのみLinuxファイルシステム(lxssフォルダーにあるもの)にアクセスする必要があります。しないでください Windowsでlxssフォルダ内のすべてのファイルを変更/作成-それは危険だとWSLは、これらのファイルは表示されません。

ただし、WSLとWindowsの間でファイルを共有できます。lxssフォルダーの外にファイルを置きます。WSL内/mntなどのdrvFS()を介してそれらにアクセスできます/mnt/c/Users/yourusername/files。これらのファイルは、WSLとWindowsの間で同期されたままになります。

詳細と理由については、https//blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/を参照して ください。



1
では WSLファイルシステムのサポート行動が起こっているなぜそれが説明:ファイル「翻訳」は唯一の(Linux側に)lsxxサブシステムで行われます。
クリスバック

Linux VMでは、SFTPを使用してファイルを転送できますが、Windowsからlinuxサブシステムにファイルを正しく転送するには何を使用しますか?これは解決策を提供しません。
Ambroise Rabier

1
@AmbroiseRabier WSLの最新バージョンでは、SFTP、tarファイル、または統合9pプロトコルを使用します。
リカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.