Windows Linuxサブシステム-Ubuntuの外部のファイルへのアクセス
たとえば、Windows内からファイルを作成した場合、Windows 10のLinuxサブシステム(bash.exe)の下でファイルを表示できないのはなぜですか スクリーンショットで説明する必要があります。 フォルダー:OMGはWindowsエクスプローラー内から作成されました。フォルダーOMGBashは、Linuxサブシステムbash.exeで作成されました bash.exeの外部でフォルダーまたはファイルが作成された場合、アクセス許可と所有権に関係なく、それを見ることができません。 Cygwinを使用してファイルのアクセス許可を表示する必要がある情報を表示するために、フォルダーが表示されるかどうかを確認するアクセス許可も変更しました。(下部にある2つのコマンドウィンドウ) フォルダー、bash.exeおよびCygwinの権限を示すスクリーンショット: 私はLinuxのサブシステムへの上にすべての私のCygwinスクリプトを移動しようとしています、 しかし、その後、コピーした過去が、その後DOS2UNIXを使用して、その後再フォーマットは、bashを使用して、私はすべてのファイルを再作成空想しません(非常に長いったらしいです)。 LinuxサブシステムのGitHubでこれを見つけました。 他のチケットに関する議論によると、WindowsからLinuxサブシステムに直接コピーすることはサポートされていません。AppDataの下に、WSLファイルシステムのファイルが含まれているように見えるディレクトリがあります(どこか忘れています)。ただし、そこに新しいファイルを配置したり、既存のファイルを変更したりすると、WSL内に変更が正しく反映されません。 私の最良の推測は、Linuxはファイルとは異なるメタデータ(およびディスクバッファリングモデルも異なるため、より多くのキャッシング情報など)を保存する必要があり、これは現在、構造のマスターコピーを保存することで実装されていることですある種のデータベース内のLinuxファイルシステムを使用し、Windowsファイルシステムをそのデータベースの便利なBLOBストアとして使用するだけです。 本当にこれを行う必要がある場合、回避策はdrag'n'drop .batスクリプトまたはbash.exe -c "mv%1 / home / $ USER /"を実行するスクリプトを記述することです。(おそらく、%1を有効なWSLパスに変換するには、sedとtrを使用して巧妙な作業を行う必要があります。) または、Windowsディレクトリにファイルを配置し、WSL内で「cd〜; ln -s / mnt / c / path / to / my / files」を実行して、WSL homedirにあるように見せてもらえますか?