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 |