WSL2

Wsl2이란 ?

Window 에서 리눅스를 실행할 수 있게 해주는 호환성 계층

왜 WSL2 인가 ?  

- WSL1과 달리 실제 Linux 커널을 사용하며, Docker 지원이 네이티브함 

Linux 의 필요도

   
서버환경 대부분의 서버가 Linux로 운영 EX) AWS. GCP 등
Docker Docker가 Linux기반 기술(window에서는 WSL2가 필요
오픈소스 도구 Kafka, Spark 등 대부분 Linux 우선 지원
개발자 도구 패키지 관리, 쉘 스크립트 등의 편리

 

Wsl2 설치

1. 가상화 기능 활성화

window powershell을 관리자 권한으로 실행

2. 아래 명령어로 WSL 설치

wsl --install

3. Ubuntu 배포판 설치

window 스토어에 해당 버전 ubuntu 설치

* 실행 완료 후 컴퓨터 재시작

재시작 후 아래와 같이 사용자 이름을 입력하라고 나오면 원하는 이름과 비밀번호를 입력하면된다(비밀번호는 터미널에 보이지않아 신중하게 설정해야한다)

Enter new UNIX username:

4. VScode와 터미널 연결

VS code 터미널과 연결하여 더욱 간편하게 Linux 명령어를 입력할수 있다.

먼저 WSL Extension을 설치한다

이후 ctrl+p 검색으로 connet wsl 클릭 -> 연결완료가 되면 사진과 같이 왼쪽 하단에 파란색버튼이 보일것이다.

하단에 연결된 버전이 설치한 Ubuntu인지 확인

만약 버전이 다르다면 powershell로 들어가 아래와 같이 실행한다.

만약 다른 버전에 *표시가된 경우 위와같이 버전 벼경

이후 새 터미널 생성

기본 bash

다음으로 open folder 을 클릭하여 /mnu/c/{설정한 username} 입력후 ok 클릭


Linux 명령어 실습

1. 현재 위치 확인

pwd # 현재 위치 확인

2. 파일/폴더 목록 조회

# 기본 목록 조회 (이름만)
ls

# 상세 정보 
ls -l 

# 숨김 파일 포함 (숨김파일은 .으로 시작함)
ls -a 

# 상세정보 + 숨김파일 + 크기조정 
ls -lah

파일 목록의 상세정보 조회 포맷은 다음과 같다

3. 디렉토리 이동

경로 이동시 경로가 ./ 으로 시작하면 현재 디렉토리 내의 경로 이동하라고 강조명령 할수 있음

# 홈 디렉토리 이동
cd ~

# 상위 디렉토리로 이동
cd ..

# 특정 경로로 이동
cd /home/root/document

# 이전 디렉토리로 돌아가기 
cd -

4. 디렉토리 생성

# 디렉토리 생성
mkdir my_project

# 중첩 디렉토리 한 번에 생성
mkdir -p project/data-engineering/day01

 

mkdir -p data-engineer/day01/{scripts,data,logs} 명령어 실행시 {}내 ,간의 띄어쓰기 x

** 띄어쓰기 된 폴더들은 day01 하위 폴더가 아닌 개별 폴더로 생성

5. 빈 파일 생성

touch 파일명.확장자

6.파일/폴더 복사

# 파일 복사
cp 원본파일명 복사본파일명

# 디렉토리 복사
cp -r 원본디렉토리명 복사본디렉토리명

7. 삭제하기

# 파일 삭제
rm hello.txt

# 디렉토리 삭제 (-r: recursive)
rm -r my_project

# 강제 삭제 (확인 없이) - ⚠️ 주의!
rm -rf my_project

8.파일 내용 확인

# 파일 전체 출력
cat hello.txt


# ----------------------------------------------------

# 앞에서 10줄(기본) 출력 
head hello.txt

# 앞에서 5줄 출력
head -n 5 hello.txt

# 뒤에서 10줄(기본) 출력 
tail hello.txt

# 뒤에서 5줄 출력 
tail -n hello.txt

# ----------------------------------------------------

# 실시간 로그 모니터리 
tail -f /var/log/syslog

9. 파일검색하기

# 현재 디렉토리에서 특정 확장자(ex. .py) 파일찾기
find . -name "*.py"

# /home 에서 hello.txt 찾기
find /home -name "hello.py"

10. 파일 내 텍스트 검색

# 파일(log.txt)에서 "error" 찾기 (존재시 텍스트 출력)
grep "error" log.txt 


# 대소문자 무시 
grep -i "error" log.txt 

# 재귀적으로 모든 파일에서 찾기
grep -r "import"

# 줄번호 표시 
grep -n "error" log.txt

11. 그외 기타 명령어

# 1. 텍스트 출력
echo "Hello" # 출력 
echo "Hello" > hello.txt # 덮어쓰기
echo "Hello" >> hello.txt # 추가


# 2. 화면 지우기 
clear


# 3. 지난 명령어 보기
history

# 4. 파이프 | (명령어 연결)
ls -la | grep ".py" # ls 결과에서 .py파일만 보기

ls | wc -l  # 파일 개수 세기

+ Recent posts