bash
Linux 용 Windows 서브 시스템에서 시작할 때 디렉토리에 놓입니다.
/mnt/c/Users/<username>
나는이 때 ls
이 디렉토리, 내가 디렉토리를 참조 Desktop
, Documents
등 난에 볼 수있는 C:\Users\<username>
Windows 파일 탐색기를 사용하여. 이는 곳이기 때문에 bash
프로그램이 시작,이 내 홈 디렉토리입니다 예상하지만 때 나는 입력하거나 cd
또는 cd ~
내가 가져온입니다
/home/<username>
이는 내 포함 .bashrc
, .profile
등 내가 리눅스 박스에 홈 디렉토리에서 찾을 기대 파일. 또한, 입력 cd ../..
여기에서 나는 디렉토리를 볼 수있다 bin
, etc
등등, 다시 같은 리눅스 박스에서 예상.
이 모든 것에 대해 두 가지 질문이 있습니다.
- 정확히 무엇
/mnt/c/Users/<username>
과 비교C:\Users\<username>
됩니까? 그것들은 같은 것 같습니다. 그래서 무엇/mnt/c/
입니까? /home/<username>
Windows 파일 탐색기 를 사용하여 파일을 보려면 어떻게 합니까? 제가 원했던 것은 아닙니다 .– Windows가이 Subsystem for Linux를 어떻게 구성하고 있는지 느끼려고합니다.
답변
2의 경우 : 현재 경로는 이제 하나의 전역 경로가 아닌 Microsoft Store에서 설치 한 배포와 관련됩니다. 따라서 우분투의 경우 다음 위치에 있습니다.
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
다른 배포판은 아래의 해당 폴더 아래에서 비슷한 위치에 있다고 가정합니다.
%LOCALAPPDATA%\Packages\
답변
/mnt/c
와 정확히 동일합니다C:\
. WSL에서 가져 오는 구문 일뿐입니다.- 에서 찾아보십시오
C:\Users\<username>\AppData\Local\Lxss\rootfs
.
답변
마운트 된 파일 시스템 /mnt/c
- 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>
- 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
없는 경우입니다.
그러나 \lxss
Windows 탐색기 주소 표시 줄에 추가 하면 폴더로 이동합니다.
(주 나는 않았다 하지 이 %LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
나 마이클 채권의 대답에 언급 아무것도 비슷한)
최신 정보
내가 설치 한 레거시 WSL이 있습니다. 이제 WSL은 Microsoft 스토어 앱을 통해 제공됩니다. Ubuntu 18.04 LTS 용 버전이 있으며 현재 Linux의 다른 특징 (예 : 데비안)도 있습니다. 최신 상태를 유지 하려면 레거시 WSL 을 설치 제거 하고 Microsoft store 버전을 설치하십시오 .
홈 폴더의 위치는 설치 한 이러한 WSL 유형에 따라 다릅니다.
답변
- WSL bash 콘솔을 사용하여 홈 디렉토리에서 “test_here.txt”와 같은 임의의 특정 이름을 가진 파일을 작성하십시오.
- 그런 다음 Windows 탐색기를 사용하고 검색 상자를 사용하여 test_here.txt 파일을 검색하십시오.
- 찾은 파일에서> 마우스 오른쪽 단추를 클릭하고 파일 위치 열기를 클릭하십시오.
답변
Windows 10 pro가 데비안 / 우분투 / OpenSUSE $ HOME을 Windows의 시작 메뉴에 고정하는 4 단계 :
- 시작 메뉴에서 파일 탐색기 시작
- 검색 창이 아닌 주소 표시 줄에 % LOCALAPPDATA %를 입력하십시오.
- 검색 창에서 $ HOME 디렉토리 이름을 찾으십시오. 제 경우에는 ekenny였습니다. 이것에는 약 3 가지 버전이 있지만 실제로는 긴 경로를 가진 버전을 원합니다.
- 홈 디렉토리를 마우스 오른쪽 단추로 클릭하고 “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_NAME
Windows 사용자 이름 으로 바꿔야 합니다.sudo -H Nautilus
WSL에 저장된 사용자 파일을 볼 수있는 권한을 얻는 데 사용해야 했습니다.- 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