๊ตฌํ˜„

๊ฐœ์š”

Bash๋กœ ์ž‘์„ฑ๋œ ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋‘ ๊ฐœ์˜ ์ˆซ์ž์™€ ์—ฐ์‚ฐ์ž๋ฅผ ์ฝ๊ณ  ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ค‘์ง€๋ฅผ ์„ ํƒํ•  ๋•Œ๊นŒ์ง€ ์ด์ „ ๊ณ„์‚ฐ์˜ ๊ฒฐ๊ณผ๋กœ ๊ณ„์‚ฐ์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์–ธ์–ด

bash, shell script

์ฝ”๋“œ ๋ฐ ํ•จ์ˆ˜

์Šคํฌ๋ฆฝํŠธ๋Š” ๋‚˜์ค‘์— ์‚ฌ์šฉ์ž ์ž…๋ ฅ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‘ ๊ฐœ์˜ ์ •๊ทœ์‹ REGEX_NUMBER ๋ฐ REGEX_OPERATION์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • #!/bin/bash : ํ•ด๋‹น ํŒŒ์ผ์„ bash ์‰˜๋กœ ์‹คํ–‰์‹œํ‚จ๋‹ค๋Š” ์˜๋ฏธ
  • TOTAL : ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ์ „์—ญ ๋ณ€์ˆ˜
  • FLAG : ์—ฐ์‚ฐ์„ ๊ณ„์† ํ•  ์ง€ ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•˜๋Š” ์ „์—ญ ๋ณ€์ˆ˜
  • REGEX_NUMBER : ์ˆซ์ž ํ™•์ธ ์ •๊ทœํ‘œํ˜„์‹
  • REGEX_OPERATION : ์‚ฌ์น™์—ฐ์‚ฐ ํ™•์ธ ์ •๊ทœํ‘œํ˜„์‹

is_number

์‚ฌ์šฉ์ž์—๊ฒŒ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•œ ๋‹ค์Œ REGEX_NUMBER ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ์ด ์œ ํšจํ•œ ์ˆซ์ž์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์ด ์œ ํšจํ•œ ์ˆซ์ž์ด๋ฉด ํ•จ์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์ด ์œ ํšจํ•œ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

 

๋ฌธ์ž ์„ค๋ช…
" " " " ์‚ฌ์ด์— ๋“ค์–ด์žˆ๋Š” ๋ชจ๋“  ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์ผ๋ฐ˜ ๋ฌธ์ž๋กœ ์ธ์‹ํ•˜์ง€๋งŒ ๋‹จ, $()์™€ ` `(๋ช…๋ น์–ด ๋Œ€์ฒด ํŠน์ˆ˜๋ฌธ์ž), $ (๋ณ€์ˆ˜ ๊ฐ’ ๋Œ€์ฒด ํŠน์ˆ˜๋ฌธ์ž), \ (quotation ํŠน์ˆ˜๋ฌธ์ž) ๋“ฑ์€ ์˜ˆ์™ธ

์ฆ‰, echo "$op" ์œผ๋กœ ํ•˜๋ฉด * ๋กœ ์ž…๋ ฅ๋ฐ›์€ ์ธ์ž๊ฐ’์„ asterisk์ด ์•„๋‹Œ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ * ๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

is_operation

is_number์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์—ฐ์‚ฐ(+, -, *, /, %)์„ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๊ณ  REGEX_OPERATION ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

is_divided_by_zero

์—ฐ์‚ฐ์ด ๋‚˜๋ˆ„๊ธฐ(/)์ด๊ณ  ๋‘ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 0์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‘ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ฐธ์ด๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ƒˆ ์—ฐ์‚ฐ๊ธฐํ˜ธ์™€ ๋‘ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

calculate

์„ธ ๊ฐœ์˜ ์ธ์ˆ˜(์—ฐ์‚ฐ์ž์™€ ๋‘ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. case ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ๊ฒฐ์ •ํ•œ ๋‹ค์Œ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋Š” TOTAL ๋ณ€์ˆ˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

is_answer

์‚ฌ์šฉ์ž์—๊ฒŒ "YES" ๋˜๋Š” "NO"๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ผ FLAG ๋ณ€์ˆ˜๋ฅผ 1 ๋˜๋Š” 0์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์œ ์—ฐํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋Œ€๋ฌธ์ž ๋˜๋Š” ์†Œ๋ฌธ์ž ๋˜๋Š” ์ถ•์•ฝํ˜• "y" ๋˜๋Š” "n"์œผ๋กœ "YES" ๋˜๋Š” "NO"๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

main

์‚ฌ์šฉ์ž๊ฐ€ ์ค‘์ง€๋ฅผ ์„ ํƒํ•  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋˜๋Š” ๋ฃจํ”„์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋ฃจํ”„ ๋‚ด์—์„œ ์Šคํฌ๋ฆฝํŠธ๋Š” is_number ๋ฐ is_operation ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž, ์—ฐ์‚ฐ์ž ๋ฐ ๋‘ ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ฝ์€ ๋‹ค์Œ is_divided_by_zero ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์ด 0์œผ๋กœ ๋‚˜๋‰˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์—ฐ์‚ฐ์ด 0์œผ๋กœ ๋‚˜๋ˆ„์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ์‚ฐ ํ•จ์ˆ˜์— ์—ฐ์‚ฐ์ž์™€ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณ„์†ํ•˜๊ฑฐ๋‚˜ ์ค‘์ง€ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ค‘์ง€๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํ”„๊ฐ€ ๋๋‚˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๋Š” TOTAL ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

  • $op ๋ฅผ "$op"๋กœ ๋„˜๊ฒจ์ค˜์•ผ ์—ฐ์‚ฐ๊ธฐํ˜ธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ธ์‹ํ•ด์„œ ์ œ๋Œ€๋กœ ์ž‘๋™

๊ฒฐ๊ณผ

์‹คํ–‰ ๋ฐฉ๋ฒ•

sh cal.sh

ํ™”๋ฉด

๊ถ๊ธˆํ•œ ์ 

  • -eq vs =
    ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ, -eq์™€ =์˜ ์„ฑ๋Šฅ์ด๋‚˜.. ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€? ์–ด๋–ค๊ฑธ ์“ฐ๋Š”๊ฒŒ ์ข‹์€์ง€?

1. bash ์ปค๋งจ๋“œ

ls

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์ผ ๋ชฉ๋ก ๋‚˜์—ด

  • ls -F : ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ถœ๋ ฅ
  • ls -a : ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ๋„ ํ•จ๊ป˜ ์ถœ๋ ฅ
  • ls -l : ์ž์„ธํ•œ ๋‚ด์šฉ
  • ls -al : a์™€ l์˜ ๊ธฐ๋Šฅ ๋ชจ๋‘ ํฌํ•จ
  • ls -h -al : ํŒŒ์ผํฌ๊ธฐ๋„ ํ•จ๊ป˜ ์ถœ๋ ฅ
  • ll : ํ•œ ์ค„์”ฉ ํŒŒ์ผ์˜ ์ƒ์„ธ ์ •๋ณด

mv

ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋™ ๋˜๋Š” ์ด๋ฆ„ ๋ณ€๊ฒฝ

  • mv [์›๋ณธ ํŒŒ์ผ๋ช…] [์˜ฎ๊ธฐ๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ํŒŒ์ผ ์ด๋™
  • mv [์›๋ณธ ํŒŒ์ผ๋ช…] [๋ฐ”๊พธ๊ณ  ์‹ถ์€ ํŒŒ์ผ๋ช…] : ์›๋ณธ ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€๊ฒฝ
  • mv [์›๋ณธ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] [์˜ฎ๊ธฐ๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™
  • mv [์›๋ณธ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] [๋ฐ”๊พธ๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ์›๋ณธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„ ๋ณ€๊ฒฝ

cp

ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ณต์‚ฌ

  • cp [์›๋ณธ ํŒŒ์ผ๋ช…] [์˜ฎ๊ธฐ๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์›๋ณธ ํŒŒ์ผ ๋ณต์‚ฌ
  • cp [์›๋ณธ ํŒŒ์ผ๋ช…] [๋ณต์‚ฌํ•ด์„œ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์‚ฌ๋ณธ ํŒŒ์ผ ๋ณต์‚ฌ
  • cp [์›๋ณธ ํŒŒ์ผ๋ช…1] [์›๋ณธ ํŒŒ์ผ๋ช…2] [์˜ฎ๊ธฐ๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์—ฌ๋Ÿฌ ํŒŒ์ผ ํ•œ๋ฒˆ์— ๋ณต์‚ฌ
  • cp [์›๋ณธ ๋””๋ ‰ํ† ๋ฆฌ] -r [์˜ฎ๊ธฐ๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ์›๋ณธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํ•˜์œ„ ํŒŒ์ผ๊นŒ์ง€ ๋ชจ๋‘ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ณต์‚ฌ
  • cp [์›๋ณธ ๋””๋ ‰ํ† ๋ฆฌ] -r [๋ณต์‚ฌํ•ด์„œ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ๋ณต์‚ฌํ•ด์„œ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

cat

๋‘๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ ์ „์ฒด ๋‚ด์šฉ ์ถœ๋ ฅ

  • cat [ํŒŒ์ผ๋ช…1] [ํŒŒ์ผ๋ช…2] : ๋‘๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์„ ์—ฐ์†์œผ๋กœ ์ถœ๋ ฅ
  • cat -n [ํŒŒ์ผ๋ช…1] [ํŒŒ์ผ๋ช…2] : ๋‘๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์„ ์—ฐ์†์œผ๋กœ ์ถœ๋ ฅ

tail

ํŒŒ์ผ์„ ์ง€์ •ํ•œ ํ–‰๊นŒ์ง€ ์ถœ๋ ฅ (๋””ํดํŠธ : 10๊ฐœ ํ–‰)

  • tail [ํŒŒ์ผ๋ช…]
  • tail -n ์ˆซ์ž [ํŒŒ์ผ๋ช…] : ๋งˆ์ง€๋ง‰ ํ–‰๋ถ€ํ„ฐ ํ•ด๋‹น๋ฒˆ์งธ ํ–‰ ์ถœ๋ ฅ
  • tail +์ˆซ์ž [ํŒŒ์ผ๋ช…] : ํ•ด๋‹น๋ฒˆ์งธ ํ–‰๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ํ–‰๊นŒ์ง€ ์ถœ๋ ฅ

rm

ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ

  • rm [ํŒŒ์ผ๋ช…] : ํ•ด๋‹น ํŒŒ์ผ ์‚ญ์ œ
  • rm *.[ํ™•์žฅ์ž] : ํ•ด๋‹น ํ™•์žฅ์ž๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ํŒŒ์ผ ์‚ญ์ œ
  • rm * : ์ „์ฒด ํŒŒ์ผ ์‚ญ์ œ
  • rm -r [ํŒŒ์ผ๋ช…/๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
  • rm -rf [ํŒŒ์ผ๋ช…/๋””๋ ‰ํ† ๋ฆฌ๋ช…] : ํ•ด๋‹น ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ ๊ฐ•์ œ ์‚ญ์ œ (๊ฒฝ๊ณ ๋ฌธ๊ตฌ ์—†์Œ)


์•„๋ž˜ ๋‚ด์šฉ๋“ค์€ ์ถ”๊ฐ€ ๊ณต๋ถ€ ํ•„์š”


nohup

ํ„ฐ๋ฏธ๋„์„ ์ข…๋ฃŒํ•ด๋„ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๊ณ„์† ์‹คํ–‰๋˜๋„๋ก ํ•จ


chown

ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์†Œ์œ ๊ถŒ์ž ๋ฐ ๊ทธ๋ฃน์‹๋ณ„์ž ๋ณ€๊ฒฝ


chmod

ํ•ด๋‹น ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํผ๋ฏธ์…˜ ์ˆ˜์ •


grep

์ •๊ทœํ‘œํ˜„์‹์˜ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์„œ ํŠน์ • ํŒŒ์ผ ๋‚ด์— ํ•ด๋‹น ํŒจํ„ด์˜ ๋ฌธ์ž์—ด ์ถœ๋ ฅ


ps

ํ˜„์žฌ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก ์ถœ๋ ฅ


๊ธฐํƒ€

์•Œ๊ณ  ์žˆ๊ฑฐ๋‚˜ ์ฐธ๊ณ ํ•  ๋งŒํ•œ ๊ฒƒ๋“ค


  • cd
  • pwd
  • clear
  • mkdir
  • touch
  • history history -c
  • bash -x ./[ํŒŒ์ผ๋ช…] : ๋””๋ฒ„๊ทธ

2. vi ํŽธ์ง‘๊ธฐ ๋ชจ๋“œ

  • ๊ธฐ๋ณธ ๋ชจ๋“œ
    • vi ํŽธ์ง‘๊ธฐ ์ฒ˜์Œ ์—ด์—ˆ์„ ๋•Œ ํ™”๋ฉด
  • ์ž…๋ ฅ ๋ชจ๋“œ
    • i, a๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ์—์„œ ์ž…๋ ฅ ๋ชจ๋“œ๋กœ ์ „ํ™˜
    • esc๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ์—์„œ ๋ช…๋ น ๋ชจ๋“œ๋กœ ์ „ํ™˜
  • ๋ช…๋ น ๋ชจ๋“œ
    • : (์ฝœ๋ก )์„ ํ†ตํ•ด ๋ช…๋ น
    • ํŒŒ์ผ ์ €์žฅ, ์ข…๋ฃŒ ๋˜๋Š” ๊ฒ€์ƒ‰ ๋“ฑ์„ ํ•จ

3. vi ์ปค๋งจ๋“œ

  • esc + ๋ช…๋ น์–ด ์ž…๋ ฅ

๋ช…๋ น ๋ชจ๋“œ์—์„œ ์ž…๋ ฅ ๋ชจ๋“œ๋กœ ์ „ํ™˜

  • i : ํ˜„์žฌ ์ปค์„œ ์•ž(์™ผ์ชฝ)์— ์ž…๋ ฅ
  • a : ํ˜„์žฌ ์ปค์„œ ๋‹ค์Œ(์˜ค๋ฅธ์ชฝ)์— ์ž…๋ ฅ

์ €์žฅ, ์ข…๋ฃŒ

  • :q : ์ข…๋ฃŒ
  • :q! ๊ฐ•์ œ ์ข…๋ฃŒ (์ €์žฅ X)
  • :w : ์ €์žฅ (์ข…๋ฃŒ X)
  • :wq : ์ €์žฅ ๋ฐ ์ข…๋ฃŒ
  • ** ๋น„์ •์ƒ ์ข…๋ฃŒ ์‹œ .swp ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค. ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‚ญ์ œํ•œ๋‹ค.

์ปค์„œ ์ด๋™

  • h, j, k, l : ์ขŒ, ํ•˜, ์ƒ, ์šฐ ์ด๋™
  • w : ๋‹ค์Œ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋กœ ์ด๋™
  • b : ์ด์ „ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋กœ ์ด๋™

์ค„ ์ด๋™

  • gg : ์ฒซ๋ฒˆ์งธ ํ–‰์œผ๋กœ
  • G : ๋งˆ์ง€๋ง‰ ํ–‰์œผ๋กœ
  • :์ˆซ์ž : ์ง€์ •ํ•œ ์ˆซ์ž ํ–‰์œผ๋กœ ์ด๋™

์‚ญ์ œ

  • x : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ์žˆ๋Š” ํ•œ ๊ธ€์ž ์‚ญ์ œ
  • dd : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ์žˆ๋Š” ํ•œ ํ–‰ ์‚ญ์ œ
  • dw : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ๋’ค์— ์žˆ๋Š” ๋‹จ์–ด ์‚ญ์ œ (์ปค์„œ ํฌํ•จ)
  • db : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ์•ž์— ์žˆ๋Š” ๋‹จ์–ด ๋ณต์‚ฌ
  • ** ์‚ญ์ œ๋œ ๋‚ด์šฉ์€ ๋ถ™์—ฌ๋„ฃ๊ธฐ ๊ฐ€๋Šฅ (๋ฒ„ํผ์— ์ €์žฅ๋จ)

๋ณต์‚ฌ

  • yy : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ์žˆ๋Š” ํ•œ ํ–‰ ๋ณต์‚ฌ
  • yw : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ๋’ค์— ์žˆ๋Š” ๋‹จ์–ด ๋ณต์‚ฌ
  • yb : ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— ์•ž์— ์žˆ๋Š” ๋‹จ์–ด ๋ณต์‚ฌ

๋ถ™์—ฌ๋„ฃ๊ธฐ

  • p : ์ปค์„œ ๋‹ค์Œ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ
  • P : ์ปค์„œ ์ด์ „์— ๋ถ™์—ฌ๋„ฃ๊ธฐ

์ฐพ๊ธฐ

  • /[๊ฒ€์ƒ‰์–ด] : ์•ž์—์„œ๋ถ€ํ„ฐ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ฐพ์Œ
  • /[๊ฒ€์ƒ‰์–ด] : ๋’ค์—์„œ๋ถ€ํ„ฐ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ฐพ์Œ
  • n : ๋’ค๋กœ ๊ฒ€์ƒ‰
  • N : ์•ž์œผ๋กœ ๊ฒ€์ƒ‰

๋ฐ”๊พธ๊ธฐ

  • :%s/old/new : ๊ฐ ํ–‰์— ์ฒ˜์Œ ๋‚˜์˜ค๋Š” old๋ฅผ new๋กœ ๋ณ€๊ฒฝ
  • :%s/old/new/g : ๋ชจ๋“  old๋ฅผ new๋กœ ๋ณ€๊ฒฝ
  • :%s/old/new/gc : ๋ชจ๋“  old๋ฅผ new๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ „์— ๋ฌผ์–ด๋ด„

๊ธฐํƒ€

  • u : undo
  • ctrl+r : redo
  • :set nu : ํ–‰๋ฒˆํ˜ธ ์ถœ๋ ฅ
  • :set nonu : ํ–‰๋ฒˆํ˜ธ ์ˆจ๊ธฐ๊ธฐ
  • :set ts=4 : tap size๋ฅผ 4๋กœ ์„ค์ •
  • :set title : ํƒ€์ดํ‹€ ๋ฐ”์— ํ˜„์žฌ ํŽธ์ง‘ ์ค‘์ธ ํŒŒ์ผ์„ ํ‘œ์‹œ



์ฐธ๊ณ 

https://velog.io/@zeesoo/Linux-vi-ํŽธ์ง‘๊ธฐ-์‚ฌ์šฉ๋ฒ•-๋ฐ-๋ช…๋ น์–ด

https://velog.io/@devmin/๋ฆฌ๋ˆ…์Šค-์‰˜-๊ธฐ๋ณธ-๋ช…๋ น์–ดBasic-Shell-Commands

+ Recent posts