Ubuntu 하위 시스템의 Windows 10에서 디렉터리의 파일을 열고 파일이 열려 있는 동안 디렉터리 이름을 바꾸려고 하면 그렇게 할 수 없습니다.
예:
$mkdir demo
$touch demo/test.txt
$CtlZ
$[2]+ Stopped vim demo/test.txt
$mv demo demo100
mv: cannot move 'demo' to 'demo100': Permission denied
이제 파일을 닫으면 이름을 바꿀 수 있습니다.
$mv demo demo100
$ls demo100
test.txt
이는 예상치 못한 동작인 것 같습니다. 일반 Ubuntu 시스템에서 동일한 테스트를 실행했을 때 아무런 문제 없이 파일 이름을 바꿀 수 있었습니다. 이 문제의 원인에 대한 아이디어가 있습니까?
답변1
예, 이는 정상적인 Windows 동작입니다. Windows에서 파일을 열면 파일 시스템에서 해당 파일이 효과적으로 잠기고 이동이 방지됩니다.
WSL은 가상 머신이 아니라는 점을 이해하는 것이 중요합니다. Posix와 같은 창에 대한 액세스를 허용하는 창 상단의 (얇은) 레이어입니다. 따라서 WSL에서 파일을 열면 Windows의 일반적인 규칙에 따라 실제로 Windows에서 파일을 여는 것입니다.
읽다:
https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
개요
WSL은 Ubuntu, openSUSE, SUSE Linux Enterprise Server, Debian 및 Kali Linux와 같은 GNU 사용자 공간을 실행할 수 있는 Microsoft에서 개발한 Linux 호환 커널 인터페이스(Linux 커널 코드 제외)를 제공합니다.
더 멀리
하드웨어 및 파일 시스템 액세스
coLinux와 같은 다른 프로젝트와 달리 하드웨어 에뮬레이션/가상화가 없기 때문에 WSL은 호스트 파일 시스템을 직접 사용합니다.