๋ฐ์ํ
๐ ๋ฆฌ๋ ์ค ๋ฌธ์ ํธ์ง๊ธฐ — vi
1. vi ๋ชจ๋ ๊ตฌ์กฐ
```mermaid
graph TD
A[๋ช ๋ น ๋ชจ๋ (Command mode)] --> B[์ ๋ ฅ ๋ชจ๋ (Insert mode)]
A --> C[๋ง์ง๋ง ํ ๋ชจ๋ (Last line mode)]
B --> A
C --> A
A[๋ช ๋ น ๋ชจ๋ (Command mode)] --> B[์ ๋ ฅ ๋ชจ๋ (Insert mode)]
A --> C[๋ง์ง๋ง ํ ๋ชจ๋ (Last line mode)]
B --> A
C --> A
```

- ๋ช ๋ น ๋ชจ๋: vi ์คํ ์ ๊ธฐ๋ณธ ๋ชจ๋ (๋ณต์ฌ, ์ญ์ , ์ด๋ ๋ฑ ๋ช ๋ น์ด ์คํ)
- ์ ๋ ฅ ๋ชจ๋: ๊ธ์๋ฅผ ์ ๋ ฅํ๋ ๋ชจ๋ (i, a, o ๋ก ์ง์ )
- ๋ง์ง๋ง ํ ๋ชจ๋: ์ ์ฅ·์ข ๋ฃ·๊ฒ์ ๊ฐ์ ๋ช ๋ น ์ ๋ ฅ (:wq, :q!)
2. ์์ฃผ ์ฐ๋ ๊ธฐ๋ณธ ๋ช ๋ น์ด
๋์๋ช
๋ น
์ ๋ ฅ ์์ | i (์ปค์ ์), a (์ปค์ ๋ค), o (์ ์ค) |
์ ์ฅ & ์ข ๋ฃ | :wq |
๊ฐ์ ์ข ๋ฃ (์ ์ฅ ์ ํจ) | :q! |
์ด๋ | h(์ผ์ชฝ), l(์ค๋ฅธ์ชฝ), j(์๋), k(์), :10(10๋ฒ ์ค ์ด๋), G(ํ์ผ ๋) |
์ญ์ | dd (ํ ์ค ์๋ผ๋ด๊ธฐ) |
๋ณต์ฌ & ๋ถ์ฌ๋ฃ๊ธฐ | yy (๋ณต์ฌ), p (๋ถ์ฌ๋ฃ๊ธฐ) |
๊ฒ์ | /๋ฌธ์์ด |
3. ๋ฌธ์ ํธ์ง๊ธฐ ์ค์ต
โ ์ฐ์ต์ฉ ํ์ผ ์์ฑ
cd$HOME/proc # ์ค์ต ๋๋ ํ ๋ฆฌ๋ก ์ด๋ vi test.txt # vi ํธ์ง๊ธฐ ์คํ
์ ๋ ฅ ์์ (์ ๋ ฅ ๋ชจ๋์์ ๋ถ์ฌ๋ฃ๊ธฐ):
Welcome to vi editor practice This is a sample text file You can edit this file using vi Let's learn some basic commands The /etc/hosts file is important Try searching for the word hosts Delete this line and paste it below End of the practice file
โก ํ์ผ ๋ด์ฉ ํ์ธ
cat test.txt # ํ์ผ ์ ์ฒด ๋ด์ฉ ์ถ๋ ฅ
๐ cat์ ํ์ผ ๋ด์ฉ์ ํ ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
โข ์ค ๋ฒํธ ํ์ & ํน์ ์ค๋ก ์ด๋
:5 # vi์์ 5๋ฒ์งธ ์ค๋ก ์ด๋
๐ .exrc ์ค์ ์์ set nu๋ฅผ ์ถ๊ฐํ๋ฉด ํญ์ ์ค ๋ฒํธ๊ฐ ํ์๋ฉ๋๋ค.
โฃ ์ญ์ & ๋ถ์ฌ๋ฃ๊ธฐ
dd # ํ์ฌ ์ค ์ญ์ (์๋ผ๋ด๊ธฐ) p # ๋ฐ๋ก ์๋ ์ค์ ๋ถ์ฌ๋ฃ๊ธฐ
โค ๋ฌธ์์ด ๊ฒ์
/file # "file" ์ด๋ผ๋ ๋จ์ด ๊ฒ์
๐ / ์ ๋ ฅ ํ ๊ฒ์์ด ์ ๋ ฅ → ํด๋น ๋จ์ด๋ก ์ปค์ ์ด๋
โฅ ์ ์ฅ & ์ข ๋ฃ
:wq # ์ ์ฅ ํ ์ข ๋ฃ :q! # ์ ์ฅํ์ง ์๊ณ ๊ฐ์ ์ข ๋ฃ
โฆ .exrc ์ค์ ํ์ผ ๋ค๋ฃจ๊ธฐ
ls -a | grep exrc # .exrc ํ์ผ ์กด์ฌ ์ฌ๋ถ ํ์ธmv .exrc .exrc.bak 2>/dev/null # ์์ผ๋ฉด ๋ฐฑ์ vi .exrc # ์ ์ค์ ํ์ผ ์์ฑ
์ ๋ ฅํ ๋ด์ฉ (vi ์ค์ ):
set nu " ์ค ๋ฒํธ ํ์ set ignorecase " ๊ฒ์ ์ ๋์๋ฌธ์ ๋ฌด์ set autoindent " ์๋ ๋ค์ฌ์ฐ๊ธฐ set showmode " ํ์ฌ ๋ชจ๋ ํ์ (--INSERT-- ๋ฑ)
๐ ์ ์ฅ ํ ์ข ๋ฃ (:wq)
โง ์ค์ ์ ์ฉ & ํ์ธ
vi ~/prac/test.txt
- ์ค ๋ฒํธ ํ์ธ (set nu)
- /hosts ๊ฒ์ ์ ๋์๋ฌธ์ ๋ฌด์๋๋์ง ํ์ธ (set ignorecase)
- ์ ์ค ์ ๋ ฅ ์ ์๋ ๋ค์ฌ์ฐ๊ธฐ ๋๋์ง ํ์ธ (set autoindent)
- ๋ชจ๋ ํ์ ํ์ธ (--INSERT-- ๋จ๋์ง ํ์ธ, set showmode)
4. ํ ์ค ํ ์ค ์ฃผ์ ์ค๋ช
cat test.txt # ํ์ผ ๋ด์ฉ์ ํฐ๋ฏธ๋์ ์ถ๋ ฅ :5 # vi ์์์ 5๋ฒ์งธ ์ค๋ก ์ด๋ dd # ํ์ฌ ์ค ์๋ผ๋ด๊ธฐ p # ์๋ผ๋ธ ์ค์ ํ์ฌ ์ปค์ ์๋์ ๋ถ์ฌ๋ฃ๊ธฐ /file # "file" ๋ฌธ์์ด ๊ฒ์ :wq # ์ ์ฅ ํ ์ข
๋ฃ
5. ํ์ ์์ ์์ฃผ ์ฐ๋ vi ํ์ฉ โจ
- ์๋ฒ ์ค์ ํ์ผ ํธ์ง: /etc/nginx/nginx.conf, /etc/hosts ๊ฐ์ ์์คํ ์ค์
- ๋ก๊ทธ ํ์ผ ๋น ๋ฅธ ์์ : ๊ธด ๋ก๊ทธ ํ์ผ์์ ํน์ ํค์๋ ๊ฒ์ (/error)
- ๋น ๋ฅธ ์ค ์ด๋: ์๋ฌ ๋ก๊ทธ์์ ํน์ ์ค ๋ฒํธ ํ์ธ ํ :์ซ์๋ก ์ด๋
- ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ: ์ค์ ๋ธ๋ก์ ์๋ผ๋ด์ด ๋ค๋ฅธ ์์น์ ๋ถ์ฌ๋ฃ์ ๋ yy, p ์์ฃผ ์ฌ์ฉ
- .exrc ์๋ ์ค์ : ํญ์ ์ค ๋ฒํธ ํ์, ๊ฒ์ ์ ๋์๋ฌธ์ ๋ฌด์, ์๋ ๋ค์ฌ์ฐ๊ธฐ → ํ์ ์์ง๋์ด๋ค์ด ๊ผญ ์ผ๋๋ ์ต์
.exrc ์๋ ์ค์ ๋ฐฉ๋ฒ
vi ~/.exrc
set nu " ์ค ๋ฒํธ ํ์
set ignorecase " ๊ฒ์ ์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์ ํจ
set autoindent " ์๋ ๋ค์ฌ์ฐ๊ธฐ
set showmode " ํ์ฌ ๋ชจ๋ ํ์ (--INSERT-- ๊ฐ์ ์ํ ํ์)
ECS Key ๋๋ฌ์ ํธ์ง๋ชจ๋ ์ข ๋ฃ
:wq! ๋ก ์ ์ฅ ํ ์ข ๋ฃ
๋ฐ์ํ
'Cloud Engineering Bootcamp > 5. Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
03. Linux ๋ช ๋ น์ด ์ ๋ฆฌ (0) | 2025.09.12 |
---|---|
02. Linux ๊ธฐ์ด (0) | 2025.09.12 |
01. ๊ฐ์ ์๋ฒ ๊ตฌ์ถ (0) | 2025.09.11 |