Windows에서 Ubuntu 하위 시스템으로 파일 복사 [닫기]


97

개발자 모드를 활성화하고 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

명령을 사용하여 bash에서 파일을 생성 touch hello.txt하면 Windows UI에서이 파일을 자유롭게보고 내 데스크탑에 복사 할 수 있습니다. 그러나 Windows UI에서 새 텍스트 파일을 만들고에 저장하면 C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Picturesbash 또는 Windows를 다시 시작하더라도 파일이 보이지 않습니다 ls -l.

Bash가 자체 홈 디렉토리에서 Windows 측에서 생성 된 파일을 볼 수없는 이유는 무엇입니까?

사용하는 편집/mnt/c 은 해결책이 아닙니다. 해당 파일을 볼 수 없는지 , 그리고 그에 대한 해결책이 있다면 터미널을 사용하여 복사하는 대신 UI 생성 파일을 볼 수 있도록 노력하고 있습니다. 파일을 붙여 넣거나 이동합니다.


2
흥미 롭군요! 내 생각 엔 - 그것이 입니다 단지 추측 - 리눅스 서브 시스템은 자신의 파일을 추적하고 다른 사람이 추가되어 있는지 보이는 적이 있다는 것입니다. 그렇지 않으면 파일 삭제 및 대소 문자 구분과 같은 것에 대해 가상 파일 시스템 UNIX 의미를 부여하기가 어려울 것이기 때문에 일종의 의미가 있습니다. 난 당신이 만드는 경우 찾을 수 있습니다 의심 hello.txt하고 HELLO.TXT당신이 윈도우에서 볼 때 배쉬에서, 파일 중 하나가 다른 이름 일 것이다.
Harry Johnston

Stack Overflow는 프로그래밍 및 개발 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제에서 벗어난 것처럼 보입니다. 도움말 센터에서 내가 질문 할 수있는 주제를 참조 하세요 . 아마 슈퍼 사용자 또는 유닉스 및 리눅스 스택 교환 물어 더 나은 장소가 될 것입니다. Dev Ops에 대한 질문을 어디에 게시합니까?
jww

@HarryJohnston이 예상했듯이 이름이 다릅니다. 길고 짧습니다. 하지만 경우에, 심지어 짧은 것 (!)
Serhii Kheilyk

이 질문은 ask-ubuntu 커뮤니티와 관련이 있기 때문에 주제에서 벗어난 질문으로 종료하는 데 투표합니다.
OmG

2
@jpaugh 알아요. 그러나이 질문은 주제에서 벗어난 것이 아니라 우분투 상황에 대해 정당화됩니다.
OmG

답변:


143

/mnt디렉토리 아래에서 Windows 시스템에 액세스 할 수 있어야합니다 . 예를 들어 bash 내부에서 다음을 사용하여 pictures 디렉토리로 이동하십시오.

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

도움이 되었기를 바랍니다!


나는 당신이 오해했다고 믿습니다. 데스크탑에 JPG가 있는데 UI와 함께 bash 하위 시스템 디렉토리에 복사했습니다. bash가 홈 디렉토리에있을 때 왜 그 사진을 볼 수 없는지 이해하려고합니다. 이것은 기본적인 cygwin 동작이며, 작업을 수행하기 위해 Linux 명령에 의존하지 않고 파일을 끌어서 놓거나 복사하여 붙여 넣습니다.
JordanGS

아마도 잘못된 폴더에있을 것입니다.
zoecarver

Linux 하위 시스템에는 Cygwin과 동일한 설계 기준이 없습니다. 반드시 유사하게 작동 할 것으로 기대할 수는 없습니다.
Harry Johnston

하지만 그것은 나를 위해 일한 ubuntu.username) 그것은 나의 경우에는 해당되지 않습니다 .. 알 적어도 윈도우의 사용자 이름없는 필요하다
user2804070

1
이것을 위해 당신을 사랑하십시오.
Gubatron 2018

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 파일 시스템 지원 행동이 일어나는 이유를 설명 : 파일 "번역은"(리눅스 측) lsxx 서브 시스템에서 수행되는 경우에만.
크리스 벅

Linux VM에서 SFTP를 사용하여 파일을 전송할 수 있습니다. Window에서 Linux 하위 시스템으로 파일을 올바르게 전송하려면 무엇을 사용해야합니까? 이것은 해결책을 제공하지 않습니다.
Ambroise Rabier

1
@AmbroiseRabier 최신 버전의 WSL에서는 SFTP, tar 파일 또는 통합 9p 프로토콜을 사용합니다.
reker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.