Windows 10 WSL에서 Linux / Ubuntu 파일에 액세스하는 방법은 무엇입니까?


71

이 질문 은 Ubuntu Bash에서 Windows 파일에 액세스하는 방법에 대한 답변이지만 어떻게 반대의 방법을 사용할 수 있습니까?

특히 /home/mark/.ssh/id_rsaBash 아래 에있는 Windows에서 SSH 키에 액세스해야합니다 .



(나는이 질문이 더 일반적이고 훨씬 더 좋고 더 최신의 답변을 가지고 있기 때문에 phuclv의 링크 된 질문을 역 시간순으로 속이는 것으로 제안했습니다.)
Bob

답변:


26

Windows 명령 행 PM :

2019 년 10 월 업데이트 : Win10 1903 이상에서 새로 통합 된 P9 서버를 통해 배포판의 Linux 파일직접 액세스 할 수있는 새로 추가 된 기능을 반영하도록 아래 응답을 업데이트합니다 .

중요 : Linux 파일에 액세스하기 위해 Windows 파일 시스템을 통해 급유하는 것은 계속 지원되지 않으며 강력하게 권장됩니다! 이유를 이해하려면 이 게시물을 읽으십시오

그렇다면 Windows 도구 (예 : 메모장, VS / VScode 등)를 사용하여 Linux 파일에 어떻게 액세스합니까? 예전에는 Windows 10 1903부터 P9 파일 서버를 통해 배포 파일 시스템을 Windows에 공개했습니다. 우리는 또한 이것이 어떻게 작동하는지에 대한 심도있는 비디오를 출판 했습니다 ! 이 블로그 게시물 에서이 새로운 기능에 대한 요약을 읽을 수도 있습니다.

여기에 이미지 설명을 입력하십시오

이 기능을 사용하는 방법에 대해 기다리십시오. 문제점을 발견하면 WSL GitHub 저장소 ( https://github.com/Microsoft/wsl) 에 문제점을 제출 하십시오 .


이 9P 파일 서버 기능은 일반 사용자에게 안정적입니까? 그렇지 않은 경우 불안정한 내부자 빌드 사용에 대한 경고를 추가하는 것이 좋습니다. 많은 사용자가 익숙하지 않을 수 있습니다. 한 가지 흥미로운 사실, 귀하의 답변에는 2016 년과 2019 년 ~ 3 세의 블로그가 포함되어 있습니다.)
Biswapriyo

오, 정말 신나는 소식입니다 !! 공유해 주셔서 감사합니다!
mpen

@ biswaprio.it는 내부 프로그램에 가입하기 위해 완료해야하는 수동 단계에서 매우 명확하게 만들어졌습니다.이 릴리스는 문자 그대로 다음 Windows 버전이 구축 될 때 매주 다음 버전입니다. 그렇습니다. 9P 서버는 기본 OS 릴리스의 일반 사용자에게 안정적입니다. 그렇습니다. 여기에 알맞은 솔루션을 구축하고 시작하는 데 오랜 시간이 걸렸다는 사실은 소규모 팀이 우선 순위를 지정하고 엔지니어링하는 것이 얼마나 까다로운 지에 대한 아이디어를 제공해야합니다.
리처드 터너

1
나는 이것이 릴리스 된 것을 처음으로 듣고 나서 시스템의 모든 업데이트와 함께 우분투 에서이 명령을 시도해 왔습니다. 탐색기는 항상 내 문서 폴더로 이동합니다. 그리고 아직 이 기능을 "활성화" 하는 단계 를 찾지 못했습니다 .
Axeman

3
Axeman과 비슷한 상황을 실행 explorer.exe .하면 System32 폴더가 열립니다. @RichardTurner 수동 단계는 어디에 있습니까?
Chris

57

위치는 실제로 최신 릴리스에서 다음으로 이동되었습니다.

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

Microsoft / WSL # 2578의 GitHub 문제 참조

위의 문제와 아래의 주석에서 언급했듯이 Windows OS에서 이러한 파일을 엉망으로 만들지 마십시오.

https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/


1
감사! 이전 지침을 따르려고 미쳤다고 생각했지만 lxss 폴더조차 없었습니다.
Alex S

1
이 정보가 여전히 사실입니까? Windows 10에서 이러한 폴더를 찾을 수 없습니다.
Bruno Finger

6
WINDOWS의 DISRO ROOT 폴더에 방치하지 말 것을 강력히 권장합니다. 데이터 손실 및 / 또는 손상이 발생할 가능성이 매우 높음 : 자세한 내용은이 게시물을 참조하십시오. blogs.msdn.microsoft.com/commandline/2016/11/17/…
Richard Turner

1
"누군가가 그런 식으로 파일을 조작하거나 변경하려고하는지 의심합니다" 왜 내가 위의 조언을 외쳤다 고 생각합니까? 우리는 일주일에 여러 번 사람들로부터이 소식을 무시하거나 읽지 않아 루트 폴더의 파일이 손상되었다고 들었습니다. 대체로이 문제를 일으키는 β 디스크 파일을 대체하는 도구가 있습니다.
리처드 터너

1
탐색기에서 Ubuntu WSL을 통해 생성 한 폴더를 탐색했으며 결과적으로 권한이 돌이킬 수 없었습니다. 그래서 권장하지 않습니다!
SamAndrew81

9

내 C 드라이브 전체를 검색하여 찾았습니다. 파일은 다음과 같습니다.

C:\Users\<username>\AppData\Local\lxss

예를 들어 내 SSH 키는 다음과 같습니다.

C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa

2
공식 FCU 업데이트 이후 경로가 변경된 것 같습니다.
Briefkasten

1
@Briefkasten 방금 FCU로 업데이트했는데 파일이 여전히 있습니다. Bash 아래에 새 파일을 만들었습니다. WSL 또는 다른 것을 업그레이드 했습니까?
mpen

2
@John D WSL은 앱이 설치 될 패키지 폴더에 있습니다. 나에게 그것은 C : / Users / {username} / AppData / Local / Packages / CanonicalGroupLimited. UbuntuonWindows_79rhkp1fndgsc / LocalState / rootfs / Cont. 에 github.com/Microsoft/WSL/issues/402#issuecomment-321853125
Briefkasten

9

예. 그러나 Windows 탐색기에서 해당 폴더를 조작하지 않는 것이 좋습니다. lxss 폴더에서 파일을 복사, 이동, 편집 또는 지우려면 명령 줄 도구를 사용하여 bash 내에서 파일을 만들어야합니다. / mnt / *에있는 파일 만 실제로 Windows 탐색기에서 조작 할 수 있습니다.


1
간단한 텍스트 파일이라도? 함정은 무엇입니까?
mpen

3
Volfs 폴더 (예 : / home)에있는 모든 파일에는 해당 파일의 Linux 권한을 저장하는 확장 속성이 있습니다. Windows 편집기에서 해당 파일을 편집하면 해당 속성이 손실되고 파일이 bash에서 사라집니다. 자세한 내용은 다음을 참조하십시오 : blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
onoma

4
그런 소리는 버그 여야합니다. Windows는 이러한 파일에 대한 액세스 권한을 부여하거나 읽기 전용 액세스 권한을 부여하지 않아야하며, Linux 파일에 대한 쓰기 호출을 가로 채고 속성을 수정해서는 안됩니다. 팁 고마워. 파일 만 읽으려고했기 때문에 문제가되지 않기를 바랍니다.
mpen

5

에서 powershell사용

cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs

그때

ls

같은 폴더 목록을 반환합니다

ls / 

WSL의 bash 내에서.


4

위에서 언급했듯이 WSL 디렉토리의 [onoma] 파일은 Windows 시스템에서 탐색기 나 텍스트 편집기를 사용하여 파일을 조작하면 사라지는 속성을 갖습니다. 해결 방법은 로컬 호스트에서 WSL 파일 시스템을 수신 한 후 WSL에서 ssh-server를 시작하고 (재설치가 필요할 수 있음) win-sshfs와 같은 드라이브로 WSL 파일 시스템을 마운트하거나 Bitvise SSH 클라이언트를 사용하여 ssh를 통해 연결하는 것입니다 sftp 창으로 파일을 조작하십시오. 주제는 여기에서 부분적으로 논의되었습니다 : "Windows 10의 Ubuntu에 대한 Bash"에 SSH로 연결하려면 어떻게해야합니까?


3

subst L: $env:LOCALAPPDATA\lxss (파워 쉘용)

또는 subst L: %LocalAppData%\lxss(에서 cmd)

이것은 리눅스 서브 시스템 파일 시스템 루트 /L : 드라이브에 넣습니다.

당신은 또한 당신의 홈 디렉토리를 매핑하거나 %LocalAppData%\lxss탐색기 창에서 hack 수 있습니다. L : \ mnt \ c를 탐색하지 마십시오. 뇌가 폭발 할 수 있습니다.


3
좋은 해결책! 현재 Windows 10 그것의 SUBST의 L의 경우 : $ ENV : LOCALAPPDATA \ 패키지 \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ rootfs
안드레아스 M. Oberheim

3

마지막으로 WSL 내부에서 실제 올바른 폴더 컨텍스트로 탐색기 (및 vscode)를 여는 방법을 만들었습니다 : https://github.com/andymule/wslwin

예를 들어, 이것을 설치하면 Linux (WSL)에서 방금 cd /home/mark/.ssh/입력하고 입력 explorer하면 해당 위치에서 Windows 탐색기를 열 수 있습니다.

편집 :이 기능은 현재 WSL에서 공식적으로 지원되며 더 이상 내 스크립트를 사용하지 않아야합니다


2

Windows 10 크리에이터 업데이트의 Im. SFTP NetDrive를 사용하여 WSL 파일 시스템을 네트워크 드라이브처럼 Windows에 마운트합니다.

동일한 결과를 얻을 수있는 몇 가지 Window sshFS 포트가 있습니다.

"sudo service ssh start"를 통해 ssh 데몬을 시작해야합니다.


파일로 직접 이동하는 것보다 이점이 무엇입니까?
mpen

파일에 메타 데이터가 첨부되어있어 메타 데이터를 이해하지 못하는 응용 프로그램으로 직접 액세스 할 때 손실 될 수 있습니다.
mlk

0
\\wsl$\Ubuntu\home\user\whatever 

탐색기 또는 실행 위젯 (Cmd + R)에서. 일반적인 네트워크 공유처럼 작동하며 파일을 조작하는 것이 안전합니다.

다른 네트워크 공유와 마찬가지로 드라이브 나 폴더에 매핑 할 수도 있습니다.

참고 : 이것은 Windows 10 빌드 18342에서 구현 된 새로운 기능입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.