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.