Windows (및 Bash의 Windows 시스템 드라이브)에서 Ubuntu Bash 파일에 액세스하는 방법

Store에서 설치하는 Linux 환경 (예 : Ubuntu 및 openSUSE)은 파일을 숨겨진 폴더에 보관합니다. 이 폴더에 액세스하여 파일을 백업하고 볼 수 있습니다. Bash 셸에서 Windows 파일에 액세스 할 수도 있습니다.

업데이트 : Windows 10의 2019 년 5 월 업데이트 부터 이제 Windows 애플리케이션에서 Linux 파일에 액세스 할 수있는 공식적이고 안전한 방법이 있습니다.

Windows 도구로 Linux 파일을 수정하지 마십시오

Microsoft는 Windows 소프트웨어로 Linux 파일을 추가하거나 수정하지 않도록 강력히 경고합니다. 이로 인해 메타 데이터 문제 또는 파일 손상이 발생할 수 있으며 문제를 해결하기 위해 Linux 배포를 제거하고 다시 설치해야 할 수 있습니다. 그러나 Windows 소프트웨어를 사용하여 Linux 파일을보고 백업 할 수 있으며 문제가 발생하지 않습니다.

즉, Linux 폴더를 Windows 내에서 읽기 전용 인 것처럼 취급하십시오. 그래픽 앱이나 명령 줄 도구를 포함한 Windows 도구를 사용하여 수정하지 마십시오. Windows 도구를 사용하여 이러한 폴더 내에 새 파일을 만들지 마십시오.

Linux 및 Windows 환경 모두의 파일로 작업하려면 Windows 파일 시스템에서 만들어야합니다. 예를 들어 Windows의 C : \ project에 폴더가있는 경우 Linux 환경의 / mnt / c / project에서도 액세스 할 수 있습니다. Windows 파일 시스템에 저장되고 / mnt / c에서 액세스되기 때문에 Windows 또는 Linux 도구를 사용하여 파일을 수정하는 것이 안전합니다.

Windows가 Linux 파일을 저장하는 위치

Linux 파일 시스템은 Microsoft에서 사용자가 변경하는 것을 원하지 않기 때문에 숨겨진 폴더에 저장됩니다. 그러나 일부 파일을 보거나 백업해야하는 경우 숨겨진 폴더에 저장된 파일을 찾을 수 있습니다. 액세스하려면 파일 탐색기를 열고 다음 주소를 주소 표시 줄에 연결하십시오.

% userprofile % \ AppData \ Local \ Packages

(이렇게하면으로 C:\Users\NAME\AppData\Local\Packages이동합니다. 원하는 경우 파일 탐색기에 숨겨진 폴더를 표시하고 여기에서 수동으로 탐색 할 수도 있습니다.

이 폴더에서 파일을 보려는 Linux 배포 용 폴더를 두 번 클릭합니다.

  • Ubuntu : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  • openSUSE Leap 42 : 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  • SUSE Linux Enterprise Server 12 : 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

이러한 폴더의 이름은 나중에 약간 변경 될 수 있습니다. Linux 배포판의 이름을 딴 폴더를 찾으십시오.

Linux 배포 폴더에서 "LocalState"폴더를 두 번 클릭 한 다음 "rootfs"폴더를 두 번 클릭하여 파일을 확인합니다.

즉, 파일은 다음 위치에 저장됩니다.

C : \ Users \ NAME \ AppData \ Local \ Packages \ DISTRO_FOLDER \ LocalState \ rootfs

참고 : 이전 버전의 Windows 10에서는 이러한 파일이 C : \ Users \ Name \ AppData \ Local \ lxss에 저장되었습니다. 이것은 Fall Creators Update부터 변경되었습니다.

홈 폴더에 저장된 파일을 보려면 "home"폴더를 두 번 클릭 한 다음 UNIX 사용자 이름을 두 번 클릭합니다.

이러한 파일을 수정하거나 파일 탐색기에서 이러한 폴더에 파일을 추가하지 마십시오.

Linux에서 Windows 시스템 드라이브가 나타나는 위치

Linux 용 Windows 하위 시스템을 사용하면 전체 Windows 시스템 드라이브를 사용할 수 있으므로 두 환경에서 동일한 파일로 작업 할 수 있습니다. 그러나 Bash 환경은 C : \ 드라이브에 사용자를 덤프하지 않습니다. 대신 Linux 환경의 파일 시스템에있는 UNIX 계정의 홈 디렉토리에 사용자를 배치합니다.

Windows 시스템 드라이브 및 기타 연결된 드라이브는 / mnt / 디렉토리에 표시되며 다른 드라이브는 일반적으로 Linux 디렉토리 구조에서 사용할 수 있습니다. 특히 Bash 환경의 다음 위치에서 C : 드라이브를 찾을 수 있습니다.

/ mnt / c

cd명령 을 사용하여이 디렉토리로 변경하려면 다음을 입력하십시오.

cd / mnt / c

D : 드라이브가있는 경우 / mnt / d 등에 있습니다.

예를 들어 C : \ Users \ Chris \ Downloads \ File.txt에 저장된 파일에 액세스하려면 Bash 환경에서 /mnt/c/Users/Chris/Downloads/File.txt 경로를 사용합니다. 예, 대소 문자를 구분하므로 "다운로드"가 아닌 "다운로드"가 필요합니다.

관련 : Linux 용 Windows 하위 시스템에서 이동식 드라이브 및 네트워크 위치를 마운트하는 방법

Linux 환경에서 더 많은 파일에 액세스하기 위해 외장 드라이브 및 네트워크 위치를 마운트 할 수도 있습니다.

Windows 시스템 파일에 액세스 할 때 Bash 셸 환경에는 시작된 권한이 있습니다. 바로 가기에서 정상적으로 시작했다면 Windows 사용자 계정과 동일한 파일 액세스 권한을 갖게됩니다.

예를 들어, 사용자 계정에 액세스 권한이없는 시스템 폴더에 액세스하려면 Bash 셸 바로 가기를 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택하여 Windows 관리자 권한으로 Bash 셸을 시작해야합니다. .

이는 관리자 전용 파일에 대한 쓰기 권한이 필요하거나 시스템 파일에 대한 쓰기 권한이 필요한 경우 관리자로 시작해야하는 명령 프롬프트와 동일하게 작동합니다. sudoBash 환경 에서만 사용할 수는 없습니다 .