파일 시스템 차이 비교
WSL2에서는 Ubuntu 기준으로 대소문자를 구분하므로 파일명을 정확히 입력해야 합니다.
| 항목 | Ubuntu (WSL2) | Windows |
|---|---|---|
| 기본 구조 | / 기반 단일 트리 | 드라이브 기반 (C:\, D:\) |
| 경로 구분자 | / (forward slash) | \ (backslash) |
| 드라이브 인식 | /mnt/c, /mnt/d 등 | C:\, D:\ |
| 홈 디렉토리 | /home/username | C:\Users\username |
| 환경 변수 | $HOME, $PATH | %USERPROFILE%, %PATH% |
| 실행 여부 | 권한으로 판단 (chmod) | 확장자 기반 (.exe, .bat) |
| 대소문자 구분 | 구분함 (/home/user ≠ /home/User) | 구분하지 않음 (C:\Data = C:\DATA) |
리눅스의 기본 디렉토리 구조
Ubuntu의 루트 디렉토리(/)는 하나의 트리 구조로 구성되며, 모든 경로는 /에서부터 시작합니다. 주요 디렉토리의 역할은 다음과 같습니다:
| 디렉토리 | 설명 |
/ | 루트 디렉토리. 최상위 경로로서 모든 경로의 시작점 |
/home | 일반 사용자 계정의 홈 디렉토리 (/home/username) |
/etc | 설정 파일 및 시스템 환경 구성 파일 |
/var | 로그 및 실행 중 생성되는 가변 데이터 (/var/log, /var/tmp 등) |
/usr | 사용자 공간 프로그램 및 라이브러리 (/usr/bin, /usr/lib 등) |
/bin, /sbin | 기본 명령어가 포함된 디렉토리 (ls, cp, sudo, mount 등) |
/tmp | 임시 파일 저장소 (재부팅 시 초기화됨) |
예시: 사용자 홈 디렉토리
shell
pwd
# 출력 예: /home/devuserWindows와 WSL2의 파일 경로 연동 (WSL2)
WSL2 환경에서는 Windows와 Linux 파일 시스템이 서로 접근 가능합니다. 이 구조를 이해하면, Windows에서 만든 파일을 Ubuntu에서 불러오거나, Ubuntu에서 처리한 결과를 바로 Windows에서 확인할 수 있습니다. WSL2 환경에서는 Windows 파일 시스템이 /mnt/ 하위 경로에 자동으로 마운트됩니다.
| Windows 경로 | Ubuntu (WSL2) 경로 |
|---|---|
C:\Users\Samlee\Desktop\test.txt | /mnt/c/Users/Samlee/Desktop/test.txt |
D:\data\model | /mnt/d/data/model |
① Linux에서 Windows 폴더 접근하기: /mnt/c/...
Ubuntu 내부에서 Windows 폴더에 접근하려면, /mnt/c/, /mnt/d/ 등의 마운트 지점을 이용합니다.
예:
shell
cd /mnt/c/Users/YourUser/Documents
ls- Windows의
C:\Users\YourUser\Documents경로에 해당 - 역슬래시()는 사용하지 않으며, 모두 슬래시(/)로 작성해야 함
- 대소문자 구분에 유의할 것 (
Documents≠documents)
② Windows에서 Ubuntu 내부 접근하기: \\wsl$
반대로, Windows에서 Linux 파일 시스템에 접근하려면:
- Windows 파일 탐색기 실행
- 주소창에 다음 입력 후 Enter
- 설치된 WSL2 배포판 목록이 표시되며, 예를 들어
Ubuntu-24.04를 클릭하면 다음 경로로 이동 가능:
- 여기서
youruser는 Ubuntu에서 설정한 사용자 계정 이름 - 이 폴더 내부에 Ubuntu에서 만든
.py,.txt파일이 나타납니다 - 이 방식은 Windows GUI 기반 작업 중, Ubuntu 결과물을 열어보고자 할 때 매우 유용합니다.
실행 권한과 파일 속성 차이
Ubuntu에서는 파일이 존재한다고 해서 실행할 수 있는 것이 아닙니다. 파일은 읽기/쓰기/실행 권한을 별도로 관리합니다.
shell
ls -l script.sh
# 예: -rw-r--r-- 1 devuser devuser 2048 Jan 1 10:00 script.sh
chmod +x script.sh→ 실행 권한 부여- 실행:
./script.sh또는bash script.sh
Windows에서는 .exe 또는 .bat 확장자로 실행 여부가 판단되지만, Ubuntu는 확장자에 구애받지 않고 권한에 따라 실행 가능 여부가 결정됩니다.