windows 업데이트 - 업데이트 확인 (windows 2004 이상)
윈도우에 리눅스 서브시스템(WSL)을 설치하면 윈도우 상에서 리눅스 콘솔을 사용할 수 있고 리눅스와 윈도우를 둘 다 사용할 수 있다.
Windows Subsystem for Linux(WSL) 사용법
리눅스에 매번 갈 필요 없이 윈도우를 사용하면서 개발 환경을 꾸릴 수 있는 방법
Chocolatey : 윈도우에서 무언가를 설치하는 것을 도와줌.
설치한 후 잘 작동하는지를 콘솔창에서 바로 확인해 볼 수 있음.
Get started - Now run the following command 복사 - Powershell admin(관리자 권한)으로 실행 -붙여넣기 엔터 - 다시 실행 - choco 입력
chocolatey는 power shell에서 작동한다.
choco는 프로그래밍하듯 무언가를 설치할 수 있다. (MacOS에는 없음)
chocolately.org - find package 클릭 - I understand 클릭 - python검색 - 복사 - 붙여넣기 엔터 - 전체 동의 a
Powershell 껐다가 다시 켜기 - python 엔터 - 잘 설치되었는지 확인
Chocolatey는 설치한 후 잘 작동하는지를 콘솔창에서 바로 확인할 수 있다.
Chocolatey 없이 설치하면 가끔 console 창에 나타나지 않는 경우가 있다.
exit() 엔터로 나가기
Powershell을 대체할 방법 - 윈도우 터미널
MS 스토어에 있는 버전과 다를 수 있다.
chocolately.org - find package 클릭 - I understand 클릭 - wondows terminal 검색 -복사 - 붙여넣기(설치) - 전체 동의 a
windows terminal 실행 - power shell로 변경 - ls 명령어 입력
windows terminal은 power shell처럼 커맨드를 사용할 수 있다.
cd OneDrive 명령어 입력
code .\hello.js 명령어 입력하면 바로 VS Code를 열 수 있다.
clear 명령어 입력
터미널로 가보면 여러 종류의 터미널을 사용할 수 있다. Powershell, 기본 명령 프롬프트, Azure Cloud shell 등
Window Subsystem for Linux(WSL) 추가
Window Subsystem for Linux(WSL)는 리눅스 계열 OS를 설치할 수 있게 해주는데 Ubuntu가 가장 편하고 좋을 것이다.
윈도우 환경에서 리눅스 사용하기
WSL 2 설치
https://docs.microsoft.com/ko-kr/windows/wsl/install-manual
wsl --list --verbose 검색 우분투 버전 확인
wsl --set--version Ubuntu20.04LTS 2 명령어 입력
BIOS의 virtualization 설정 때문에 에러가 생길 수 있다.
BIOS는 컴퓨터의 기초가 되는 펌웨어인데 OS는 BIOS 위에서 동작한다.
가상 머신을 쓰고 있다면 BIOS에다 가상화를 가능하게 하려면 구글 검색을 통해 설정하는 법을 찾아봐야 한다. BIOS에서 가상화를 켜주면 된다. 마더보드가 가상화를 지원하지 않는다면 WSL 2로 진행할 수 없다. WSL를 사용할 수 없는 것이 아니라 버전 2를 사용할 수 없다.
oh my zsh 설치
https://github.com/ohmyzsh/ohmyzsh
우분투에서 설치하는 법(윈도우와 맥에서 설치하는 법과 다름)
윈도우 콘솔에 설치하는 것은 콘솔에서만 사용할 수 있는 것들이다.
다운로드 받거나 더블 클릭해서 실행하는 것은 없다.
apt install zsh를 콘솔에 친다.
admin 유저가 아니라는 오류
리눅스에는 크게 두 가지 유저 타입이 있는데 하나는 일반 유저(생성한 아이디)이고 다른 하나는 super admin(root-파일 시스템을 바꾸거나 기타 등등 안전하지 않은 작업을 하는 권한)이다.
기본값으로 root를 쓰지 않고 아까 만든 아이디를 쓰고 있는데 root를 쓰고 싶다면 sudo apt install zsh 입력
비밀번호 입력
y 입력 - zsh 설치 완료
복사한 커맨드 붙여넣기
sh -c "$(curl -fsSL [https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh](https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh))"
디폴트 쉘을 zsh로 바꿈 - y 입력
비밀번호 입력 - shell의 디폴트가 zsh로 변경됨
code 명령어 입력 - 우분투에 VS Code 서버 설치
https://aka.ms/terminal-color-schemes
터미널을 원하는대로 수정하고 커스터마이징할 수 있다.
terminal splash 사용법 사용법
모든 터미널에 color scheme를 고정시키길 원한다면 “default”에 "colorScheme": "Monokai Night”를 붙이면 된다.
“default”에 명시된 것은 모든 profile에 적용된다.
터미널의 색깔 그리고 모든 다른 도구들의 환경설정 옵션이 제한되어 있기 때문에 Powerlevel10K를 설치해 주어야 한다. Powerlevel10K는 zsh를 위한 테마이다.
https://github.com/romkatv/powerlevel10k
"colorScheme": "Monokai Night",
"fontFace":"MesloLGS NF"
ls colors 변경
WSL과 리눅스 콘솔에 익숙해지는 것을 목표로 한다.
리눅스와 윈도우가 같은 컴퓨터 안에 존재할 때 지켜야 할 수칙
명령어 ls - 디렉토리의 목록을 보여줌(list라는 의미).
tab 키를 누르면 옵션을 선택할 수 있다.
폴더 이름을 쓸 때 앞의 몇 글자만 써넣고 탭을 누르면 자동완성이 된다.
명령어 clear
명령어 cd - 현재 디렉토리에서 빠져나올 때(change directory.디렉토리 변경하기)
명령어 cd .. - 상위폴더
root 디렉토리 - 리눅스의 최상위 지점.
mnt - mount. 리눅스 폴더 중 가장 중요한 폴더
mnt로 들어가서 ls 해보면 윈도우 파일을 건들 수 있다.
리눅스에서는 원한다면 무슨 파일이든지 수정할 수 있다.
명령어 touch 파일이름 - 새로운 파일 생성
명령어 code 파일이름 - VS Code에서 파일 실행
리눅스 콘솔에서 윈도우 하드 드라이브 내에 새로운 파일을 생성시켰다.
WSL로 작업할 때 파일을 윈도우에 두는 방법과 윈도우에 생성하지 않는 방법(리눅스의 home 디렉토리로 가서 거기에 모든 프로젝트와 코드를 둔다.)이 있다.
파일들을 윈도우쪽에 저장해두는 것을 권장한다. WSL에 문제가 생기더라도 파일들을 잃을 위험이 없다.
하지만 우분투의 home 디렉토리에 파일을 두는 것을 선호하는 사람들도 있다.
리눅스 콘솔에서 윈도우에 있는 파일을 건드릴 수 있다. 하지만 윈도우에서 리눅스에 있는 파일을 건드리면 무언가 망가질 수 있다. 즉, 윈도우에서는 그 어떤 리눅스 파일도 건드리지 않는 것이 좋을 것이다.
리눅스와 우분투에 대해 좋은 것들 중에 하나는 파이썬3이 함께 설치되어 온다는 점이다.
우분투에서 무언가를 설치하는 것은 쉽다. 대부분 웹사이트에서 필요한 명령어들을 제공해주고 있기 때문이다.
우분투에서는 콘솔을 통해서 모든 것을 설치한다.
apt-get - 패키지들의 인스톨러. 시스템에 무언가를 설치할 때 사용
예를들어, sudo(root권한. admin권한) - 이 쉘이 어드민 유저가 아닌 상태에서 실행될 때 이 쉘을 실행하고 있는 것은 우분투를 설치했을 때 만든 andn8740 유저일 때 사용
리눅스 콘솔에는 두 가지 유저가 있다.
하나는 root 유저로 뭐든지 할 수 있다. 어떤 파일이든 지울 수 있다.
하나는 내가 만든 유저. andn8740 - 어떤 일들은 할 수 없다. 많은 것을 할 수 있지만, 모든 일을 할 수 있는 것은 아니다.
명령어 whoami - 유저네임이 무엇인지 알려준다.
만약 어드민이 되어야 할 필요가 있는 경우 sudo라는 명령어를 사용한다.
sudo는 어드민으로 만들어준다.
예시 ) sudo apt-get install openssl
이런 설치과정은 chocolately와 비슷하다.
명령어 sudo apt-get upgrade - 패키지 업그레이드 - y
https://github.com/nodesource/distributions/blob/master/README.md#deb
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
명령어 sudo apt-get install nodejs -
apt-get update는 apt-get이 찾아볼 수 있는 프로그램들의 데이터베이스를 업데이트하는 명령어이다.
apt-get이 node.js를 설치하지 못한 이유는 apt-get에게 알려주지 않았기 때문이다.
만약 yarn을 설치하길 원한다면 sudo apt-get install -y nodejs
입력
node -v로 버전확인
설치가 가능했던 이유는 어디에 node.js가 존재하는지 알아차리도록 만들어준 것이다.
https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
deadsnake - 우분투를 위한 파이썬을 제공해줌.
apt가 검색할 수 있는 범위를 확장하는 방법
apt가 패키지들을 검색할 수 있는 새로운 저장소들을 추가할 수 있다.
apt-get에 새로운 PPA를 추가
apt는 패키지를 다운로드할 수 있도록 해준다. 그리고 패키지의 데이터베이스에서 필요한 것을 찾는다. 때때로 그 데이터베이스에는 우리가 원하는 패키지가 없을 때도 있다. 그래서 우리는 다른 누군가의 데이터베이스를 추가할 필요가 있다.
우리는 deadsnakes의 개인 패키지 저장소(persnal package archive,즉 PPA)를 추가할 것이다.
sudo add-apt-repository ppa:deadsnakes/ppa
명령어 입력
apt에게 deadsnakes의 데이터베이스를 통해서도 패키지를 얻기를 원한다고 알려준다.
sudo apt-get update
이 업데이트를 통해 apt는 여기 다운로드할 수 있는 새로운 패키지가 있네 하고 깨닫게 된다.
sudo apt-get install python3.8 입력
deadsnakes의 PPA에서 파이썬을 찾는다.
새로운 PPA 또는 새로운 소스를 apt 데이터베이스에 추가 시켜야 할 때
apt가 하나 이상의 데이터베이스에서 패키지들을 찾아볼 수 있게 된다.
python을 입력했을 때 바로 python3.8로 가는 방법
콘솔에서 alias를 사용하는 방법
콘솔을 직접 수정할 때 쓰는 파일 - code ~/.zshrc에
alias python=python3.8 입력 저장
우리는 WSL, 즉 우분투에서 코딩을 하고 있기 때문에
리눅스에서 사용할 수 없는 것
MongoDB는 윈도우 상에 설치해야 한다.
명령어 mkdir - make directory(디렉토리를 만들어라)
명령어 touch - 파일 생성
명령어 mv - 파일 이름 변경
mv 파일이름 변경할파일이름
명령어 rm - 제거
폴더를 지울 때는 rm -rf 폴더이름
깃 환경설정과 깃헙 CLI 설치
깃헙 CLI는 github.com에 가지 않고도 깃헙과 소통할 수 있도록 해준다.
콘솔 상에서 repository도 만드는 등을 할 수 있다.
깃허브 CLI는 공식적인 커맨드라인 툴이다.
커맨드라인에서 깃헙의 현재 상태를 눈으로 볼 수 있다.
이슈 리스트를 볼 수 있고 커밋할 수 있고 repository도 만들 수 있다.
https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt
서로 다른 node.js 버전을 관리할 수 있는 방법(nvm 설치)
nvm은 다수의 node.js 버전을 관리하는 bash 스크립트이다.
https://github.com/nvm-sh/nvm#installing-and-updating
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
명령어 실행zsh는 nvm을 설치했는지 모르기 때문에
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
를 복사해서 .zshrc 파일에 추가해준다.
어떤 명령어를 추가하고 싶을 때는 zshrc에 추가하면 된다. 이 파일을 통해서 콘솔에서 쓰이는 모든 명령어를 정의할 수 있다.
nvm 사용법 - 여러 버전 관리
nvm ls-remote - 사용할 수 있는 버전 확인
LTS(long-term-support) - 장기적 지원. LTS는 적어도 4년간 지원해주기 때문에 LTS를 사용하는 것이 좋다.
nvm install —lts 사용하려는버전의이름
nvm install v16.14.2(사용하려는 버전) - 리눅스 버전으로 설치됨
nvm use v12.18.2 - 이전 버전 사용
버전이 설치되어 있지 않다고 하는 경우 nvm이 이전에 썼던 node.js 버전을 인식하지 못하는 것이다.
nvm을 써서 v12.8 설치하기 위해 nvm ls-remote --lts로 LTS 버전만 보이도록 한다. (마이너 버전 없이 long-term support만)