Linux 용 Windows Subsystem의 홈 디렉토리는 무엇입니까? 난에 볼

bashLinux 용 Windows 서브 시스템에서 시작할 때 디렉토리에 놓입니다.

/mnt/c/Users/<username>

나는이 때 ls이 디렉토리, 내가 디렉토리를 참조 Desktop, Documents등 난에 볼 수있는 C:\Users\<username>Windows 파일 탐색기를 사용하여. 이는 곳이기 때문에 bash프로그램이 시작,이 내 홈 디렉토리입니다 예상하지만 때 나는 입력하거나 cd또는 cd ~내가 가져온입니다

/home/<username>

이는 내 포함 .bashrc, .profile등 내가 리눅스 박스에 홈 디렉토리에서 찾을 기대 파일. 또한, 입력 cd ../..여기에서 나는 디렉토리를 볼 수있다 bin, etc등등, 다시 같은 리눅스 박스에서 예상.

이 모든 것에 대해 두 가지 질문이 있습니다.

  1. 정확히 무엇 /mnt/c/Users/<username>과 비교 C:\Users\<username>됩니까? 그것들은 같은 것 같습니다. 그래서 무엇 /mnt/c/입니까?
  2. /home/<username>Windows 파일 탐색기 를 사용하여 파일을 보려면 어떻게 합니까? 제가 원했던 것은 아닙니다 .– Windows가이 Subsystem for Linux를 어떻게 구성하고 있는지 느끼려고합니다.


답변

2의 경우 : 현재 경로는 이제 하나의 전역 경로가 아닌 Microsoft Store에서 설치 한 배포와 관련됩니다. 따라서 우분투의 경우 다음 위치에 있습니다.

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

다른 배포판은 아래의 해당 폴더 아래에서 비슷한 위치에 있다고 가정합니다.

%LOCALAPPDATA%\Packages\


답변

  1. /mnt/c와 정확히 동일합니다 C:\. WSL에서 가져 오는 구문 일뿐입니다.
  2. 에서 찾아보십시오 C:\Users\<username>\AppData\Local\Lxss\rootfs.

답변

마운트 된 파일 시스템 /mnt/c

  1. C : \ Users \와 비교하여 / mnt / c / Users /는 정확히 무엇입니까? 그것들은 같은 것 같습니다. 그래서 / mnt / c /는 무엇입니까?

Windows와 달리 Linux (및 Unix 기반의 다른 시스템)는 보유한 디스크 수에 관계없이 단일 폴더 구조를 사용합니다. 디스크가 여러 개인 경우이 디스크는 모두 어느 시점에서 폴더 구조에 마운트 해야합니다 .

  • 일반적으로 (시스템을 부팅하는 데 사용되는 다른) 모든 디스크가된다 장착 라는 이름의 폴더에 /mnt또는/media

WSL에는 DrvFS라는 특수 파일 시스템 유형이 있으며이 파일 시스템은 Windows에서 사용되는 디스크에 액세스 할 수 있습니다. DrvFS를 사용하여 Windows 파일 시스템뿐만 아니라 네트워크 디스크 및 기타 매체 유형도 마운트 할 수 있습니다.

  • WSL에서 기본적 C:으로 Windows 의 디스크는/mnt/c
  • 다른 디스크 (예 : D:Windows 의 디스크)가 있으면 아래에 마운트됩니다./mnt/d

에서 볼 수있는 파일 /mnt/c은에있는 것과 동일합니다 C:. 일부 파일을 수정하면 창에서도 변경 사항이 적용됩니다.

mount명령을 사용하여 다른 유형의 미디어 (예 : 이동식 드라이브 또는 네트워크 공유) 에 액세스 할 수 있습니다 .


의 위치에 대해 /home/<username>

  1. Windows 파일 탐색기를 사용하여 / home /의 파일을 어떻게 볼 수 있습니까? 제가 원했던 것은 아닙니다 .– Windows가이 Subsystem for Linux를 어떻게 구성하고 있는지 느끼려고합니다.

WSL에서 모든 Linux 파일 시스템은 Windows 폴더 아래에 있습니다. 폴더의 위치는 사용중인 Windows 버전 및 WSL 배포에 따라 다릅니다.

  • WSL의 초기 버전은 리눅스 파일 시스템을%LOCALAPPDATA%\Lxss\rootfs
  • Windows Store 16215 (2017 년 중반)부터 Windows 스토어에서 설치된 WSL 배포 는와 같은 폴더를 사용합니다 %LOCALAPPDATA%\Packages\...\LocalState\rootfs. 패키지 이름은 배포판에 따라 다릅니다 (예 : 우분투의 경우 데비안의 경우와 다릅니다)
  • lxRunOffline 또는 WSL-DistroLauncher 와 같은 다른 도구를 사용하여 설치된 Linux 배포판 은 Linux 파일 시스템을 어느 위치 에나 저장할 수 있습니다.

많은 옵션을 확인 하여 WSL 폴더의 위치를 ​​알 수 있습니다 . 예를 들어, 가장 쉬운 옵션은 lxRunOffline 을 사용 하여 설치 폴더를 아는 것입니다.

## You can use lxrunoffline to check which WSL distributions have installed
## using:   lxrunoffline list

C:\> lxrunoffline list
backup
Ubuntu-18.04

## And you can use it to get the location of any of these WSL installations
## using:   lxrunoffline get-dir -n <name of distribution>

C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup

C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

설치 폴더의 위치를 ​​알고 있으면 /home/<username>은 아래에 <installation folder>\rootfs\home\username있습니다.

  • 예를 들어 설치 폴더가 c:\wsl\ubuntu
  • ~ /home/<username>에있다c:\wsl\ubuntu\rootfs\home\username

참고 : Linux와 Windows는 모두 파일 권한을 다른 방식으로 저장합니다. 오늘날 WSL DrvFS는 Linux 권한을 Windows에서 볼 수있는 파일에 첨부 된 스트림 (메타 데이터)으로 저장합니다. Windows 프로그램을 사용하여 Linux 파일을 수정하지 않는 것이 좋습니다. 일부 Windows 응용 프로그램은 통지없이 Linux 권한손상시킬 수 있습니다.


답변

현재 사용중인 Windows 빌드에 따라 다를 수 있지만 2018 년 Windows 10 Pro 64 비트 버전 1709 (OS 빌드 16299.522) 및 버전 1803 (OS 빌드 17134.165)에서 Windows 용 아이러니하게 업데이트되었습니다. 입력 중]] 위치는 여전히

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

트릭은 폴더 옵션에 “보호 된 운영 체제 파일 숨기기 (권장)”를 선택하지 않은 경우 폴더를 C:\Users\<username>\AppData\Local볼 수 lxss없는 경우입니다.

그러나 \lxssWindows 탐색기 주소 표시 줄에 추가 하면 폴더로 이동합니다.

(주 나는 않았다 하지%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc나 마이클 채권의 대답에 언급 아무것도 비슷한)

최신 정보

내가 설치 한 레거시 WSL이 있습니다. 이제 WSL은 Microsoft 스토어 앱을 통해 제공됩니다. Ubuntu 18.04 LTS 용 버전이 있으며 현재 Linux의 다른 특징 (예 : 데비안)도 있습니다. 최신 상태를 유지 하려면 레거시 WSL 을 설치 제거 하고 Microsoft store 버전을 설치하십시오 .

홈 폴더의 위치는 설치 한 이러한 WSL 유형에 따라 다릅니다.


답변

  1. WSL bash 콘솔을 사용하여 홈 디렉토리에서 “test_here.txt”와 같은 임의의 특정 이름을 가진 파일을 작성하십시오.
  2. 그런 다음 Windows 탐색기를 사용하고 검색 상자를 사용하여 test_here.txt 파일을 검색하십시오.
  3. 찾은 파일에서> 마우스 오른쪽 단추를 클릭하고 파일 위치 열기를 클릭하십시오.

답변

Windows 10 pro가 데비안 / 우분투 / OpenSUSE $ HOME을 Windows의 시작 메뉴에 고정하는 4 단계 :

  1. 시작 메뉴에서 파일 탐색기 시작
  2. 검색 창이 아닌 주소 표시 줄에 % LOCALAPPDATA %를 입력하십시오.
  3. 검색 창에서 $ HOME 디렉토리 이름을 찾으십시오. 제 경우에는 ekenny였습니다. 이것에는 약 3 가지 버전이 있지만 실제로는 긴 경로를 가진 버전을 원합니다.
  4. 홈 디렉토리를 마우스 오른쪽 단추로 클릭하고 “Pin to Start”를 클릭하십시오.

이제 홈 디렉토리가 시작 메뉴에 고정되었습니다. 바로 가기를 만들려고했지만 이해할 수없는 곳은 아닙니다.


답변

/etc/environment우분투 16.04를 사용하여 Windows 10 NTFS 저장소 를 찾아야했습니다 . 나는 그것을 여기에서 발견했다.

C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\etc\environment
  • Windows 명명법으로 변경 /mnt/c/했습니다 C:\.
  • 또한 모든 항목을 변경 /하는 \같은 이유.
  • USER_NAMEWindows 사용자 이름 으로 바꿔야 합니다.
  • sudo -H NautilusWSL에 저장된 사용자 파일을 볼 수있는 권한을 얻는 데 사용해야 했습니다.
  • Windows 응용 프로그램을 사용하여 WSL에서 Linux 파일을 업데이트하지 마십시오 . 리눅스 데이터가 손상 될 수 있습니다 .

Linux (Ubuntu 16.04) 측면에서 명명법은 다음과 같습니다.

$ sudo cat /mnt/c/Users/USER_NAME/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc/LocalState/rootfs/etc/environment

PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0