WSL(Windows Subsystem for Linux)은 윈도우 10에서 네이티브 환경으로 구동되는 리눅스 운영체제입니다. 리눅스의 명령어 체계를 사용할 수 있을 뿐만 아니라 유명한 배포판인 우분투(Ubuntu) 및 데비안(Debian) 등을 지원함으로서 윈도우에서 불가능했던 개발 환경 구축이 가능해졌습니다.
WSL은 윈도우 10의 앱스토어인 마이크로소프트 스토어(Microsoft Store)에서 무료로 다운로드할 수 있습니다. WSL 앱은 유니버셜 앱 스타일로 설치 및 구성되므로 사용자 데이터와 설정 환경은 앱을 삭제하는 순간 같이 지워지게 됩니다.
WSL 파일들이 위치한 경로는 어디일까?
먼저 최신 버전 기준으로 알려드리겠습니다. 설치된 WSL의 데이터는 다음 경로에 저장됩니다.
주의 : 하단에서도 설명하겠지만, 안정성의 문제로 윈도우에서 해당 경로로 이동하여 파일을 열어보거나 편집해서는 안됩니다. 하단의 기술된 경로는 참고용으로만 봐주세요.
Ubuntu 18.04 LTS
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Debian 9
C:\Users\%USERNAME%\AppData\Local\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs
openSUSE Leap 42
C:\Users\%USERNAME%\AppData\Local\Packages\46932SUSE.openSUSELeap42.2_022rs5jcyhyac\LocalState\rootfs
Kali Linux
C:\Users\%USERNAME%\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState\rootfs
각 배포판별로 공통으로 볼 수 있는 것은 경로가 C:\Users\%USERNAME%\AppData\Local\Packages\
까지는 같다는 것입니다.
만약 경로 중 일부분이(예 : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc) 업데이트되면서 바뀔 수 있으므로 만약 경로를 못찾는다면 C:\Users\%USERNAME%\AppData\Local\Packages\
에서 나머지 경로를 찾아보시는 것도 좋습니다. 예를 들어 Ubuntu인 경우 CanonicalGroupLimited
문구는 똑같이 존재할 수 있을 것입니다.
또한 위 경로에서 %USERNAME%
은 시스템 환경 변수이므로 만약 PC의 로그인 된 사용자 이름이 ‘hello’인 경우 %USERNAME%
대신 hello
를 넣어서 사용해도 좋습니다.
Windows 10 이전 버전을 사용 중인 경우
만약 Windows 10의 버전이 구버전인 경우, WSL 데이터 경로가 위와 다를 수 있습니다. (아마 RedStone 4 버전으로 불리는 1803 및 그 이하 버전이 해당 될 것입니다.)
여기서는 Ubuntu 배포판 경로를 기준으로 알려드리겠습니다. 이 경로는 더 이상 사용되지 않으므로 가급적이면 최신 버전의 윈도우에서 WSL을 설치하는 것이 좋습니다.
C:\Users\%USERNAME%\AppData\Local\lxss\
마찬가지로 %USERNAME%
에 사용자 이름을 넣을 수도 있습니다.
AppData - Local
경로는 숨겨진 폴더이므로, 파일 탐색기 – 보기 항목에서 숨긴 항목을 체크하여 주셔야 합니다.
경로는 알았지만, 사용하지는 말 것!
참고: 아래 내용은 WSL1(Windows 10 1909 까지의 WSL)에 대한 내용입니다. Windows 10 2004 버전 부터 사용되는 WSL2는 파일 편집이 가능하도록 설계되었기 때문에 문제 없이 리눅스 파일을 편집해도 좋습니다.
WSL 앱이 사용하는 데이터 폴더의 경로 내의 모든 파일들은 UNIX 시스템에서 사용되는 파일 형식으로 저장되어 있습니다. 마이크로소프트의 윈도우 10은 상기했던 파일과 다른 파일 시스템을 사용하므로 가능하면 두 운영체제 간의 동시 작업을 진행하지 않는 것이 좋습니다.
예를 들면, 리눅스 내에서 생성/편집한 파일은 윈도우 파일 경로로 내보내지 않는 것이 좋습니다. 또한 윈도우에서 상단의 경로에 직접 들어가 파일을 열어보거나 편집해서는 안됩니다.
그렇지만 반대로 윈도우의 파일을 리눅스 시스템에서 편집하는 것에 대해 큰 문제가 발생하지는 않습니다.
리눅스 시스템 내에서 윈도우 파일에 접근하려면, 다음 경로로 이동하면 됩니다.
/mnt/c
예를 들어 현재 사용자(hello라고 가정)의 바탕화면 경로로 이동하려면 다음과 같이 입력하면 됩니다.
$ cd /mnt/c/Users/hello/Desktop
다만 아래 이미지와 같이 몇몇 파일의 권한 정보나 보기 상태가 잘못 나타나는 경우가 있습니다. (사용 상의 큰 문제는 없을 것입니다.)
이런 방법으로 윈도우 파일에 접근할 수는 있지만 가급적이면 자신의 운영체제에서 관리되지 않는 파일은 함부로 건드리지 않는 것이 좋습니다.