- sudo : ๊ด๋ฆฌ์ ๊ถํ ํ์ฌ
- sudo -i, sudo su : root๋ก ๋ก๊ทธ์ธ
- ํ์ผ์ ๋ด์ฉ์ ๋น ์ง์์ด ํ์ธํด์ ์ฐพ๋ ๋ฌธ์์ด์ด ํฌํจ๋์ด์๋์ง ์กฐ์ฌ
- global regular expression print - ํ์ผ ์ ์ฒด์์ ์ ๊ทํํ์๊ณผ ์ผ์นํ๋ ์์น๋ฅผ ์ถ๋ ฅํ๋ผ
$ grep -r "๊ฒ์ํ๊ณ ์ถ์ ๋ฌธ์์ด" /home/docs
- -r : ์๋ธ ํด๋๊น์ง ๊ฒ์ํ๋๋ก ์ง์
- ์ ๊ท ํํ์(regular expression)
- () : ๊ทธ๋ฃนํ
- | : ์ข์ฐ ์ค ํ๋
- ? : ์ง์ ํํ์ด 0ํ ๋๋ 1ํ ๋ฑ์ฅ
- * : ์ง์ ํํ์ด 0ํ ์ด์ ์ฐ์ํด์ ๋ฑ์ฅ
- + : ์ง์ ํํ์ด 1ํ ์ด์ ์ฐ์ํด์ ๋ฑ์ฅ
- . : ์์์ด ํ ๋ฌธ์
- ^ : ์ค ๋จธ๋ฆฌ
- $ : ์ค ๋
- -E : ์ ๊ทํํ์ ์ฌ์ฉ
- -i : ignore case, ์ํ๋ฒณ ๋์๋ฌธ์ ์ฐจ์ด ๋ฌด์ํ๊ณ ๊ฒ์
$ grep -r -i "yameno tarou" ๋๋ ํ ๋ฆฌ๊ฒฝ๋ก
$ grep -r -i -E "((์ผ๋ฉ๋
ธ) *(ํ๋ก) | yameno +tarou)" ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก
- ํธ์ง : ์์ -> ๋ ธ๋ฉ๋ชจ๋ -> i ์ ๋ ฅ -> ๋ผ์๋ฃ๊ธฐ ๋ชจ๋๋ก ํธ์ง -> esc -> :wq (์ ์ฅ & ์ข ๋ฃ)
- ๊ฒ์ : ๋
ธ๋ฉ๋ชจ๋ -> / ์
๋ ฅ
- N : ๊ฒ์๋ ๊ณณ์ ์์๋๋ก
- Shift N : ๋ฐ๋ ๋ฐฉํฅ
- ์ ๊ทํํ์์ผ๋ก ๊ฒ์ : / ๋ค์ \v(๋ฐฑ์ฌ๋์ฌ, ์๋ฌธ์v)
- EX) /\v(CP949|EUC-KR)
- ๋ณต์ฌ : ๋ ธ๋ฉ๋ชจ๋ -> v - ์ ํ๋ชจ๋ (ํ์ดํ๋ฅผ ์ด์ฉํ ๋ฒ์ ์ง์ )
- ์ํฌ : (yank:๋์ด๋น๊ธฐ๋ค) - ํด๋ฆฝ๋ณด๋์ ํ ์คํธ๊ฐ ๋ณต์ฌ๋จ
- ๋ถ์ฌ๋ฃ๊ธฐ : Shift + p
- 10ํ ๋ฐ๋ณตํด์ ๋ถ์ฌ๋ฃ๊ธฐ : 1, 0, Shift, p
- ๋๋๋ฆฌ๊ธฐ : u (undo)
- ๋์ด๋ฆฌ๊ธฐ : ctrl + r (redo)
- ctrl + z : ์คํ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์
์ผ์ ์ ์ง
- fg : ๋ค์ ์คํ (foreground)
- $ sudo apt-get install tmux
- ์คํ : $ tmux
- ๋คํธ์์ด ๋๊ธด๊ฒฝ์ฐ ssh ์ฌ์ ์ํด์ $ tmux attach ์ ๋ ฅ
- ctrl + b (tmux์ ๊ธฐ๋ฅ ์ฌ์ฉ) ์
๋ ฅํ ๋ค์
- d ์ ๋ ฅ : tmux ํ๋ฉด์์ ๋น ์ ธ๋์ด (detach)
- c ์ ๋ ฅ : create : ์๋ก์ด ํญ ์ด๊ธฐ
- p ์ ๋ ฅ : previous : ์ด์ ํญ
- n ์ ๋ ฅ : next : ๋ค์ ํญ
- " ์ ๋ ฅ : ํ๋ฉด ๊ฐ๋ก๋ก ๋ถํ
- % ์
๋ ฅ : ํ๋ฉด ์ธ๋ก๋ก ๋ถํ
- ctrl + b + ๋ฐฉํฅํค : ๋ถํ ๋ ํ๋ฉด ํฌ์ปค์ค ์ ํ
- exit : ๋ถํ ํด์
- ๋ถํ ํค๋ฅผ ์ ๋ ฅํ๋ฉด ๊ทธ๋ ํฌ์ปค์ค๊ฐ ์๋ ํ๋ฉด์ ๋ถํ ํจ.
- ctrl ๋๋ฅด๋ฉด์ ๋ฐฉํฅํค : ๋ถํ ๊ฒฝ๊ณ์ (ํ๋ฉด ๋น์จ) ๋ณ๊ฒฝ
- ๋ฐฉํฅํค ์, ์๋(โ)๋ฅผ ์ด์ฉํ ์ด์ ์ ์คํํ ๋ช ๋ น์ด ์ด๋ ฅ ํ์
- $ vi ~/.bash_history
- ๋ช
๋ น์ด ๊ฒ์ ๊ธฐ๋ฅ
- ํ๋ฐฉ ๊ฒ์(ํ์ฌ ์์น๋ณด๋ค ์ค๋๋ ๋ฐฉํฅ์ผ๋ก ์ด๋) : ctrl + R
- ctrl + R์ ์ฌ์ฉํ๋ฉด ๊ฒ์ ์์น๊ฐ ์ค๋๋ ๋ฐฉํฅ์ผ๋ก ์ด๋๋์ ๊ทธ๋ณด๋ค ์๋ก์ด ๋ช
๋ น์ด ์ด๋ ฅ์ ๊ฒ์ํ ์ ์๊ฒ ๋๋ค.
- ๋ฐ๋ผ์, ์๋์ ๊ฐ์ด ์ญ๋ฐฉํฅ(์ ๋ฐฉ๊ฒ์)์ด ๊ฐ๋ฅํ๋๋ก ์์
-
- vi ~/.bash_history
-
- shift + G ๋ก ๋ง์ง๋ง์ผ๋ก ์ด๋ํด์ stty stop undef ์ ๋ ฅ
-
- :wq
-
- ์ฌ๋ก๊ทธ์ธ (bash ์ฌ์คํ, ์๋ก์ด ์ค์ ์ฝ์ด ๋ค์)
- ์ ๋ฐฉ ๊ฒ์(ํ์ฌ ์์น๋ณด๋ค ์๋ก์ด ๋ฐฉํฅ์ผ๋ก ์ด๋) : ctrl + S
- ์ด๋ ฅ ์ ์ฅ ๊ฑด์ ์ค์
-
- $ vi ~/.bashrc
-
- shift + G ๋ก ๋ง์ง๋ง์ผ๋ก ์ด๋
-
- export HISTSIZE=10000
-
- export HISTFILESIZE=10000
-
- c, d๋ ๊ฐ์ ๊ฐ์ผ๋ก ์ง์ ํ๊ณ :wq ์ ์ฅ.
-
- ์ฌ๋ก๊ทธ์ธ
-
- ๊ฐ์ ๋จ๋ง ์ฌ๋ฌ๊ฐ์ bash๋ ๊ฐ์์ ๋ช
๋ น์ด ์ด๋ ฅ ๋ณต์ฌ๋ณธ์ ๊ฐ์ง
- ๋ฐ๋ผ์, ๋ค๋ฅธ ํ๋ฉด์์ ์คํํ ๋ช ๋ น์ด๋ ๋ ๋ค๋ฅธ ํ๋ฉด์์ ์คํํ ๋ช ๋ น์ด๋ฅผ ๊ฒ์ํ ์ ์๋ค.
- $ vi ~/.bashrc์ ์๋๋ฅผ ์ถ๊ฐ
function share_history{ history -a history -c history -r } PROMPT_COMMAND='share_history' shopt -u histappend- bash_history์ ๋ฉ๋ชจ๋ฆฌ ๋ณต์ฌ๋ณธ์ ์์ฃผ ๋๊ธฐํ ํ๋ผ๋ ์๋ฏธ
- ๊ฐ๋จํ ์ฌ์ฉ๋ฒ
- mint : ๋ก๊ทธ์ธ ํ ์ฌ์ฉ์
- 192.~~ : ์ ์ํ ์ปดํจํฐ (๋คํธ์ํฌ๋ช ๋๋ ip)
- ๋ณต์ฌํ ๊ณณ: /tmp/
$ scp ./file.ext mint@192.168.1.10:/tmp/- ์์ ์ pc ๊ฒฝ๋ก๋ก ๋ณต์ฌํ๋ ๊ฒ๋ ๊ฐ๋ฅ
$ scp mint@192.168.1.10:/tmp/file.txt ~/- ์์ผ๋์นด๋, -r(recursively) ์ต์ ์ฌ์ฉ
$ scp mint@host:/tmp/*.log /tmp/
$ scp -r mint@host:/tmp/results /tmp/- ์๋ฒ์์ ์๋ฒ์ ํ์ผ ๋ณต์ฌ
$ scp mint@server:1:/data/file mint@server2:/backup/- ์์ ๋ณต์ฌ ์์ ์๋ฒ๋ช ๊ณผ ์๋ฒ ๊ฒฝ๋ก, ๋ค๋ ๋ณต์ฌ ๋์ ์๋ฒ๋ช ๊ณผ ์๋ฒ ๊ฒฝ๋ก
- ์์ ์ PC๋ก ํต์ ์ ์ค๊ณํ๋ ํ์.
- ๋ฐ๋ผ์, ์๊ฐ์ด ์ง์ฒด๋ ์ ์์
-
top : ์์คํ ๋ถํ ์ํ๋ฅผ ์กฐ์ฌํ๋ ๋ช ๋ น์ด (์์คํ ๋ชจ๋ํฐ์ CUIํ)
-
load average : cpu๊ฐ ์ฒ๋ฆฌํ๋ ๊ฑธ ๊ธฐ๋ค๋ฆฌ๋ ์์ ๊ฐ์
- CPU๋ ํ ๋ฒ์ ํ๋๋ฐ์ ํ ์ ์์ผ๋๊น ๊ทธ๋์ ๋ฐ์ํ ์๋ก์ด ์์ ์ ์์๋๋ค.(load)
- ๋ํ, CPU๋ ์์ธ ์ผ์ ์์๋๋ก ์ฒ๋ฆฌํ๋ค.
- load average๋ 1๋ถ๋น ํ๊ท ์ผ๋ก ๋ช ๊ฐ์ ์ผ์ด ์์ด๋์ง๋ฅผ ๋ํ๋ด๋ ๊ฐ
- ๋ง์ฝ ์์ ๋์ด ์ ์ผ๋ฉด ์์ธ ์์ ๋์ ํ๊ท ์น๋ก 0.1์ด๋ 0.2 ์ ๋๋ก ๋ฌด์ฒ ์๋ค. ์ด๊ฑด CPU๊ฐ ๋๊ณ ์๋ค๋ ๋ป
- ๋ฐ๋๋ก ํ๋์ ์์ ์ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๊ฑฐ๋ ์์ ๋ฐ์ ์๋๊ฐ ์ฒ๋ฆฌ ์๋๋ณด๋ค ๋น ๋ฅด๊ฑฐ๋ํ๋ฉด ์์ ์ด ์ ์ ์์ด๊ฒ ๋๋ค.
- load average๋ CPU ์ฝ์ด ์์ ๊ฐ์ด ๋ณผ ๊ฒ
- ์ฒซ ๋ฒ์งธ๋ 1๋ถ๊ฐ ํ๊ท , ๋ ๋ฒ์งธ๋ 5๋ถ๊ฐ, ์ธ ๋ฒ์งธ๋ 15๋ถ๊ฐ ํ๊ท
- CPU ๋ถํ๊ฐ ๋ฎ์๋ load average๊ฐ ๋์ ๋๋ ์์ฃผ ์์
- ๋ํ์ ์ธ ์๊ฐ ๋์คํฌ I/O
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด ๋์คํฌ I/O๊ฐ ๋๋์ผ๋ก ๋ฐ์ํ๋ค!
- CPU๋ ๋ณดํต ์์ ์ฅ์๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ฌ์ ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ฉด ์๋ก์ด ์์ ์ ํ ์ ์๊ฒ๋๋ค.
- ์ด๋ OS๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์ต๊ทผ์ ์ฌ์ฉํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํด์ ๋ฉ๋ชจ๋ฆฌ ๋น๊ณต๊ฐ์ ๋ง๋ค์ด๋ธ๋ค.
- ์ ๋ฆฌ๋ ๋ฐ์ดํฐ๋ ์ผ๋จ ํ๋ ๋์คํฌ๋ก ์ฎ๊ธฐ๋๋ฐ ์ด๊ฑธ ์ค์์์์ด๋ผ๊ณ ํ๋ค. (๋ฐ๋๋ ์ค์์ธ, ์์ชฝ์ ํฌํจํด์ ์ค์)
-
%CPU, TIME + : ์ด๋ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๋ง์ด ์ฐ๊ณ ์๋์ง ํ์ธ
- ๊ณผ๋ถํ ์์ธ์ ์ฐพ์ ๋ "CPU ์ฌ์ฉ๋ฅ ์ด ๋๋ค, CPU ์๊ฐ๋ ๊ธธ๋ค" ์ด๋ฐ ํ๋ก์ธ์ค๊ฐ ์๋์ง ์ฐพ์๋ณด๋๊ฒ ๋น ๋ฅด๋ค.
-
COMMAND : ํ๋ก์ธ์ค๋ฅผ ์คํํ์ ๋ ์คํํ ๋ช ๋ น์ด๊ฐ ํ์๋๋ค.
- C ๋ฅผ ๋๋ฅด๋ฉด ์์ธ ํ์๋ก ์ ํ๋จ.
-
%MEM : ํ๋ก์ธ์ค๊ฐ ์๋นํ๋ ๋ฉ๋ชจ๋ฆฌ๋
-
์ ๋ ฌ
- Shift + M : ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์์
- Shift + T : CPU ์๊ฐ ์์
- Shift + P : CPU ์ฌ์ฉ๋ ์์
-
์ ๋ฆฌ
- load average >= CPU ์ฝ์ด์๊ฐ ๋๋ฉด ๊ณผ๋ถํ ์ํ
- CPU ์ฌ์ฉ๋ฅ ๊ณผ CPU ์๊ฐ ์์ชฝ์ด ํฐ ํ๋ก์ธ์ค๋ ๊ณผ๋ถํ ์์ธ์ ๊ฐ๋ฅ์ฑ์ด ๋์
- ๊ณผ๋ถํ ์์ธ์ธ ํ๋ก์ธ์ค๋ Kill ๋ช ๋ น์ด๋ก ์ข ๋ฃ
- load average๊ฐ ๋์๋ CPU๋ ๊ณผ๋ถํ ์ํ๊ฐ ์๋ ์๋ ์๋ค.
- ๋น ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด -> ์ค์(๋์คํฌ I/O)์ด ์์ฃผ ๋ฐ์ -> CPU ์ฒ๋ฆฌ๊ฐ ์์ -> load average๊ฐ ๋์์ ธ์ ์์คํ ๋ฐ์์ด ๋๋น ์ง
- ์ค์๋์ด ๊ธ๊ฒฉํ ์ฆ๊ฐํ๋ค๋ฉด ์ฃผ์๊ฐ ํ์
-
์ด๋ค ๋ช ๋ น์ด ์คํ ๊ฒฐ๊ณผ ์ถ๋ ฅ์ ๊ทธ๋๋ก ๋ค๋ฅธ ๋ช ๋ น์ด์ ๋๊ธธ ์ ์๋ค.
- ๋ฐ์ ์ชฝ ๋ช ๋ น์ด๋ ์ด์ด์ผ ํ ํ์ผ ์ง์ ์ ์๋ตํ๋๊ฒ ํฌ์ธํธ
- grep "/retro" access.log.1 | less
-
ํ์ผ ๋ด์ฉ์ ๋ค์ ๋ช ๋ น์ด์ ์ถ๋ ฅํ๋ ์์ ๊ทธ๋ฃน
- cat : ํ์ผ ๋ด์ฉ์ ์ฝ์ด์ ๊ทธ๋๋ก ์ถ๋ ฅ (๋น์์ถ ํ ์คํธ ํ์ผ)
- zcat : ์์ถ ํ์ผ์ ์ฝ์ด์ ๋ด์ฉ์ ํ์ด์ ์ถ๋ ฅ (gzip ์ ์ฉ)
- xcat : xz ์ ์ฉ
- unzip : zip ์ ์ฉ
- tail -f : ํ์ผ์ ์ถ๊ฐ๋ ๋ถ๋ถ์ ์ถ๋ ฅ
-
์ค๊ฐ์์ ์ด์ ๋ช ๋ น์ด ์ถ๋ ฅ์ ๊ฐ๊ณตํ๋ ์ค๊ฐ ๊ทธ๋ฃน
- grep : ํด๋นํ๋ ์ค๋ง ์ถ๋ ฅ
- sort : ์ฌ์ ๋ ฌ
- cut : ์๋ผ๋
- uniq : ์ค๋ณต ์ ๊ฑฐ
- seq, awk : ๋ด์ฉ ๋ณ๊ฒฝ
-
์ด์ ๋ช ๋ น์ด ์ถ๋ ฅ์ ๊ฐ๊ณตํ๋ ์ต์ข ๊ทธ๋ฃน
- less : ์คํฌ๋กค ํ ์ ์๊ฒ ์ถ๋ ฅ
- tee : ํ์ผ์ ์ ์ฅ
- wc : ์ค ์๋ ๋ฌธ์ ์๋ฅผ ์นด์ดํธ
- head : ์ฒซ ๋ถ๋ถ๋ง ์ถ์ถ
