Linux / Git
Linux / Git κΈ°μ΄
ν둬ννΈ(Prompt)
ν°λ―Έλμ CLI(Command-Line Interface)μ΄λ€. μ λ ₯νλ κΈμμ μΆλ ₯λλ κΈμλ‘ μ»΄ν¨ν°μ μν΅ ν μ μλ€.
ν€λ³΄λμ μ λ ₯μ νμΈνκ³ νΈμ§ν μ μλ ν μ€μ 곡κ°μ ν둬ννΈλΌκ³ νλ€.
리λ μ€ ν°λ―Έλ κΈ°λ³Έμ μΈ λͺ λ Ήμ΄
리λ μ€ ν°λ―Έλμμ λͺ λ Ή μ€ννκΈ°
pwd: νμ¬ μμΉλ₯Ό νμΈmkdir: μλ‘μ΄ ν΄λλ₯Ό μμ±ls: ν΄λλ νμΌμ λͺ©λ‘μ μΆλ ₯open: νμ¬ ν΄λλ₯Ό νμΌ νμκΈ°λ‘ μ΄κΈ°cd: ν΄λμ μ§μ- . : νμ¬ ν΄λ
 - .. : νμ¬ ν΄λλ³΄λ€ μμ μλ ν΄λ
 
cat: νμΌμ λ΄μ©μ ν°λ―Έλμ μΆλ ₯touch: μλ‘μ΄ νμΌμ μμ±rm: ν΄λλ νμΌμ μμ mv: ν΄λλ νμΌμ μμΉλ₯Ό μ΄λνκ±°λ, μ΄λ¦μ λ³κ²½- mv [ν΄λλ νμΌμ μ΄λ¦] [λμ°© ν΄λμ μ΄λ¦]
 - mv [νμΌμ μ΄λ¦] [λ³κ²½ν νμΌ μ΄λ¦]
 
cp: ν΄λλ νμΌμ 볡μ¬- cp [μλ³Έ νμΌ μ΄λ¦] [볡μ¬ν νμΌ μ΄λ¦]
 
sudo: κ΄λ¦¬μ κΆνμ μ΄ν΄/: λ£¨νΈ λλ ν 리~: ν λλ ν 리
μ λ κ²½λ‘ / μλ κ²½λ‘
- μ λ κ²½λ‘μ μμμ΄ λ£¨νΈ λλ ν 리( / )μΈ κ²μ μ΄ν΄ν μ μλ€.
 
: μ λ κ²½λ‘λ λͺ λ Ήμ΄ pwdλ‘ νμΈν μ μλ€
: μ λ κ²½λ‘λ κΈ°μ€μ μΌλ‘λΆν°μ μ λμ μΈ μμΉλ₯Ό λνλ΄λλ°, μ΄ κΈ°μ€μ μ 루νΈν΄λ( / )λΌκ³ νλ€. νΉμ  ν΄λλ νμΌμ΄ 루νΈν΄λλ‘λΆν° μ΄λ€ ν΄λλ‘ μ§μ νλ κ²½μ° λ§λ μ μλμ§.
- μλ κ²½λ‘μ μμμ΄ νμ¬ λλ ν 리( . )μΈ κ²μ μ΄ν΄ν μ μλ€.
 
: μλ κ²½λ‘λ νμ¬ μμΉλ‘λΆν° μλμ μΈ μμΉλ₯Ό λνλΈλ€.
: μλ κ²½λ‘λ νΉμ  ν΄λ λλ νμΌμ μμΉλ₯Ό νμ¬ μμΉλ₯Ό κΈ°μ€μ μΌλ‘ λνλ΄λλ°, νμ¬ μμΉν ν΄λλ μ ( . ), μμ ν΄λλ λ κ°μ μ ( .. )μΌλ‘ νν.
: lsλ₯Ό ν΅ν΄ νμΈλλ ν΄λλ νμΌμ μλ κ²½λ‘λ‘μ¨ ./ (= νμ¬ ν΄λ μλ λΌλ λ»)μ λΆμ¬ ννν μ μλ€.
ls λͺ λ Ήμ΄ μ€λͺ 첨λΆ
- ls -l : μ΅μ  lμ ν΄λλ νμΌμ ν¬λ§·μ μ λΆ νννλΌλ μλ―Έ
 - ls -a : βallβμ ν¨μΆμ΄, μ¨μ΄μλ ν΄λλ νμΌμ ν¬ν¨ν λͺ¨λ νλͺ©μ ν°λ―Έλμ μΆλ ₯
 - ls -la
 
cp : ν΄λλ νμΌμ 볡μ¬
*νμ¬ μμΉλ ~λ₯Ό λμ ν΄ /Users/[username] (macOS)λ‘ λνλ¨
cp [μλ³Έ νμΌ μ΄λ¦] [볡μ¬ν  νμΌ μ΄λ¦]
cp -rf [μλ³Έ ν΄λ μ΄λ¦] [볡μ¬ν  ν΄λ μ΄λ¦]
κ΄λ¦¬μ(root) κΆν
μ λ κ²½λ‘μ κΈ°μ€μ μΈ λ£¨νΈν΄λ(/)λ 리λ μ€μ κ΄λ¦¬μ μμμ΄λ€. μΌλ° μ¬μ©μμ κΆνμΌλ‘λ μ΄λ€ ν΄λλ νμΌλ μμ±, λ³κ²½, μμ ν μ μλ€.
Linux κ΄λ¦¬μμ νΉμ§μ μ΄λ€ μΌμ΄ μμ΄λ μΌλ° μ¬μ©μμκ² κ΄λ¦¬μ κΆν(=λ£¨νΈ κΆν)μ μμ νκ² λκΈ°μ§ μλλ€. νλ‘κ·Έλ¨μ μ€μΉ, λ³κ²½ λλ μμ ν μ μλ κ΄λ¦¬μ κΆνλ§ μ λ¬νλ€. μ¬μ©μμ κ΄λ¦¬μλ₯Ό λͺ νν λΆλ¦¬ β μ¬μ©μμ μ€μλ‘ λ°μνλ μμ€ν  μλ¬λ‘λΆν° μ΄μ체μ λ₯Ό 보νΈνλ€.
루νΈν΄λλ‘ μ΄λνμ¬ λͺ λ Ήμ΄ mkdirμ μ΄μ©ν΄ ν΄λλ₯Ό μμ±νλ©΄ βRead-only file systemβ μ΄λΌλ μλ¬λ₯Ό λ§λλλ°, μ½κΈ°μ μ©μ΄λΌλ λ§μ ν΄λλ νμΌμ μμ±, λ³κ²½, μμ ν μ μλ€λ μλ―Έμ΄λ€.
*νμ¬ λ‘κ·ΈμΈλ μ¬μ©μλ₯Ό νμΈνλ λͺ
λ Ήμ΄ : whoami
*μ¬μ©μ ν΄λμ κ²½λ‘(Path)λ / λ‘ νμλλ€. λ¬Όκ²°κΈ°νΈ()λ 루νΈν΄λ(/)λ‘λΆν° μ¬μ©μ ν΄λ(username)κΉμ§μ κ²½λ‘λ₯Ό μΆμ½ν νν
μ¬μ©μκ° μλ‘μ΄ νλ‘κ·Έλ¨μ μ€μΉνκ±°λ λ³κ²½ λλ μμ ν λμ μ¬μ©μκ° κ΄λ¦¬μ κΆνμ μ΄μν μ μλ λͺ λ Ήμ΄λ‘ sudoλ₯Ό μ¬μ©νλ€.
sudo : κ΄λ¦¬μ κΆνμ νλνλ λͺ λ Ήμ΄
λͺ λ Ήμ΄ ls -l μ ν΅ν΄ νΉμ  ν΄λλ νμΌμ΄ μ¬μ©μ λλ κ΄λ¦¬μμ μμ λ‘ μμ±λμλμ§ νμΈν μ μλ€.
sudo mkdir [μμ±ν  ν΄λλͺ
]
λͺ λ Ήμ΄ sudoλ₯Ό μ΄μ©ν΄ μμ±ν ν΄λμ μμ μλ 루νΈμ΄λ€. μ¬μ©μ κΆνμ΄ μλ κ΄λ¦¬μ κΆνμΌλ‘ μμ±λμλ€λ λ»μ΄λ€.
ν μ€νΈ μλν° nano μ¬μ©λ²
CLIμ μ λͺ ν μλν° vim(vi), κ°μ₯ μ¬μ΄ μλν° nano.
nano μ€ν
1  | code hello.js # hello.jsλ₯Ό VS Codeμμ μ΄κΈ°.  | 
νμΌ μ΄κΈ°
λ¨μΆν€ ^R (ctrl+Rν€)
**^T (ctrl+Tν€)**λ₯Ό λλ₯Έ ν νμ΄νν€λ₯Ό μ΄μ©ν΄ νμΌ λ° λλ ν 리λ₯Ό νμν ν λΆλ¬μ€κΈ°
1  | nano νμΌμ΄λ¦ # ν°λ―Έλμμ νμΌμ μ§μ ν΄μ μ΄κΈ°  | 
νμΌ νΈμ§ ν μ’ λ£
**^X (ctrl+X)**λ₯Ό λλ₯΄λ©΄ λ€μκ³Ό κ°μ ν둬ννΈκ° λ±μ₯.
Save modified buffer (ANSWERING βNoβ WILL DESTROY CHANGES) ?
ν€λ³΄λμ Yμ Nμ λλ¬μ μ μ₯ μ¬λΆλ₯Ό κ²°μ .
νμΌ μ μ₯
^0 WriteOutμ μ΄μ©νλ©΄ ν΄λΉ λ΄μ©μ νμΌμ μ μ₯νλ λ¨μΆν€.
ν¨ν€μ§μ ν¨ν€μ§ λ§€λμ 
[MacOS ν¨ν€μ§ λ§€λμ ]
- brew update
 - brew outdated
 - brew upgrade
 - brew info
 - brew install
 - brew list
 - brew uninstall
 
JavaScript λ°νμ(runtime)
β ν¬λ‘¬, μ¬ν리 κ°μ μ± λΈλΌμ°μ 
λ°νμ?
: νλ‘κ·Έλλ° μΈμ΄κ° μ€νλλ νκ²½
νλ‘κ·Έλλ° μΈμ΄κ° ꡬλλλ νκ²½μ΄λ€. μ΄λ€ νλ‘κ·Έλ¨μ΄ λμν λ, νλ‘κ·Έλ¨μ΄ λμνλ κ³³μ΄λ€. μλ°μ€ν¬λ¦½νΈλ₯Ό μ΄μ©ν΄ μ½λλ₯Ό μ μμΌλ©΄ μ½λκ° μ€νλλ κ³³μ΄ λ°νμμ΄λ€.
Node.js
μ΄μ μλ JavaScript λ°νμμ΄ μΉ λΈλΌμ°μ  λ°μ μμμΌλ, node.jsμ λ±μ₯μΌλ‘ λΈλΌμ°μ κ° μλ κ³³μμ μ€νλ μ μκ² λμλ€.
CLIμμ  node <file name> λͺ
λ Ήμ΄λ₯Ό μ
λ ₯ β μμ±ν μ½λκ° node.js λ°νμμΌλ‘ μ€ν
nvm & node.js
nvm(Node Vesion Manager)μ μ΄μ©νλ©΄ node.jsμ λ€μν λ²μ μ μ€μΉ, μ¬μ©ν μ μμ
nvm μ€μΉ
μ€μΉ νμΈ

nvm μ€μΉ μ±κ³΅μ νλ©΄ β nvm -βversion λͺ
λ Ήμ΄λ‘ λ²μ  νμΈ
node.js μ€μΉ
1  | nvm install --lts # μ΅μ λ²μ  μ€μΉ  | 
nvm μ¬μ©λ²
1  | # μ€μΉλ λ²μ   | 
npm κ³Ό package.json
λ¨μ΄ λ§λ€μ΄λμ κ²μ¦λ μ½λ(λͺ¨λ) β npm λͺ¨λ
npm λͺ¨λ νμ©μ μν΄ λͺ¨λ μ 보λ₯Ό λ΄μλ νμΌ β package.json
npmμ νμν λͺ¨λμ λ€μ΄λ‘λν μ μλ, λͺ¨λλ€μ΄ λͺ¨μ¬μλ λͺ¨λ μ€ν μ΄μ΄λ€.
macOS ν¨ν€μ§ λ§€λμ κ° brew μ΄λ―, node.js μνκ³μ ν¨ν€μ§ λ§€λμ λ npm μ΄λ€.
package.json
νλ‘κ·Έλ¨ μ€νμ μν΄ νμν λͺ¨λλ€, νλ‘κ·Έλ¨ μ€ν λ°©λ², ν μ€νΈ λ°©λ² λ±μ΄ λͺ μ. μ€μ  λͺ¨λμ λ°λ‘ node_modules λΌλ ν΄λμ μ μ₯λ¨
νλ‘μ νΈ μ½λλ₯Ό μ λ¬μ npm install λͺ
λ Ήμ΄λ₯Ό ν΅ν΄, package.jsonμμ νμνλ€κ³  νλ λͺ¨λμ λ€μ΄λ‘λ ν  μ μλ€.
dependency(μμ‘΄μ± λͺ¨λ)
νλ‘κ·Έλ¨ μ€νκ³Ό κ΄κ³μμ΄ κ°λ°μ μν΄ νμν λͺ¨λ. κ°λ°μ΄λ μ€νμ ν΄λΉ λͺ¨λμ βμμ‘΄βνλ€κ³ ν΄μ βμμ‘΄μ± λͺ¨λβ. ν€μ μ ν κ²μ λͺ¨λ μ΄λ¦, κ°μ λ²μ μ΄λ€.
devDependencies μ νλ‘μ νΈ κ°λ°νλ νκ²½μμ νμν λͺ¨λλ€μ΄ 무μμΈμ§ μ ν μλ€.
1  | # mochaλ ν μ€νΈλ₯Ό μν΄ νμν λͺ¨λ  | 
dependencies λ μ§μ  μ€νκ³Ό κ΄λ ¨ μλ λͺ¨λ. νλ‘μ νΈκ° λμκ°κΈ° μν΄ λ°λμ νμν λͺ¨λλ€μ΄ μ νμμ. underscore, React λ±β¦
1  | {  | 
1  | # react λΌμ΄λΈλ¬λ¦¬ μ¬μ©  | 
scripts νλͺ©
CLIμμ μ¬μ©κ°λ₯ν λͺ λ Ήμ κΈ°μ (=npm script)
1  | {  | 
| μμ λ΄μ© | μ€ν μ€ν¬λ¦½νΈ | 
|---|---|
| node.js μ± μ€ν | npm run start | 
| ν μ€νΈ μ€ν | npm run test | 
| μ½λ κ²μ¬ | npm run lint | 
| κ³Όμ  μ μΆ(νλ‘κ·Έλ¨μ) | npm run submit | 
