Tại sao, khi tôi tạo một tệp từ bên trong Windows chẳng hạn, tôi không thể thấy nó trong hệ thống phụ Linux trong Windows 10 (bash.exe)
Ảnh chụp màn hình nên giải thích.
Thư mục: OMG đã được tạo từ bên trong Windows Explorer. Thư mục OMGBash được tạo từ hệ thống phụ bash.exe của Linux
Khi một thư mục HOẶC tệp được tạo bên ngoài bash.exe, tôi không bao giờ có thể nhìn thấy nó, bất kể quyền và quyền sở hữu.
Để hiển thị thông tin tôi đã phải sử dụng Cygwin để hiển thị quyền truy cập tệp, tôi cũng đã thay đổi quyền để xem thư mục có xuất hiện không. (Hai cửa sổ lệnh ở phía dưới)
Ảnh chụp màn hình hiển thị thư mục, quyền bash.exe và Cygwin:
Tôi đang cố gắng chuyển tất cả các tập lệnh Cygwin của mình sang hệ thống con Linux, nhưng tôi không thích tái tạo mọi tệp, sau đó phải sao chép và sử dụng bash, sau đó định dạng lại sau đó sử dụng Dos2unix (rất dài).
Tìm thấy điều này trên GitHub cho hệ thống con Linux:
sao chép trực tiếp vào hệ thống con Linux từ Windows không được hỗ trợ, theo thảo luận về các vé khác. Có một thư mục dưới AppData ở đâu đó (tôi quên ở đâu) dường như chứa các tệp cho hệ thống tệp WSL. Nhưng nếu bạn đặt các tệp mới ở đó hoặc sửa đổi các tệp hiện có ở đó, các thay đổi của bạn sẽ không được phản ánh chính xác trong WSL.
Tôi đoán tốt nhất là Linux cần lưu trữ siêu dữ liệu khác nhau (và nhiều thông tin bộ đệm hơn, v.v., vì mô hình đệm đĩa của nó cũng khác nhau) về các tệp của nó so với Windows và điều này hiện được triển khai bằng cách lưu trữ bản sao chính của cấu trúc của hệ thống tệp Linux trong một cơ sở dữ liệu thuộc loại nào đó và chỉ sử dụng hệ thống tệp Windows làm kho lưu trữ BLOB thuận tiện cho cơ sở dữ liệu đó.
Nếu bạn thực sự cần phải làm điều này, một cách giải quyết sẽ là viết một tập lệnh drag'n'drop .bat hoặc somesuch có bash.exe -c "mv% 1 / home / $ USER /". (Bạn sẽ phải thực hiện một số công việc thông minh với sed và tr, có lẽ, để dịch% 1 sang đường dẫn WSL hợp lệ.)
Ngoài ra - bạn có thể đặt các tệp của mình vào một thư mục Windows và, trong WSL, hãy thực hiện "cd ~; ln -s / mnt / c / path / to / my / files" để làm cho chúng xuất hiện trong homedir WSL của bạn?
cp -r --no-preserve=all
bỏ các quyền trước đó. Tuy nhiên, nếu bạn muốn thực hiện bất kỳ thay đổi lớn nào, bạn không thể sử dụng ứng dụng windows để chỉnh sửa tệp trong LinuxSubSystem, Bạn phải chỉnh sửa nó, trong Thư mục windows của bạn và sau đó sao chép nó. Bây giờ tôi đã biết điều này, nó hoàn toàn khả thi, NHƯNG tôi có ấn tượng rằng Hệ thống phụ Linux được tích hợp / tích hợp vào các cửa sổ nhiều hơn so với một HĐH biệt lập
%LocalAppData%\Packages\<some-long-name-of-distro>\LocalState\rootfs
.