[TIL] 211116

Lee SyongΒ·2021λ…„ 11μ›” 16일
0

TIL

λͺ©λ‘ 보기
90/204
post-thumbnail

πŸ“ 였늘 ν•œ 것

  1. μœˆλ„μš° μ…‹μ—… - μš°λΆ„νˆ¬ / zsh, oh my zsh / powerlevel10k

  2. λ¦¬λˆ…μŠ€ 디렉토리 / apt-get / PPA(personal package achive)


πŸ“š 배운 것

1. μš°λΆ„νˆ¬ μ»€μŠ€ν„°λ§ˆμ΄μ§•

1) μœˆλ„μš° ν„°λ―Έλ„μ˜ defaultProfile λ³€κ²½

μš°λΆ„νˆ¬λ₯Ό μ»€μŠ€ν„°λ§ˆμ΄μ§• ν•˜κΈ° μœ„ν•΄ μœˆλ„μš° 터미널 νƒ­μ˜ 섀정을 ν΄λ¦­ν•œ ν›„ ν™”λ©΄ μ™Όμͺ½μ— μžˆλŠ” 'json 파일 μ—΄κΈ°'λ₯Ό λˆ„λ₯΄λ©΄ VS code둜 setting.json 파일이 μ—΄λ¦°λ‹€. μ—¬κΈ°μ—μ„œ defaultProfile의 값을 κ·Έ μ•„λž˜ Profiles의 Ubuntu guid의 κ°’μœΌλ‘œ μˆ˜μ •ν•œλ‹€. 이제 μœˆλ„μš° 터미널을 μ‹€ν–‰ν•˜λ©΄ 기본적으둜 μš°λΆ„νˆ¬κ°€ μ‹€ν–‰λœλ‹€.

2) zsh / oh my zsh μ„€μΉ˜

  • zshλ₯Ό μ„€μΉ˜ν•œλ‹€.
    β€» κ΄€λ¦¬μž κΆŒν•œμœΌλ‘œ μ»€λ§¨λ“œλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ λͺ¨λ“  μ»€λ§¨λ“œ μ•žμ— ( sudo ) λ₯Ό λΆ™μ—¬μ•Ό ν•œλ‹€.
sudo apt install zsh
  • oh my zshλ₯Ό μ„€μΉ˜ν•œλ‹€.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • 이제 μƒˆ 탭을 μ—΄λ©΄ default shell이 oh my zsh둜 λ³€κ²½λœ 것을 확인할 수 μžˆλ‹€.
    μ΄μ–΄μ„œ λ°”νƒ•ν™”λ©΄μœΌλ‘œ μ™€μ„œ(cd Desktop) codeλ₯Ό μž…λ ₯ν•΄ VS code μ„œλ²„λ₯Ό μš°λΆ„νˆ¬μ— μ„€μΉ˜ν•œλ‹€.
cd Desktop
code

3) μœˆλ„μš° 터미널 μ»€μŠ€ν„°λ§ˆμ΄μ§• - powerlevel10k 이용

Termianl Splashμ—μ„œ μ›ν•˜λŠ” ν…Œλ§ˆλ₯Ό 골라 ν•΄λ‹Ή codeλ₯Ό λ³΅μ‚¬ν•œ ν›„ setting.json 파일의 schemes에 λΆ™μ—¬λ„£κΈ° ν•œλ‹€. κ·Έ ν›„ profiles defaults에 "colorScheme": "μ„ νƒν•œ ν…Œλ§ˆ 이름"을 μΆ”κ°€ν•˜λ©΄ 터미널이 μ»€μŠ€ν„°λ§ˆμ΄μ§• λœλ‹€.

κ·ΈλŸ¬λ‚˜ μ‹€μ œ μ„ νƒν•œ ν…Œλ§ˆμ™€λŠ” 쑰금 차이가 μžˆμ„ 것이닀. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 터미널에 μ•„λž˜ μ½”λ“œλ₯Ό μž…λ ₯ν•΄ powerlevel10kλ₯Ό μ„€μΉ˜ν•œλ‹€.

sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

VS codeμ—μ„œ .zshrc 파일이 μ—΄λ¦°λ‹€. μ΄λŠ” oh my zsh 터미널을 μ»€μŠ€ν„°λ§ˆμ΄μ§• ν•˜κΈ° μœ„ν•œ νŒŒμΌμ΄λ‹€. ZSH_THEME 뢀뢄을 ZSH_THEME="powerlevel10k/powerlevel10k"둜 μˆ˜μ •ν•œλ‹€.

κ·Έ ν›„ MesloLGS NF 폰트λ₯Ό μ„€μΉ˜ν•œ ν›„ setting.json 파일의 profiles defaults에 "fontFace": "MesloLGS NF"λ₯Ό μΆ”κ°€ν•œλ‹€.

μœˆλ„μš° 터미널을 μ’…λ£Œν–ˆλ‹€κ°€ λ‹€μ‹œ 켜면 ν„°λ―Έλ„μ—μ„œ powerlevel10k configuration wizardκ°€ μ‹€ν–‰λœλ‹€. μ›ν•˜λŠ” λŒ€λ‘œ μ˜΅μ…˜μ„ μ„ νƒν•˜μ—¬ 터미널 μ»€μŠ€ν„°λ§ˆμ΄μ§•μ„ μ™„λ£Œν•œλ‹€.

4) VS code 터미널 μ»€μŠ€ν„°λ§ˆμ΄μ§•

κ°•μ˜λŒ€λ‘œ λ”°λΌν•˜λ‹€κ°€ λ§‰νžˆλŠ” 뢀뢄이 μžˆμ–΄μ„œ λ”°λ‘œ κ²€μƒ‰ν–ˆλ‹€.
κ°•μ˜λŒ€λ‘œ μ§„ν–‰ν•˜μ§„ μ•Šμ•˜μ§€λ§Œ, λ‹€λ₯Έ λΈ”λ‘œκ·Έλ₯Ό μ°Έκ³ ν•΄ VS code의 κΈ°λ³Έ 터미널을 WSL둜 μ„€μ •ν–ˆλ‹€.
VSCode μ—μ„œ Default Terminal을 WSL둜 μ„€μ •ν•˜λŠ” 법 μ°Έκ³  (Windows 10 + VSCode + WSL2 (Ubuntu 20.04) ν™˜κ²½ κΈ°μ€€)

5) ls color λ³€κ²½

μœˆλ„μš° 터미널 상단 νƒ­ - μ„€μ • - json 파일 μ—΄κΈ° - setting.json 파일 - 맨 끝에 LS_COLORS="ow=01;36;40" && export LS_COLORS μž…λ ₯


2. μš°λΆ„νˆ¬ μ΄μš©ν•˜κΈ°

1) λ¦¬λˆ…μŠ€ κΈ°λ³Έ λͺ…λ Ήμ–΄

ls (list directory)

ν•΄λ‹Ή λ””λ ‰ν† λ¦¬μ˜ 파일 및 폴더 λͺ©λ‘μ„ 보여쀀닀

cd (change directory)

ν•΄λ‹Ή λ””λ ‰ν† λ¦¬μ˜ μœ„, μ•„λž˜ ν΄λ”λ‘œ μ΄λ™ν•œλ‹€
Tab ν‚€λ₯Ό λˆ„λ₯΄λ©΄, ν˜„μž¬ λ””λ ‰ν† λ¦¬μ—μ„œ 이동할 수 μžˆλŠ” 폴더 λͺ©λ‘μ„ 보여쀀닀

cf. 파일 λ˜λŠ” 폴더 μ΄λ¦„μ˜ μΌλΆ€λ§Œ μž‘μ„±ν•œ ν›„ Tab ν‚€λ₯Ό λˆ„λ₯΄λ©΄, 같은 λ¬Έμžμ—΄λ‘œ μ‹œμž‘ν•˜λŠ” 파일 및 폴더 λͺ©λ‘μ„ 보여쀀닀

touch new_file.js

νŒŒμΌμ„ μƒμ„±ν•œλ‹€

code new_file.js

VS codeμ—μ„œ 파일 μ—΄κΈ°

2) λ¦¬λˆ…μŠ€ 디렉토리

  • πŸ”“

    λ¦¬λˆ…μŠ€μ˜ μ΅œμƒμœ„ 지점인 root 디렉토리
    μ—¬κΈ°μ„œ lsλ₯Ό μž…λ ₯ν•˜λ©΄, 'λ¦¬λˆ…μŠ€μ™€ κ΄€λ ¨λœ 폴더 및 νŒŒμΌλ“€'이 λ‚˜μ˜¨λ‹€. (home, mnt λ“±)

  • πŸ”“ /home

    λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ˜ ν™ˆ 디렉토리
    μ—¬κΈ°μ„œ lsλ₯Ό μž…λ ₯ν•˜λ©΄, 'λ¦¬λˆ…μŠ€ ν™˜κ²½ μ‚¬μš©μž 이름 폴더'κ°€ λ‚˜μ˜¨λ‹€.

  • πŸ”“ /mnt

    mntλž€ mountλ₯Ό λ§ν•œλ‹€. mountλŠ” λ””μŠ€ν¬μ™€ 같은 물리적인 μž₯치λ₯Ό λ¦¬λˆ…μŠ€ μ•ˆμ˜ νŠΉμ • μœ„μΉ˜, 즉 디렉토리에 μ—°κ²°μ‹œμΌœμ£ΌλŠ” μž‘μ—…μ„ 가리킨닀.
    μ—¬κΈ°μ„œ lsλ₯Ό μž…λ ₯ν•˜λ©΄, 'μœˆλ„μš°μ˜ C λ“œλΌμ΄λΈŒ' 등이 λ‚˜μ˜¨λ‹€.

  • πŸ”“ /mnt /c

    μœˆλ„μš°μ˜ C λ“œλΌμ΄λΈŒ
    μ—¬κΈ°μ„œ lsλ₯Ό μž…λ ₯ν•˜λ©΄, 'μœˆλ„μš°μ™€ κ΄€λ ¨λœ 폴더 및 νŒŒμΌλ“€'이 λ‚˜μ˜¨λ‹€.

  • πŸ”“ /mnt /c /Users /μ‚¬μš©μž 이름 /Desktop

    'μœˆλ„μš° ν™˜κ²½ μ‚¬μš©μž 이름 폴더'둜 온 ν›„ Desktop으둜 μ΄λ™ν•˜μ—¬ μ•„λž˜μ™€ 같이 js νŒŒμΌμ„ μƒμ„±ν•œλ‹€.

touch new_file.js // πŸ’‘ 파일 생성
code new_file.js // πŸ’‘ VS codeμ—μ„œ 파일 μ—΄κΈ°

λ¦¬λˆ…μŠ€ μ½˜μ†”μ—μ„œ μœˆλ„μš° ν•˜λ“œ λ“œλΌμ΄λΈŒ 내에 μƒˆλ‘œμš΄ νŒŒμΌμ„ λ§Œλ“€μ—ˆλ‹€.

πŸ’‘ 주의!

이처럼 λ¦¬λˆ…μŠ€μ—μ„œλŠ” μœˆλ„μš°μ— μžˆλŠ” νŒŒμΌμ„ κ±΄λ“œλ¦΄ 수 μžˆλ‹€.
κ·ΈλŸ¬λ‚˜, μœˆλ„μš°μ—μ„œλŠ” λ¦¬λˆ…μŠ€μ— μžˆλŠ” νŒŒμΌμ„ κ±΄λ“œλ¦¬λ©΄ μ•ˆ λœλ‹€!

3) apt-get

β€» (3), (4)λ²ˆμ€ λ‹€μŒ κ°•μ˜ 진행에 λ¬Έμ œκ°€ μžˆμ„κΉŒλ΄ μ‹€μ œλ‘œ 해보진 μ•Šμ•˜λ‹€.

(1) νŒ¨ν‚€μ§€ μ„€μΉ˜

sudo apt-get install [μ„€μΉ˜ν•  νŒ¨ν‚€μ§€]

sudo κ΄€λ¦¬μž κΆŒν•œμœΌλ‘œ μ‹€ν–‰
apt-get νŒ¨ν‚€μ§€ μΈμŠ€ν†¨λŸ¬
install μ„€μΉ˜

(2) νŒ¨ν‚€μ§€ μ—…κ·Έλ ˆμ΄λ“œ

sudo apt-get upgrade

(3) λ°μ΄ν„°λ² μ΄μŠ€ λͺ©λ‘ μ—…λ°μ΄νŠΈ

μ–΄λ–€ ν”„λ‘œκ·Έλž¨λ“€μ€ λ°”λ‘œ install λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œ μ„€μΉ˜κ°€ λ˜μ§€ μ•ŠλŠ”λ‹€. μ΄λŠ” aptκ°€ ν•΄λ‹Ή ν”„λ‘œκ·Έλž¨μ„ μΈμ§€ν•˜μ§€ λͺ»ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 이런 κ²½μš°μ—λŠ” aptκ°€ κ·Έ ν”„λ‘œκ·Έλž¨μ„ 인지할 수 μžˆλ„λ‘ aptκ°€ 검색 κ°€λŠ₯ν•œ λͺ©λ‘μ— κ·Έ ν”„λ‘œκ·Έλž¨μ„ μΆ”κ°€ν•΄μ•Ό ν•œλ‹€.

nodeJS의 경우

curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
  • nodeJSλΌλŠ” ν”„λ‘œκ·Έλž¨μ΄ μžˆλ‹€κ³  apt-get에 μ•Œλ €μ€€λ‹€
    (NodeSource Node.js Binary Distributions μ°Έκ³ )

  • μžλ™μœΌλ‘œ apt-get updateκ°€ μ§„ν–‰λœλ‹€
    즉, aptκ°€ 검색할 수 μžˆλŠ”, ν”„λ‘œκ·Έλž¨ λͺ©λ‘μ„ μ—…λ°μ΄νŠΈν•œλ‹€

sudo apt-get install -y nodejs
  • 이제 aptκ°€ nodeJSλ₯Ό 인지할 수 μžˆμœΌλ―€λ‘œ 이λ₯Ό μ„€μΉ˜ν•˜λ„λ‘ ν•œλ‹€

(4) PPA(personal package archive)

이처럼 aptλ₯Ό μ΄μš©ν•΄ νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œ ν•  수 μžˆλ‹€.
κ·ΈλŸ¬λ‚˜, μš°λΆ„νˆ¬ 곡식 νŒ¨ν‚€μ§€ μ €μž₯μ†Œμ— μ°ΎλŠ” νŒ¨ν‚€μ§€κ°€ μ—†λŠ” κ²½μš°μ—λŠ”
deadsnakes의 개인 νŒ¨ν‚€μ§€ μ €μž₯μ†Œ(PPA)λ₯Ό μΆ”κ°€ν•  ν•„μš”κ°€ μžˆλ‹€.

sudo add-apt-repository ppa:deadsnakes/ppa
  • aptμ—κ²Œ deadsnakes의 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν†΅ν•΄μ„œλ„ νŒ¨ν‚€μ§€λ₯Ό μ–»κΈΈ μ›ν•œλ‹€κ³  μ•Œλ €μ€€λ‹€.
sudo apt-get update
  • aptλŠ” μ—…λ°μ΄νŠΈλ₯Ό 톡해 λ‹€μš΄λ‘œλ“œν•  수 μžˆλŠ” μƒˆλ‘œμš΄ νŒ¨ν‚€μ§€κ°€ μžˆμŒμ„ μ•Œκ²Œ λœλ‹€.
sudo apt-get install python3.8
  • 이제 aptκ°€ deadsnakes의 PPAλ₯Ό 인지할 수 μžˆμœΌλ―€λ‘œ κ·Έλ‘œλΆ€ν„° python3.8을 μ„€μΉ˜ν•  수 μžˆλ‹€. (κ°•μ˜ κΈ°μ€€ 3.8버전)

✨ 내일 ν•  것

  1. κ°•μ˜ 계속 λ“£κΈ°
profile
λŠ₯λ™μ μœΌλ‘œ μ‚΄μž, ν–‰λ³΅ν•˜κ²ŒπŸ˜

0개의 λŒ“κΈ€