๐ ฤeลกtina โ ฮฮปฮปฮทฮฝฮนฮบฮฌ โ English โ Espaรฑol โ Franรงais โ Italiano โ ๆฅๆฌ่ช โ ํ๊ตญ์ด โ Portuguรชs โ ะ ัััะบะธะน โ Slovenลกฤina โ ะฃะบัะฐัะฝััะบะฐ โ ็ฎไฝไธญๆ โ ็น้ซไธญๆ
- Meta
- Basics
- Everyday use
- Processing files and data
- System debugging
- One-liners
- Obscure but useful
- OS X only
- More resources
- Disclaimer
์ปค๋งจ๋๋ผ์ธ์ ๋ฅ์ํ๊ฒ ๋ค๋ฃจ๋๊ฒ์ ๋์ธ์๋๊ฑฐ๋ ์ ๋น์ค๋ฝ๊ฒ ์ฌ๊ฒจ์ง๋๋ค. ํ์ง๋ง ์ปค๋งจ๋๋ผ์ธ์ ๋ช ๋ฐฑํ๊ณ ๋ ๋ฏธ๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก ์์ง๋์ด๊ฐ ํ๋ ์์ ์ ์ ์ฐ์ฑ๊ณผ ์์ฐ์ฑ์ ํฅ์์ํต๋๋ค. ์ด ๋ฌธ์๋ ๋ฆฌ๋ ์ค์์ ์์ ์ ํ๋ฉด์ ์ฐพ์ ๋ ธํธ์ ํ๋ค์ ๋ชจ์์ ๋๋ค. ๋ช ๊ฐ์ง๋ ๊ธฐ์ด์ ์ด๊ณ , ๋ช๊ฐ์ง๋ ์๋นํ ๊ตฌ์ฒด์ ์ด๋ฉฐ, ์ธ๋ จ๋๊ณ , ์ ์๋ ค์ง์ง ์์ ๊ฒ์ ๋๋ค. ์ด ๋ฌธ์๋ ๊ทธ๋ฆฌ ๊ธธ์ง ์์ง๋ง, ์ฌ๊ธฐ ์๋ ๋ชจ๋ ๊ฒ์ ์ฌ์ฉํ ์ ์๊ฒ ๋๊ณ , ๊ธฐ์ตํด๋ผ ์ ์๊ฒ ๋๋ค๋ฉด, ๋ง์ ๊ฒ์ ์๊ฒ๋๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์๋ ๋๋ถ๋ถ์ ๊ฒ์ ์๋ Quora์ ์ฌ๋ผ์จ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ฑฐ๊ธฐ์ ๊ด์ฌ์ ๊ฐ์ง๊ธฐ๋ณด๋ค, Github๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ๋ ๊ฐ์น์๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ฌ๊ธฐ์ ๋ ์ฌ๋ฅ์๋ ์ฌ๋๋ค์ด ์์ฝ๊ฒ ๊ฐ์ ์์ ์ ์ํ ์ ์๋ ๊ณณ์ด์ฃ . ๋ง์ฝ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋, ๋ ๋์์ง ์ ์๋ ๋ด์ฉ์ด ๋ณด์ธ๋ค๋ฉด, ์ด์๋ฅผ ์ ์ถํ๊ฑฐ๋ ํ ๋ฆฌํ์คํธ๋ฅผ ๋ณด๋ด์ฃผ์ธ์! (๋ฌผ๋ก meta ์น์ ๊ณผ ์ด๋ฏธ ์กด์ฌํ๋ ํ ๋ฆฌํ์คํธ์ ์ด์๋ฅผ ๋ด์ฃผ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.)
๋ฒ์:
- ์ด ๊ฐ์ด๋๋ ์ด๋ณด์์ ๊ฒฝํ์ ๋ชจ๋๋ฅผ ์ํ ๊ฒ์ ๋๋ค. ๋ชฉํ๋ ๋ฒ์(์ ๋ถ ๋ค ์ค์ํฉ๋๋ค!), ๊ตฌ์ฒด์ฑ(๋๋ถ๋ถ์ ์ผ๋ฐ์ ์ธ ์ผ์ด์ค์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์์ ), ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฒฐํจ(์ฝ๊ฒ ๋ง์ฃผ์น์ง ์๋, ์ค์ํ์ง ์๊ณ , ์ง์ฝ์ ์ธ ๊ฒ์ ํผํจ) ์ ๋๋ค. ๋ชจ๋ ํ์ ํน์ ์ํฉ์์ ๋งค์ฐ ์ค์ํ๊ฑฐ๋, ์ฌ๋ฌ ๋์๋ค ์ฌ์ด์์์ ์๊ฐ์ ํ์ฐํ๊ฒ ์ ์ฝํฉ๋๋ค.
- ์ด ๋ฌธ์๋ ๋ฆฌ๋ ์ค๋ฅผ ์ํ๊ฒ์ ๋๋ค. "OS X only"์ธ์ ์ ์ ์ธํ๊ณ ๋ง์ด์ฃ . ์ผ๋ถ๋ MacOS์์ ๋๊ฐ์ด ์ ์ฉ๋์ง ์์ต๋๋ค(Cygwin์์ ์กฐ์ฐจ ๋ง์ด์ฃ ).
- ์ธํฐ๋ํฐ๋ธ Bash์ ์ด์ ์ด ๋ง์ถ์ด์ ธ์์ต๋๋ค๋ง, ๋๋ถ๋ถ์ ํ์ ๋ค๋ฅธ ์์ด๋, general Bash ์คํฌ๋ฆฝํธ์์๋ ๋์ํฉ๋๋ค.
- ์ด ๋ฌธ์๋ "์คํ ๋ค๋" ์ ๋์ค ์ปค๋งจ๋์ ํน์ ํจํค์ง ์ค์น๋ฅผ ํ์๋ก ํ๋ ๊ฒ ๋ ๋ค ํฌํจํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ค๋ฃจ๋ ์คํ ๋ค๋ ์ปค๋งจ๋์ ํน์ ํจํค์ง์ ๋ํ ๊ฒ์ ํฌํจ๋ ๋งํผ ์ถฉ๋ถํ ์ค์ํฉ๋๋ค.
๋ ธํธ:
- ์ด ๋ฌธ์๋ฅผ ํ ํ์ผ๋ก ์ ์งํ๊ธฐ ์ํด์, ์ปจํ
์ธ ๋ค์ ์์์ ์ธ ๋ ํผ๋ฐ์ค ํํ๋ก ํฌํจ๋์ด์์ต๋๋ค. ํ ๊ฐ๋
์ด๋ ๋ช
๋ น์ด์ ๋ํด ์๊ฒ ๋ ํ์, ๋ค๋ฅธ๊ณณ์์ ๊ทธ์๋ํ ์ข ๋ ์์ธํ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์๋งํผ ๋น์ ์ ๋๋ํ ๊ฒ์
๋๋ค.
apt-get
,yum
,dnf
,pacman
,pip
,brew
(ํน์ ์ ์ ํ ๋ค๋ฅธ ๊ฒ)์ ์ด์ฉํด ์ ํ๋ก๊ทธ๋จ์ ์ค์นํ์ธ์. - Explainshell์ ์ด์ฉํด์ ๊ฐ๊ฐ์ ์ปค๋งจ๋, ์ต์ , ํ์ดํ๋ ๊ทธ ์ธ ๋ฑ๋ฑ์ด ์ด๋ค๊ฒ์ธ์ง ์์๋ณด์ญ์์ค.
-
๊ธฐ๋ณธ Bash๋ฅผ ๋ฐฐ์ฐ์ธ์. ๋งํ์๋ฉด, ์ต์ํ
man bash
๋ฅผ ์คํํ๊ณ , ์ ๋ถ๋ฅผ ํ์ด ๋ณด์ธ์. ๋งค๋ด์ผ์ ๋ด์ฉ์ ๋ฐ๋ผ๊ฐ๊ธฐ ์ฌ์ฐ๋ฉฐ ๊ทธ๋ฆฌ ๊ธธ์ง ์์ต๋๋ค. ๋ค๋ฅธ ์๋ค ๋ํ ์ข์ต๋๋ค๋ง, Bash๋ ๊ฐ๋ ฅํ๊ณ ์ธ์ ๋ ์ฌ์ฉ๊ฐ๋ฅํฉ๋๋ค( ์ค์ง zsh, fish, ๊ทธ ์ธ์ ์๋ง์ ๋น์ ์ ๋ ธํธ๋ถ์์ ์๋ํ๋ฉด์ ๋ฐฐ์ฐ๋ ๊ฒฝ์ฐ์๋, ๋ง์ ๊ฒฝ์ฐ ์ ํ์ด ์๊ธธ๊ฒ์ ๋๋ค. ์ด๋ฏธ ์กด์ฌํ๋ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ฑ์ ์ผ์์ ๋ง์ด์ฃ ). -
ํ ์คํธ ๊ธฐ๋ฐ ์๋ํฐ๋ฅผ ์ต์ํ ํ๋์ ๋ ๋ค๋ฃฐ ์ ์๊ฒ ๋ฐฐ์ฐ์ธ์. Vim(
Vi
)๊ฐ ์ด์์ ์ ๋๋ค. ํฐ๋ฏธ๋์์ ์จ๊ฐ ์์ ์ ํ๋๋ฐ ๋ค๋ฅธ ์ค์ง์ ์ธ ๊ฒฝ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ด์ฃ (Emacs, ๋ํ IDE ๋๋ ๋ชจ๋ ํ์คํฐ์ค๋ฌ์ด ์๋ํฐ๋ฅผ ๋๋ถ๋ถ์ ์์ ์ ์ฌ์ฉํ๋ค๊ณ ํด๋ ๋ง์ด์ฃ ). -
man
์ ์ด์ฉํด์ ๋ฌธ์๋ฅผ ์ฝ๋ ๋ฒ์ ๋ฐฐ์ฐ์ธ์(ํธ๊ธฐ์ฌ ๋ง์ ์ฌ๋์ ์ํด์ ํ๋ ์๊ธฐ์ ๋๋ค๋ง,man man
์ ์น์ ๋ฒํธ๋ค์ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 1์ "regular" ์ปค๋งจ๋, 5๋ files/conventions, ๊ทธ๋ฆฌ๊ณ 8์ administration์ด์ฃ ).apropos
๋ฅผ ํ์ฉํด์ man ํ์ด์ง๋ฅผ ์ฐพ์ผ์ธ์. ๋ช๋ช ์ปค๋งจ๋๋ ์คํ๊ฐ๋ฅํ ์ปค๋งจ๋๊ฐ ์๋๋ผ๋ ๊ฒ์ ์์๋์ธ์. ํ์ง๋ง Bash ๋นํธ์ธ ํจ์๋ค์help
์help -d
๋ฅผ ์ด์ฉํด์ ๋์๋ง์ ๋ณผ ์ ์์ต๋๋ค. -
>
์<
,|
๋ฅผ ์ด์ฉํ ํ์ดํ๋ฅผ ์ฌ์ฉํด์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ฆฌ๋ค์ด๋ ์ ์ ๋ฐฐ์ฐ์ธ์.>
๋ ์ถ๋ ฅ ํ์ผ์ ๋ฎ์ด ์์ฐ๊ณ ,>>
๋ ๋ง๋ถ์ด๋๊ฑธ ์์๋์ธ์. stdout(์ญ์ฃผ: ํ์ค ์ถ๋ ฅ)๊ณผ stderr(์ญ์ฃผ: ํ์ค ์๋ฌ ์ถ๋ ฅ)์ ๋ํด์ ๋ฐฐ์ฐ์ธ์. -
*
(๊ทธ๋ฆฌ๊ณ ์๋ง๋?
๊ณผ{
...}
)์ ์ด์ฉํ๋ ํ์ผ ๊ธ๋กญ(glob) ํ์ฅ์ ๋ฐฐ์ฐ์ธ์. ๊ทธ๋ฆฌ๊ณ ์๋ฐ์ดํ"
์ ํ๋ฐ์ดํ'
์ ์ฐจ์ด๋ฅผ ๋ฐฐ์ฐ์ธ์. (๋ณ์ ํ์ฅ์ ๋ํด์ ๋ ๋ณด๋ ค๋ฉด ์๋๋ฅผ ์ฐธ์กฐํ์ธ์) -
Bash ์์ ๊ด๋ฆฌ์ ์ต์ํด์ง์ธ์.
&
, ctrl-z, ctrl-c,jobs
,fg
,bg
,kill
๋ฑ๋ฑ. -
ssh
๋ฅผ ๋ฐฐ์ฐ๊ณ ,ssh-agent
,ssh-add
๋ฅผ ํตํด์ ๋น๋ฐ๋ฒํธ ์๋ ์ธ์ฆ ๋ฐฉ์์ ๊ธฐ๋ณธ์ ๋ฐฐ์ฐ์ธ์. -
๊ธฐ๋ณธ ํ์ผ ๊ด๋ฆฌ:
ls
์ls -l
(ํน๋ณํ,ls -l
์์ ๊ฐ๊ฐ์ ์ด์ด ๋ฌด์จ ์๋ฏธ์ธ์ง ๋ฐฐ์ฐ์ธ์),less
,head
,tail
๊ทธ๋ฆฌ๊ณtail -f
(๋๋ ๋ ์ข์less +F
),ln
๊ณผln -s
(ํ๋ ๋งํฌ์ ์ํํธ ๋งํฌ์ ์ฐจ์ด์ ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ ๋ฐฐ์ฐ์ธ์),chown
,chmod
,du
( ๋์คํฌ ์ฌ์ฉ๋์ ๋น ๋ฅธ ์์ฝ์ ๋ณด๋ ค๋ฉดdu -hs *
). ํ์ผ ์์คํ ๊ด๋ฆฌ๋ฅผ ์ํด์๋df
,mount
,fdisk
,mkfs
,lsblk
. -
๊ธฐ๋ณธ ๋คํธ์ํฌ ๊ด๋ฆฌ:
ip
๋๋ifconfig
,dig
. -
์ ๊ทํํ์(regular expression)์ ์ ์์๋์ธ์. ๊ทธ๋ฆฌ๊ณ
grep
/egrep
์ ๋ค์ํ ํ๋๊ทธ๋ ์์๋์ธ์.-i
,-o
,-v
,-A
,-B
์-C
์ต์ ์ ์์๋ ๊ฐ์น๊ฐ ์์ต๋๋ค. -
apt-get
,yum
,dnf
๋๋pacman
์ ์ด์ฉํ์ฌ ํจํค์ง๋ฅผ ์ฐพ๊ณ ์ค์นํ๋ ๋ฒ์ ๋ฐฐ์ฐ์ธ์. ๊ทธ๋ฆฌ๊ณpip
๊ฐ ์ค์น๋์ด์๋์ง ํ์ธํด์, ํ์ด์ ๊ธฐ๋ฐ์ ์ปค๋งจ๋ ๋ผ์ธ ๋๊ตฌ๋ฅผ ์ค์นํ ์ ์๋๋ก ํ์ธ์(๋ฐ์ ์ค๋ช ๋ ๊ฒ์ค ๋ช๊ฐ์ง๋pip
๋ฅผ ์ด์ฉํด ์ค์นํ๋๊ฒ ์ ์ผ ์ฝ์ต๋๋ค.
-
Bash ์์ Tab์ ์ฐ๋ฉด argument๋ฅผ ์์ฑํ๊ณ , ctrl-r์ ์ฐ๋ฉด ์ปค๋งจ๋ ํ์คํ ๋ฆฌ์์ ๊ฒ์ํฉ๋๋ค.
-
Bash์์ ctrl-w๋ ๋ง์ง๋ง ๋จ์ด๋ฅผ ์ง์๋๋ค. ctrl-u๋ ๋ผ์ธ์ ์ฒ์๊น์ง ์ ๋ถ๋ค ์ง์๋๋ค. alt-b์ alt-f๋ฅผ ์ด์ฉํด์ ๋จ์ด ๋จ์๋ก ์ด๋ํ ์ ์์ต๋๋ค. ctrl-a๋ก ๋ผ์ธ์ ์์์ ์ผ๋ก ์ด๋ํ ์ ์๊ณ ctrl-e๋ก ๋ผ์ธ์ ๋์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค. ctrl-k๋ ์ปค์ ์์น๋ถํฐ ๋ผ์ธ์ ๋๊น์ง ์ง์๋๋ค. ctrl-l์ ํ๋ฉด์ ๊นจ๋ํ๊ฒ ํฉ๋๋ค.
man readline
์ ์ด์ฉํด์ Bash์ ๊ธฐ๋ณธ ํค ์กฐํฉ์ ์ดํด๋ณด์ธ์. ๋ง์ ๊ฒ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด **alt-.**๊ฐ์ ๊ฒฝ์ฐ, ์ด๊ฑด argument๋ฅผ ๋์๊ฐ๋ฉด์ ๋ํ๋ด๊ณ **alt-***๋ ๊ธ๋กญ์ ํ์ฅํฉ๋๋ค. -
vi ์คํ์ผ์ ํค ์กฐํฉ์ ์ฌ๋ํ๋ค๋ฉด,
set -o vi
๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. -
์ต๊ทผ ์ฌ์ฉํ ์ปค๋งจ๋๋ฅผ ๋ณด๋ ค๋ฉด
history
๋ฅผ ์ ๋ ฅํ์ธ์.!$
(๋ง์ง๋ง argument),!!
(๋ง์ง๋ง ์ปค๋งจ๋)์ ๊ฐ์ ์ฝ์ด๋ค์ด ๋งค์ฐ ๋ง์ต๋๋ค. ๋น๋ก ์ด๋ฐ ๊ฒ๋ค์ด ctrl-r์ด๋ **alt-.**๋ช ๋ น์ด๋ก ์์ฃผ ๋์ฒด๋๊ธฐ ์ฝ์ง๋ง์. -
์ด์ ์ ์์ ํ๋ ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๋ ค๋ฉด
cd -
๋ฅผ ์ฌ์ฉํ์ธ์. -
์ปค๋งจ๋๋ฅผ ํ์ดํ ํ๋ ๋์ค์ ๋ง์์ด ๋ฐ๋์๋ค๋ฉด, **alt-#**์ ์ณ์ ์์์ ์
#
์ ์ฝ์ ํ๊ณ , ์ํฐ๋ฅผ ์ณ์ ์ฝ๋ฉํธ๋ก ์ฌ๊ฒจ์ง๊ฒ ํ์ธ์(๋๋ ctrl-a, #, enter). ๋์ค์ ์ปค๋งจ๋ ํ์คํ ๋ฆฌ์์ ์ฐพ์์ ํ์ดํ ์ค์ด์๋ ์ปค๋งจ๋๋ก ๋์์ฌ ์ ์์ต๋๋ค. -
xargs
(ํน์parallel
)๋ฅผ ์ฌ์ฉํ์ธ์. ๋งค์ฐ ๊ฐ๋ ฅํฉ๋๋ค. ๋ผ์ธ๋น ๋ช๊ฐ์ ์์ดํ ์ด ์คํ๋๊ฒ ํ ๊ฒ์ธ์ง(-L
) ๊ทธ๊ฑธ ๋ณ๋ ฌ๋ก ํ ๊ฒ์ธ์ง(-P
)๋ฅผ ์ ์ดํ ์ ์๋ค๋๊ฑธ ๊ธฐ์ตํ์ธ์. ์ ๋๋ก ํ๊ณ ์๋์ง ํ์ ํ ์ ์๋ค๋ฉดxargs echo
๋ฅผ ๋จผ์ ์คํํด๋ณด์ธ์. ๋-I{}
๋ ๊ฐํธํฉ๋๋ค. ์์:
find . -name '*.py' | xargs grep some_function
cat hosts | xargs -I{} ssh root@{} hostname
-
pstree -p
๋ ํ๋ก์ธ์ค ํธ๋ฆฌ๋ฅผ ํ์ํ๋๋ฐ ๋์์ด ๋ฉ๋๋ค. -
pgrep
๊ณผpkill
์ ์ฌ์ฉํด์ ํ๋ก์ธ์ค๋ฅผ ์ฐพ๊ฑฐ๋ ์๊ทธ๋์ ๋ณด๋ด์ธ์(-f
๊ฐ ์ ์ฉํฉ๋๋ค). -
ํ๋ก์ธ์ค์ ๋ณด๋ผ ์ ์๋ ๋ค์ํ ์๊ทธ๋์ ์์๋์ธ์. ์๋ฅผ ๋ค์ด, ํ๋ก์ธ์ค๋ฅผ ์ผ์์ค์ง ํ ๋๋
kill -STOP [pid]
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ ์ฒด ๋ชฉ๋ก์man 7 signal
์์ ๋ณผ ์ ์์ต๋๋ค. -
๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ ๋์๊ฐ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด,
nohup
์ด๋disown
์ ์ฌ์ฉํ์ธ์. -
์ด๋ค ํ๋ก์ธ์ค๊ฐ ๋ฆฌ์ค๋(์ญ์ฃผ: ํน์ ํฌํธ๋ก ๋ค์ด์ค๋ ํจํท ๋ฆฌ์ค๋)์ ํ๊ณ ์๋์ง ์๋ ค๋ฉด
netstat -lntp
๋ss -plat
์ ์ฌ์ฉํด์ ์ ์ ์์ต๋๋ค(TCP์ผ ๊ฒฝ์ฐ์ ๋๋ค. UDP์ ๊ฒฝ์ฐ-u
์ต์ ์ ์ถ๊ฐํ์ธ์). -
lsof
๋ฅผ ์ด์ฉํด์ ์ด๋ ค์๋ ์์ผ๊ณผ ํ์ผ์ ๋ณผ ์ ์์ต๋๋ค. -
Bash ์คํฌ๋ฆฝํธ์์
set -x
๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ฒ๊น ์ฉ ์ถ๋ ฅ์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์คํธ๋ฆญํธ ๋ชจ๋(strict mode)๊ฐ ๊ฐ๋ฅํ ๋๋ฉด ์ฌ์ฉํ์ธ์.set -e
๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฌ๊ฐ ๋ฌ์๋ ์ค๋จ์ํค๊ฒ๋ฉ๋๋ค.set -o pipefail
์ ์ฌ์ฉํ๋ฉด ์๋ฌ์ ๋ํด์ ๊ฐ๊ฒฝํ ๊ธฐ์ค์ ์ ์ฉํฉ๋๋ค(์ด ์ฃผ์ ๊ฐ ์กฐ๊ธ ๋ฏธ๋ฌํ์ง๋ง ๋ง์ด์ฃ ). ๋ ๋ณต์กํ ์คํฌ๋ฆฝํธ์ ๊ฒฝ์ฐtrap
๋ํ ์ฌ์ฉํฉ๋๋ค. -
uptime
์ด๋w
๋ฅผ ์ด์ฉํด์ ์์คํ ์ด ์ผ๋ง๋ ์ค๋ ์คํ์ค์ธ์ง ์ ์ ์์ต๋๋ค. -
์์ฃผ ์ฌ์ฉ๋๋ ์ปค๋งจ๋์ ๋ํด์
alias
๋ฅผ ์ด์ฉํด์ ์์ปท์ ๋ง๋์ธ์. ์๋ฅผ๋ค์ด,alias ll='las -latr'
์ ์ ๋จ์ถ๋ช ๋ นll
์ ๋ง๋ญ๋๋ค. -
Bash ์คํฌ๋ฆฝํธ์์ (๊ดํธ๋ก ๋๋ฌ์์ฌ ์์ฑ๋) ์๋ธ์์ ์ปค๋งจ๋๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๋ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ธ ์๋ก, ์์๋ก ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ ์์ ํ๋ ๊ฒ์ด ์์ต๋๋ค.
# do something in current dir
(cd /some/other/dir && other-command)
# continue in original dir
-
Bash ์๋ ์ฌ๋ฌ๊ฐ์ง ๋ค์ํ ๋ณ์ ํ์ฅ์ด ์๋ค๋ ๊ฒ์ ์์๋์ธ์. ๋ณ์๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๋ ค๋ฉด
${name:?error message}
๋ฅผ ์ฌ์ฉํ์ธ์. ์๋ฅผ ๋ค์ด Bash ์คํฌ๋ฆฝํธ๊ฐ ํ๋์ argument๋ฅผ ์๊ตฌํ๋ค๋ฉด,input_file=${1:?usage: $0 input_file}
๋ฅผ ์ฌ์ฉํ์ธ์. ์ฐ์ ํ์ฅ์i=$(( (i + 1) % 5 ))
์ฒ๋ผ ์ฌ์ฉํฉ๋๋ค. ์์ด์{1...10}
์ฒ๋ผ ์ฌ์ฉํฉ๋๋ค. ๋ฌธ์์ด ํธ๋ฆฌ๋ฐ(trimmin)์${var%suffix}
์ด๋${var#prefix}
์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ดvar=foo.pdf
๋ผ๋ฉด,echo ${var$.pdf}.txt
๋foo.txt
๋ฅผ ์ถ๋ ฅํฉ๋๋ค. -
์ปค๋งจ๋์ ์คํ ๊ฒฐ๊ณผ ์ถ๋ ฅ๋ฌผ์
<(some command)
์ฒ๋ผ ์ด์ฉํด์ ํ์ผ์ฒ๋ผ ๋ค๋ค์ง ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด ๋ก์ปฌ์/etc/hosts
๋ฅผ ๋ฆฌ๋ชจํธ์ ๊ฒ๊ณผ ๋น๊ตํ๋ ค๋ฉด ๋ค์์ฒ๋ผ ํ๋ฉด ๋ฉ๋๋ค.
diff /etc/hosts <(ssh somehost cat /etc/hosts)
-
cat << EOF...
๊ฐ์ "here documents"์ ๋ํด์ ์์๋์ธ์. -
Bash์์ ํ์ค ์ถ๋ ฅ(standard output)๊ณผ ํ์ค ์๋ฌ(standard error) ๋ ๋ค
some-command > logfile 2>&1
๊ฐ์ ๋ช ๋ น์ด๋ก ๋ฆฌ๋ค์ด๋ ํธํ ์ ์์ต๋๋ค. ์ข ์ข , ์ปค๋งจ๋๊ฐ ์ด๋ฆฐ ํ์ผ ํธ๋ค์ ๋จ๊ธฐ์ง ์๋ ๊ฒ์ ํ์คํ ํ๊ธฐ ์ํด, ํ์ฌ ์์ ์ค์ธ ํฐ๋ฏธ๋์์ ๋ช ๋ น์ด์</dev/null
์ ๋ง๋ถ์ด๋ ๊ฒ์ ์ข์ ์ต๊ด์ ๋๋ค. -
man ascii
๋ฅผ ์ฌ์ฉํด์ ํฅ์ค๊ฐ๊ณผ 10์ง ๊ฐ์ด ๊ฐ์ด ์๋ ํ๋ฅญํ ASCII ํ ์ด๋ธ์ ๋ณผ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ์ธ์ฝ๋ฉ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉดman unicode
,man utf-8
๊ทธ๋ฆฌ๊ณman latin1
์ ์ด์ฉํ ์ ์์ต๋๋ค. -
screen
์ ์ด์ฉํ๊ฑฐ๋tmux
๋ฅผ ์ด์ฉํด์ ํ๋ฉด์ ๋ค์ค๋ถํ ํ ์ ์์ต๋๋ค. ํนํ ๋ฆฌ๋ชจํธ ssh ์ธ์ ์ ๋ผ์ด๋ด๊ณ (detach) ๋ค์ ๋ถ์ด๋๋ฐ(re-attach)ํ๋๋ฐ ์ ์ฉํฉ๋๋ค. ์ธ์ ์ ์๊ตฌํ ์ ์งํ๋ ์ต์ํ์ ๋์์ ์ค์งdtach
๋ฐ์ ์์ต๋๋ค. -
ssh์์
-L
์ด๋-D
(๊ฐ๋-R
)๋ฅผ ์ด์ฉํด์ ํฌํธ ํฐ๋๋งํ๋ ๊ฒ์ ์์๋์๋ฉด ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฆฌ๋ชจํธ ์๋ฒ๋ฅผ ๊ฒฝ์ ํด์ ์น์ฌ์ดํธ์ ์ ์ํ๋ค๊ฑฐ๋ ํ ๋ ๋ง์ด์ฃ . -
๋ช๊ฐ์ง ssh ์ค์ ์ ์ต์ ํํ๋ ๊ฒ์ ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด
~/.ssh/config
๋ ํน์ ๋คํธ์ํฌ ํ๊ฒฝ์์ ์ฐ๊ฒฐ์ด ๋๊ธฐ๋ ๊ฒ์ ํํผํ๊ธฐ ์ํด ์์ถ์ ์ฌ์ฉํ๋ ์ค์ ๋ค์ ๋ด๊ณ ์์ต๋๋ค(ํนํ scp ๋ช ๋ น์ด๋ฅผ ๋ฎ์ ๋์ญํญ ์ฐ๊ฒฐ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๋์์ด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ก์ปฌ ์ ์ด ํ์ผ์์ ๊ฐ์ ์๋ฒ๋ก ์ฐ๊ฒฐํ๋ ์ฑ๋์ ๋ค์คํํ ์ ์์ต๋๋ค.
TCPKeepAlive=yes
ServerAliveInterval=15
ServerAliveCountMax=6
Compression=yes
ControlMaster auto
ControlPath /tmp/%r@%h:%p
ControlPersist yes
-
ssh์ ๋ช ๊ฐ์ง ์ต์ ๋ค์ ๋ณด์์ ๋ฏผ๊ฐํ ์ต์ ์ด๋ฉฐ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์ฌ์ฉ๋์ด์ผํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ธ๋ท, ํธ์คํธ ๋๋ ์ ๋ขฐ๋๋ ๋คํธ์ํฌ์์
StrictHostKeyChecking=no
,ForwardAgent=yes
์ ์ฌ์ฉํ๋ ๊ฒ ๋ฑ์ ๋๋ค. -
์์คํ ์ค์ ์ ์ ์ฉํ์ง๋ง
ls
๋ก ์ป์ ์ ์๊ณ ์ฝ๊ฒ ์๋ง์ด ๋๊ธฐ ์ฌ์ด ํ์ผ์ ๊ถํ์ 8์ง๋ฒ ํํ๋ก ์ป์ผ๋ ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ ์ปค๋งจ๋๋ฅผ ์ฌ์ฉํ์ธ์.
stat -c '%A %a %n' /etc/timezone
-
๋ค๋ฅธ ์ปค๋งจ๋์ ์ถ๋ ฅ๊ณผ ์ํธ์์ฉํ๋ฉด์ ๊ฐ์ ์ ํํ๋ ค๋ฉด
percol
์ด๋fzf
๋ฅผ ์ฌ์ฉํ์ธ์. -
๋ค๋ฅธ ์ปค๋งจ๋(์๋ฅผ ๋ค๋ฉด
git
)์ ์ถ๋ ฅ์ ๊ธฐ๋ฐํ๋ ํ์ผ๊ณผ ์ํธ์์ฉํ๋ ค๋ฉด,fpp
(PathPicker)๋ฅผ ์ฌ์ฉํ์ธ์. -
ํ์ฌ ๋คํธ์ํฌ์ ์๋ ์ฌ์ฉ์๋ค์๊ฒ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ ํ์ผ(๊ณผ ํ์ ๋๋ ํ ๋ฆฌ)๋ฅผ ์ํ ๋จ์ํ ์น์๋ฒ๋ฅผ ์ํ๋ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ธ์:
python -m SimpleHTTPServer 7777
(7777ํฌํธ, Python 2) ๊ทธ๋ฆฌ๊ณpython -m http.server 7777
(7777ํฌํธ, Python 3). -
๊ถํ์ ๊ฐ์ง๊ณ ์ปค๋งจ๋๋ฅผ ์คํํ๋ ค๋ฉด,
sudo
(root ์ ์ ๊ถํ)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋,sudo -u
(๋ค๋ฅธ ์ ์ ๊ถํ)์ ์ฌ์ฉํ์ธ์.su
๋sudo bash
๋ ์์ ํด๋น ์ ์ ์ธ ๊ฒ์ฒ๋ผ ์คํ์ํต๋๋ค.su -
๋ ์ ๋ก๊ทธ์ธ์ root์ด ๋ค๋ฅธ ์ ์ ์ธ๊ฒ์ฒ๋ผ ์๋ฎฌ๋ ์ดํธ ํฉ๋๋ค.
-
ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ํ์ผ์ ์ด๋ฆ์ผ๋ก ์ฐพ์ผ๋ ค๋ฉด
find . -iname '*something*'
(๋๋ ๋น์ทํ๊ฒ)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์ด๋๊ณณ์ ์๋ ํ์ผ์ ์ด๋ฆ์ผ๋ก ์ฐพ์ผ๋ ค๋ฉดlocate something
์ ์ฌ์ฉํ์ธ์(ํ์ง๋ง ์ธ๋ด๋ฅผ ๊ฐ์ ธ์ผํฉ๋๋ค.updatedb
๊ฐ ์ต๊ทผ์ ์์ฑ๋ ํ์ผ์ ์ธ๋ฑ์ฑํ์ง ์์์ ์ ์์ต๋๋ค). -
์์ค๋ ๋ฐ์ดํฐ ํ์ผ๋ค์์ ์ผ๋ฐ์ ์ธ ๊ฒ์์ ํ ๋๋(
grep -r
๋ณด๋ค ๋ ๋ณต์กํ ๋),ag
๋ฅผ ์ฌ์ฉํ์ธ์. -
HTML์ ํ ์คํธ๋ก ๋ณํํ ๋๋
lynx -dump -stdin
๋ฅผ ์ฌ์ฉํ์ธ์. -
๋งํฌ๋ค์ด, HTML, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ์ข ๋ฅ์ ๋ฌธ์ ๋ณํ์๋
pandoc
์ ์๋ํด๋ณด์ธ์. -
XML์ ๋ฐ๋์ ๋ค๋ค์ผํ๋ค๋ฉด,
xmlstarlet
์ ์ฌ์ฉํ์ธ์. ์ค๋๋์์ง๋ง ์ข์ต๋๋ค. -
JSON์๋
jq
๋ฅผ ์ฌ์ฉํ์ธ์. -
Excel์ด๋ CSVํ์ผ์๋ csvkit๊ฐ
in2csv
,csvcut
,csvjoin
,csvgrep
์ธ ๋ค๋ฅธ ๋๊ตฌ๋ค์ ์ ๊ณตํฉ๋๋ค.. -
Amazon S3๋ฅผ ๋ค๋ฃฐ๋๋
s3cmd
๊ฐ ํธ๋ฆฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณs4cmd
๋ ๋น ๋ฆ ๋๋ค. Amazon์aws
๋ ๋ค๋ฅธ AWS ๊ด๋ จ ์์ ์ ํต์ฌ์ ์ธ ๋๊ตฌ์ ๋๋ค. -
sort
์uniq
์ ๋ํด์ ์์๋์ธ์. uniq์-u
,-d
์ต์ ์ ํฌํจํด์ ๋ง์ด์ฃ . ํ๋จ์ one-liner๋ฅผ ๋ณด์ธ์. ๊ทธ๋ฆฌ๊ณcomm
๋ ๋ณด์ธ์. -
ํ ์คํธ ํ์ผ๋ค์ ๋ค๋ฃจ๋
cut
,paste
๊ทธ๋ฆฌ๊ณjoin
์ ๋ํด์ ์์๋์ธ์. ๋ง์ ์ฌ๋๋ค์ดcut
์ ์ฌ์ฉํ์ง๋งjoin
์ ๋ํด์๋ ์๊ณ ์์ต๋๋ค. -
wc
๋ฅผ ์ด์ฉํด์ ํ(-l
), ์บ๋ฆญํฐ(-m
), ๋จ์ด(-w
) ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํธ(-c
)๋ฅผ ์ธ๋ ๊ฒ์ ์์๋์ธ์. -
tee
๋ฅผ ์ด์ฉํด์ls -al | tee file.txt
์ฒ๋ผ, ํ์ค์ ๋ ฅ(stdin)์์ ๋ณต์ฌํด์ ํ์ผ๋ก ๋ณด๋ด๊ฑฐ๋, ํ์ค ์ถ๋ ฅ(stdout)์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ ์์๋์ธ์. -
๋ก์ผ์ผ์ด ์ปค๋งจ๋๋ผ์ธ ๋๊ตฌ์ ์ ๋ ฌ ์์(collation)์ ํผํฌ๋จผ์ค๋ฅผ ํฌํจํด์ ๋ฏธ๋ฌํ๊ฒ ์ํฅ์ ๋ผ์น๋ ๊ฒ์ ์์๋์ธ์. ๋๋ถ๋ถ์ ๋ฆฌ๋ ์ค ์ค์น๋
LANG
์ด๋ ๋ค๋ฅธ ๋ก์ผ์ผ ๋ณ์๋ฅผ US English์ ๊ฐ์ ๋ก์ปฌ ์ธํ ์ผ๋ก ์ค์ ํฉ๋๋ค. ํ์ง๋ง ๋ก์ผ์ผ์ ๋ฐ๊ฟ ๊ฒฝ์ฐ ์ ๋ ฌ๋ ๋ฐ๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ฃผ์ํ์ธ์. ๊ทธ๋ฆฌ๊ณ i18n ๋ฃจํด๋ค๋ ์ ๋ ฌ์ด๋ ๋ค๋ฅธ ์ปค๋งจ๋๋ค์ ๋ช ๋ฐฐ ๋๋ฆฌ๊ฒ ํ ์ ์์ต๋๋ค.export LC_ALL=C
๋ฅผ ์ฌ์ฉํ์ฌ, ์ด๋ค ์ํฉ์์๋( ๋ฐ์ ์๋ ์งํฉ(set) ์์ ์ด๋, ์ ์ผ์ฑ ์์ ๋ฑ) i18n์ ๋๋ฆฐ ๋ฃจํด๋ค์ ํต์ฑ๋ก ์์ ํ๊ฒ ๋ฌด์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํต์ ์ธ ๋ฐ์ดํธ ๊ธฐ๋ฐ์ ์ ๋ ฌ ์์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. -
๊ฐ๋จํ ๋ฐ์ดํฐ ์กฐ์์ ํ ๋
awk
์sed
๋ฅผ ์ด์ฉํ๋ ๊ฒ์ ์์๋์ธ์. ์๋ฅผ ๋ค์ด ํ ์คํธ ํ์ผ์ ์ธ๋ฒ์งธ ์ด์ ์ซ์๋ค์ ๋ชจ๋ ๊ฐ์ ๋ํ๋ ๊ฒ์ ์ด๋ ๊ฒ ํฉ๋๋ค:awk '{ x += $3 } END { print x }'
. ์ด ๋ฐฉ๋ฒ์ ๊ฐ์ ์ผ์ ํ๋ ํ์ด์ฌ ์ฝ๋๋ณด๋ค 3๋ฐฐ์ ๋ ๋น ๋ฅด๊ณ , 1/3์ ๋์ ๊ธธ์ด๋ฐ์ ์๋ฉ๋๋ค. -
ํ๋ ์ด์์ ํ์ผ์์ ์ถ๊ฐ์ ์ธ ํ์ผ์ ์์ฑํ์ง ์๊ณ ๋ฌธ์์ด ๋ฐ๊พธ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ธ์.
perl -pi.bak -e 's/old-string/new-string/g' my-files-*.txt
- ํ๋ฒ์ ๋ง์ ํ์ผ์ ํจํด์ ๋ฐ๋ผ์ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ๋ฅผ ํ๋ ค๋ฉด,
rename
์ ์ฌ์ฉํ์ธ์. ๋ณด๋ค ๋ณต์กํ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ๋,repren
์ด ๋์์ด ๋ ๊ฒ์ ๋๋ค.
# Recover backup files foo.bak -> foo:
rename 's/\.bak$//' *.bak
# Full rename of filenames, directories, and contents foo -> bar:
repren --full --preserve-case --from foo --to bar .
shuf
๋ฅผ ์ฌ์ฉํด์ ํ์ผ์์ ์์์ ํ์ ์ ํํ๊ฑฐ๋, ์์ ์ ์์ต๋๋ค.
-
sort
์ ์ต์ ๋ค์ ์์๋์ธ์.-n
์ ์ซ์๋ฅผ ์ ๋ ฌํ ๋,-h
๋ ์ฌ๋์ด ์ฝ์ ์ ์๊ฒ ์์ฑํ ์ซ์์ ๊ฒฝ์ฐ(du -h
์ ๊ฐ์ ํํ). ํค๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์์๋์ธ์(-t
์-k
). ํน๋ณํ, ์ฒซ๋ฒ์งธ ํ๋๋ก๋ง ์ ๋ ฌํด์ผ ํ๋ค๋ฉด-k1,1
์ ์ ์ด์ผ ํ๋ค๋๊ฑธ ์ฃผ์ํ์ธ์.-k1
์ ๋ชจ๋ ํ์ ๋ํด์ ์ ๋ ฌํ๋ผ๋ ๋ป์ ๋๋ค. ์์ ์ ์ธ ์ ๋ ฌ(sort -s
)๋ ์ ์ฉํฉ๋๋ค. ์๋ฅผ๋ค์ด, ๋จผ์ 2๋ฒ ํ๋๋ก ์ ๋ ฌํ๊ณ , ๊ทธ ๋ค์์ 1๋ฒ ํ๋๋ก ์ ๋ ฌํ ๊ฒฝ์ฐ,sort -k1,1 | sort -s -k2,2
์ฒ๋ผ ํ ์ ์์ต๋๋ค. -
๋ง์ฝ ํญ(tab)๋ฌธ์๋ฅผ Bash ์ปค๋งจ๋ ๋ผ์ธ์ ์ฌ์ฉํด์ผ ํ ํ์๊ฐ ์๊ธธ ๊ฒฝ์ฐ(์๋ฅผ ๋ค๋ฉด -t argument๋ฅผ ์ด์ฉํด ์ ๋ ฌ ํ ๋), ctrl-v **[Tab]**ํค๋ฅผ ๋๋ฅด๊ฑฐ๋,
$'\t'
๋ฅผ ์ฐ์ธ์(๋ฌธ์์ชฝ์ด ๋ณต์ฌ๋ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ ์ ์์ด ๋ ๋ซ์ต๋๋ค.). -
์์ค์ฝ๋๋ฅผ ํจ์นํ๋ ๊ธฐ๋ณธ ๋๊ตฌ๋
diff
์patch
์ ๋๋ค. diff์ ํต๊ณ ์์ฝ์ ๋ณด๋ ค๋ฉดdiffstat
๋ฅผ ๋ณด์ธ์.diff -r
์ ๋ชจ๋ ๋๋ ํ ๋ฆฌ์ ๋ํด ์์ ์ ์ํํ๋๊ฑธ ์์๋์ธ์.diff -r tree1 tree2 | diffstat
์ผ๋ก ๋ณ๊ฒฝ ๋ด์ญ์ ์์ฝ์ ๋ณผ ์ ์์ต๋๋ค. -
๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๊ฐ๋จํ๊ฒ hex ๋คํ๋ฅผ ๋จ๊ณ ์ถ์ ๋๋
hd
๋ฅผ ์ฐ์ธ์. ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์์ ํ ๋๋bvi
๋ฅผ ์ฌ์ฉํ์ธ์. -
strings
(๊ทธ๋ฆฌ๊ณgrep
, ๋ฑ) ์ ์ฌ์ฉํด์ ๋ฐ์ด๋๋ฆฌ ํ์ผ ์์์ ๋ฌธ์์ด ๋นํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. -
๋ฐ์ด๋๋ฆฌ ํ์ผ์ diffํ๋ ค๋ฉด(๋ธํ ์์ถ),
xdelta3
๋ฅผ ์ฌ์ฉํ์ธ์. -
ํ ์คํธ ํ์ผ ์ธ์ฝ๋ฉ์ ๋ณ๊ฒฝํ๋ ค๋ฉด
iconv
๋ฅผ ์๋ํด๋ณด์ธ์. ๋๋uconv
๋ ๋ ๋ณต์กํ ๋ชฉ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.uconv
๋ ๋ช๊ฐ์ง ๋ณต์กํ ์ ๋์ฝ๋๋ฅผ ์ง์ํฉ๋๋ค. ์๋ฅผ๋ค์ด, ์๋ฌธ์ํํ๊ณ ๋ชจ๋ ์ ์ผํธ๋ฅผ ์ ๊ฑฐํ๋(ํ์ฅํ๊ณ , ๋จ์ดํธ๋ฆฌ๋ ๊ฒ์ ์ด์ฉํด์) ์ปค๋งจ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
uconv -f utf-8 -t utf-8 -x '::Any-Lower; ::Any-NFD; [:Nonspacing Mark:] >; ::Any-NFC; ' < input.txt > output.txt
-
ํ์ผ์ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋๋ ค๋ฉด
split
(ํ์ผ์ ์ฌ์ด์ฆ๋ก ๋๋)์ด๋csplit
(ํ์ผ์ ํจํด์ผ๋ก ๋๋)์ ๋ณด์ธ์. -
zless
,zmore
,zcat
๊ทธ๋ฆฌ๊ณzgrep
์ ์ด์ฉํด์ ์์ถ๋ ํ์ผ์ ๋ํด ์์ ํ์ธ์.
-
์น ๋๋ฒ๊น ์ ์ํด์๋
curl
์curl -I
๊ฐ ๋์์ด ๋๊ณ ,wget
๋ ๊ฝค ๋์์ด ๋ฉ๋๋ค. ๊ทธ์ธ์ ๋ณด๋ค ํ๋์ ์ธ ๋ฐฉ์์ผ๋ก๋httpie
์ด ์์ต๋๋ค. -
๋์คํฌ/cpu/๋คํธ์ํฌ์ ์ํ๋ฅผ ์๊ธฐ ์ํด์๋ ๊ฐ๊ฐ
iostat
,netstat
,top
(ํน์ ๋ ๋์ ๋ช ๋ น์ด์ธhtop
), ๊ทธ๋ฆฌ๊ณ ํนํdstat
์ ์ฌ์ฉํ์ธ์. ์์คํ ์ ์ด๋ ํ์ผ์ด ์ผ์ด๋ฌ๋์ง๋ฅผ ๋น ๋ฅด๊ฒ ์์๋ด๋๋ฐ ๋งค์ฐ ์ข์ต๋๋ค. -
๋ณด๋ค ์์คํ ์ ์ฌ์ธต์ ์ธ ๋ฉด๋ค์ ๋ณด๋ ค๋ฉด
glances
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์. ์ด ์ปค๋งจ๋๋ ํ ํฐ๋ฏธ๋์์ ์ฌ๋ฌ ์์คํ ์์ค์ ํต๊ณ์๋ฃ๋ค์ ๋ณด์ฌ์ค๋๋ค. ๋น ๋ฅด๊ฒ ์ฌ๋ฌ ์๋ธ์์คํ ๋ค์ ์ฒดํฌํ๋๋ฐ ๋งค์ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. -
๋ฉ๋ชจ๋ฆฌ์ ์ํ๋ฅผ ์์๋ณด๋ ค๋ฉด
free
์vmstat
๋ฅผ ์คํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํด์ํด๋ณด์ธ์. ํนํ, "cached" ๊ฐ์ Linux kernel์ ์ํด file cache๋ก ์กํ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ผ๋ ๊ฒ์ ์๊ณ ์์ด์ผ ํ๊ณ ๊ทธ๋์ "free"๊ฐ์ ๋ํด์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ๊ณ์ฐํ ์ ์์ต๋๋ค. -
Java ์์คํ ์ ๋๋ฒ๊น ์ ์กฐ๊ธ ๋ค๋ฅธ์ํฉ์ ๋๋ค. ํ์ง๋ง Oracle๊ณผ ๊ทธ ์ธ์ ํ์ฌ์์ ๋ง๋ ๋ค๋ฅธ JVM๋ค์์๋
kill -3 <pid>
๋ฅผ ์คํํ๋ฉด ์ ์ฒด stack trace์ ๋ณด์ heap์ ์ ๋ณด(์๊ธฐ๋ณ๋ก ๊ฐ๋น์ง ์ฝ๋ ํฐ์ ์ธ๋ถ์ ์ธ ๋ด์ฉ๊ฐ์ ๋งค์ฐ ์ ์ฉํ ์ ๋ณด)๋ฅผ ์์ฝํ์ฌ stderr๋ ๋ก๊ทธ๋ก ์ถ๋ ฅํด์ฃผ๋ฏ๋ก ๊ฐ๋จํ๊ฒ ์ ๋ณด๋ฅผ ์ป์ด์ฌ ์ ์์ต๋๋ค. JDK์jps
,jstat
,jstack
,jmap
๋ช ๋ น์ ์ ์ฉํฉ๋๋ค. SJK tools์ ๋ ๊ณ ๊ธ ์ ๋ณด๋ฅผ ๋ค๋ฃฐ ์ ์์ต๋๋ค. -
๋คํธ์ํฌ ์ด์๋ค์ ์์๋ณด๊ธฐ ์ํด์๋ traceroute๋ฅผ ์ฌ์ฉํ ์๋ ์์ง๋ง ์ด๋ณด๋ค ๋ ์ข์
mtr
๋ฅผ ์ฌ์ฉํ์ธ์. -
๋์คํฌ๊ฐ ์ ๊ฐ๋์ฐผ๋์ง ์์๋ณด๊ธฐ ์ํด์
ncdu
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์. ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋du -sh *
์ ๊ฐ์ ์ปค๋ฉ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค๋ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค. -
์ด๋ ํ ์์ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ๋์ญํญ(bandwidth)๋ฅผ ์ฐพ์๋ณด๋ ค๋ฉด
iftop
๋nethogs
๋ฅผ ์ฌ์ฉํ์ธ์. -
ab
๋ผ๋ ํด(Apache์ ๋ธ๋ ค์๋)์ ์ ์ํ๊ณ ๊ฐ๋จํ๊ฒ(quick-and-dirty) ์น์๋ฒ์ ์ฑ๋ฅ์ ์ฒดํฌํ๋๋ฐ ์ ์ฉํฉ๋๋ค. ๋ณด๋ค ๋ณต์กํ ๋ถํ ํ ์คํธ๋ฅผ ํ ๋๋siege
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์. -
๋ณด๋ค ์ฌ๊ฐํ ๊ฒฝ์ฐ์ ๋คํธ์ํฌ ๋๋ฒ๊น ์ ์ํด์๋
wireshark
,tshark
๋๋ngrep
๋ฅผ ์ฌ์ฉํ์ธ์. -
strace
์ltrace
์ ๋ํด์ ์์๋ณด์ธ์. ์ด ์ปค๋งจ๋๋ค์ ๋ง์ผ ์ด๋ค ํ๋ก๊ทธ๋จ์์ failing, hanging ํน์ crashing์ด ์ผ์ด๋๊ฑฐ๋ ๊ทธ ์ธ์ ์ฌ๋ฌ๋ถ์ด ๋ฌด์จ์ด์ ์ธ์ง ์์ง ๋ชปํ๋ ์ํฉ์ด๋ ์ฑ๋ฅ์ ๋ํ ๋๋ต์ ์ธ ๋ด์ฉ์ ์ป๊ณ ์ ํ ๋ ์ ์ฉํ ๊ฒ์ ๋๋ค. ํนํ ํ๋กํ์ผ๋ง์ ์ํ ์ต์ (-c
)๊ณผ ํ์ฌ ์คํ์ค์ธ ํ๋ก์ธ์ค์ ๋ถ์ด๊ธฐ ์ํ ์ต์ (-p
)์ ๊ธฐ์ตํ์ธ์. -
๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(shared libraries) ๋ฑ์ ์ฒดํฌํ๊ธฐ ์ํด์๋
ldd
์ ๋ํด ์์๋ณด์ธ์. -
gdb
๋ฅผ ๊ฐ์ง๊ณ ํ์ฌ ์คํ์ค์ธ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐํ๊ณ ๊ทธ ํ๋ก์ธ์ค์ stack trace๋ค์ ์ป๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์. -
/proc
๋ฅผ ์ฌ์ฉํ์ธ์. ์ด๊ฒ์ ํ์ฌ ๋ฐ์ํ๊ณ ์๋ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ ๋ ์ข ์ข ๋๋๋๋ก ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์์:/proc/cpuinfo
,/proc/meminfo
,/proc/cmdline
,/proc/xxx/cwd
,/proc/xxx/exe
,/proc/xxx/fd/
,/proc/xxx/smaps
(xxx
๋ ํ๋ก์ธ์ค id๋ pid์ ๋๋ค). -
๊ณผ๊ฑฐ์ ์ ๋ฌด์์ธ๊ฐ๊ฐ ์๋ชป๋์๋์ง๋ฅผ ๋๋ฒ๊น ํ ๋์๋
sar
๊ฐ ๋งค์ฐ ์ ์ฉํ ๊ฒ์ ๋๋ค. ์ด ์ปค๋งจ๋๋ CPU, memory, network ๋ฑ์ ํต๊ณ ๋ด์ญ์ ๋ณด์ฌ์ค๋๋ค. -
์์คํ ์ ๋ณด๋ค ๊น์๊ณณ์ ๋ณด๊ฑฐ๋ ํผํฌ๋จผ์ค๋ฅผ ๋ถ์ํ๊ธฐ ์ํด์๋,
stap
(SystemTap),๋perf
, ๊ทธ๋ฆฌ๊ณsysdig
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์. -
์ฌ๋ฌ๋ถ์ด ์ฌ์ฉํ๋ Linux์ ๋ฐฐํฌํ์ด ๋ฌด์์ธ์ง ํ์ธ(๋๋ถ๋ถ์ ๋ฐฐํฌํ์์ ์๋ํฉ๋๋ค)ํ๋ ค๋ฉด
uname
์ด๋uname -a
๋๋lsb_release -a
๋ฅผ ์ฌ์ฉํ์ธ์. -
์ธ์ ๋ ์ง ๋ฌด์ธ๊ฐ๊ฐ ์ ๋ง๋ก ์ฌ๋ฏธ์๋ ๋ฐ์์ ๋ณด์ธ๋ค๋ฉด
dmesg
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์ (์๋ง๋ ํ๋์จ์ด๋ ๋๋ผ์ด๋ฒ์ ๋ฌธ์ ์ผ ๊ฒ์ ๋๋ค).
์ปค๋งจ๋๋ค์ ํ๋ฐ ๋ฌถ์ด์ ์ฌ์ฉํ๋ ์์ ๋ค
sort
/uniq
๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ํ์ผ์ ๊ต์ฐจ์ , ์กฐํฉ, ์ฐจ์ด์ ์ ํ์ธ์ด ํ์ํ ๋ ์๋นํ ๋์์ด ๋ ๊ฒ๋๋ค. ๊ฐ๋ นa
์b
๊ฐ ์ ์ผํ ๊ฐ๋ค๋ง์ ๊ฐ์ง ํ ์คํธ ํ์ผ์ด๋ผํฉ์๋ค. ์ด๊ฒ์ด ์์์ ํฌ๊ธฐ์ธ ํ์ผ์(๊ทธ๊ฒ ๊ธฐ๊ฐ๋ฐ์ดํธ๋ผ๊ณ ํด๋) ๋น ๋ฅด๊ฒ ์์ ํ ์ ์์ต๋๋ค. (Sort๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ์ ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค๋ง, ๋ง์ฝ ๋ฃจํธ ํํฐ์ ์ด ์์ ๊ฒฝ์ฐ,/tmp
๋ฅผ ์ฌ์ฉํ๊ธฐ์ํด-T
์ต์ ์ ์ฌ์ฉํ๋ฉด๋ฉ๋๋ค.) ์์LC_ALL
์๋ํ ๋ด์ฉ์sort
์-u
์ต์ ์ ํ์ธํ์ญ์์ค. (์๋ ์์ ์ ์ง์คํ๊ธฐ ์ํด์ ์๋ต)
cat a b | sort | uniq > c # c is a union b
cat a b | sort | uniq -d > c # c is a intersect b
cat a b b | sort | uniq -u > c # c is set difference a - b
-
grep . *
์ ์ฌ์ฉํด์ ๋๋ ํ ๋ฆฌ ์์ ๋ชจ๋ ํ์ผ์ ๋น์ฃผ์ผํ๊ฒ ์ดํด ๋ณผ ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด/sys
,/proc
,/etc
๊ฐ์ด ์ค์ ๊ฐ๋ค๋ก ๊ฐ๋ํ ๋๋ ํ ๋ฆฌ์ ๋ง์ด์ฃ . -
ํ ์คํธ ํ์ผ์ ์ธ๋ฒ์งธ ์ด์ ์ซ์๋ค์ ๋ชจ๋ ๊ฐ์ ๋ํ๋ ๊ฒ์ ์ด๋ ๊ฒ ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๊ฐ์ ์ผ์ ํ๋ ํ์ด์ฌ ์ฝ๋๋ณด๋ค 3๋ฐฐ์ ๋ ๋น ๋ฅด๊ณ , 1/3์ ๋์ ๊ธธ์ด๋ฐ์ ์๋ฉ๋๋ค.
awk '{ x += $3 } END { print x }' myfile
- ํ์ผ ํธ๋ฆฌ์์ ํฌ๊ธฐ์ ๋ ์ง๋ฅผ ๋ณด๋ ค๋ฉด ์ด๋ ๊ฒ ํ์ธ์. ์ด ๋ช
๋ น์ด๋
ls -l
์ ์ฌ๊ท์ ์ผ๋ก ์ํํ๋ ๊ฒ๊ณผ ๊ฐ์ง๋ง,ls -lR
๋ณด๋ค ๋ ์ฝ๊ธฐ ์ฝ์ต๋๋ค.
find . -type f -ls
- ์น์๋ฒ ๋ก๊ทธ๊ฐ์ ํ
์คํธ ํ์ผ์ด ์๋ค๊ณ ํฉ์๋ค. ๊ทธ๋ฆฌ๊ณ URL ํ๋ผ๋ฉํฐ์ ๋ํ๋๋
acct_id
๊ฐ์ ํน์ ๊ฐ์ด ๋ช๋ช ํ์ ๋ํ๋๋ค๊ณ ํด๋ณด์ฃ . ๊ฐ๊ฐ์acct_id
์ ๋ํด ์ผ๋ง๋ ๋ง์ ์์ฒญ์ด ์์๋์ง ์๊ณ ์ถ๋ค๋ฉด ๋ค์์ฒ๋ผ ํ ์ ์์ต๋๋ค.
cat access.log | egrep -o 'acct_id=[0-9]+' | cut -d= -f2 | sort | uniq -c | sort -rn
- ๋ค์ ํจ์๋ฅผ ์คํํ๋ฉด ์ด ๋ฌธ์์ ์๋ ํ ์ค ์์์ ๊ฒ์ ์ป์ ์ ์์ต๋๋ค(๋งํฌ๋ค์ด์ ํ์ฑํ๊ณ ํญ๋ชฉ์ ์ถ์ถํฉ๋๋ค).
function taocl() {
curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md |
pandoc -f markdown -t html |
xmlstarlet fo --html --dropdtd |
xmlstarlet sel -t -v "(html/body/ul/li[count(p)>0])[$RANDOM mod last()+1]" |
xmlstarlet unesc | fmt -80
}
-
expr
: ์ฐ์ ์ ์ด๊ฑฐ๋ ๋ ผ๋ฆฌ์ ์ธ ์์ ์ ์ํํ๊ฑฐ๋ ์ ๊ทํํ์์ ๊ฒ์ฆํ ๋ ์ฌ์ฉํฉ๋๋ค -
m4
: ๊ฐ๋จํ ๋ฉํฌ๋ก ์ํ๊ธฐ๋ฅผ ์คํํฉ๋๋ค -
yes
: ์ด๋ ํ ํ ๋ฌธ์ฅ์ ๋งค์ฐ ๋ง์ด ์ถ๋ ฅํฉ๋๋ค -
cal
: ๊ฐ๋จํ ๋ฌ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค -
env
: ์ด๋ค ํ ์ปค๋งจ๋๋ฅผ ์คํํฉ๋๋ค(์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค๋ ์ ์ฉํฉ๋๋ค) -
printenv
: ํ๊ฒฝ ๋ณ์๋ค์ ์ถ๋ ฅํฉ๋๋ค(๋๋ฒ๊น ์ ํ ๋๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค๋ ์ ์ฉํฉ๋๋ค) -
look
: ์ด๋ค ๋ฌธ์์ด๋ก ์์ํ๋ ์๋จ์ด(ํน์ ํ์ผ์ ์ด๋ค ํ ์ค)์ ์ฐพ์ต๋๋ค -
cut
,paste
๊ทธ๋ฆฌ๊ณjoin
: ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋ ์ฌ์ฉํฉ๋๋ค -
fmt
: ๋ฌธ๋จ์ ์์์ ์ง์ ํฉ๋๋ค -
pr
: ๋ฌธ์์ ํ์ด์ง๋ ์ปฌ๋ผ ์์์ ์ง์ ํฉ๋๋ค -
fold
: ๋ฌธ์์ ๊ฐ ๋ผ์ธ๋ค์ ํน์ ํ ๊ธธ์ด์ ๋ง๊ฒ ์์ ํฉ๋๋ค -
column
: ๋ฌธ์์ ์ปฌ๋ผ์ด๋ ํ ์ด๋ธ์ ์์์ ์ง์ ํฉ๋๋ค -
expand
andunexpand
: ํญ์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พธ์ด์ฃผ๊ฑฐ๋ ๊ณต๋ฐฑ์ ํญ์ผ๋ก ๋ฐ๊พธ์ด์ค๋๋ค -
nl
: ์ค ๋ฒํธ๋ฅผ ์ถ๊ฐํด์ค๋๋ค -
seq
: ์ซ์๋ค์ ์ถ๋ ฅํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
bc
: ๊ฐ๋จํ ๊ณ์ฐ๊ธฐ๋ฅผ ์คํํฉ๋๋ค -
factor
: ์ ์๋ค์ ์ธ์๋ถํดํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
gpg
: ํ์ผ๋ค์ ์ํธํํ๊ณ ์๋ช ํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
toe
: terminfo ์ํธ๋ฆฌ๋ค์ ํ ์ด๋ธ(table of terminfo entries) -
nc
: ๋คํธ์ํฌ๋ฅผ ๋๋ฒ๊น ํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฌ์ฉํฉ๋๋ค -
socat
: ์์ผ ๋ฆด๋ ์ด๋ TCP ํฌํธ๋ก ๋ด์ฉ์ ์ ๋ฌํ ๋ ์ฌ์ฉํฉ๋๋ค(netcat
๊ณผ ๋น์ทํฉ๋๋ค) -
slurm
: ๋คํธ์ํฌ ์ํฉ์ ์๊ฐํํ์ฌ ๋ณด์ฌ์ค๋๋ค -
dd
: ํ์ผ๋ค์ด๋ ๋๋ฐ์ด์ค๋ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธธ๋ ์ฌ์ฉํฉ๋๋ค -
file
: ํ์ผ์ ์ข ๋ฅ๋ฅผ ์์๋ด๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
tree
: ๋๋ ํ ๋ฆฌ๋ค๊ณผ ๊ทธ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์น ls๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ๋ ฅํ ๊ฒ์ฒ๋ผ ํธ๋ฆฌ์ ํํ๋ก ๋ณด์ฌ์ค๋๋ค -
stat
: ํ์ผ์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
time
: execute and time a command -
tac
: ํ์ผ์ ๋ด์ฉ์ ์ญ์์ผ๋ก ์ถ๋ ฅํฉ๋๋ค -
shuf
: ํ์ผ์ ๊ฐ ์ค๋ค์ ์์์ ์์๋ก ์ถ๋ ฅํฉ๋๋ค -
comm
: ์ ๋ ฌ๋ ํ์ผ๋ค์ ๊ฐ ๋ผ์ธ๋ณ๋ก ๋น๊ตํฉ๋๋ค -
pv
: ํ์ดํ๋ฅผ ํตํด์ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ๋ชจ๋ํฐ๋งํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
hd
andbvi
: ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์์ ํ๊ฑฐ๋ ๋คํ๋ฅผ ์ป์ด์ค๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
strings
: ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ค์์ ํน์ ๋ฌธ์ฅ์ ์ถ์ถํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
tr
: ๋ฌธ์๋ฅผ ๋ณํํ๊ฑฐ๋ ์กฐ์ํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
iconv
oruconv
: ๋ฌธ์์ ์ธ์ฝ๋ฉ๋ฐฉ์์ ๋ณํํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
split
andcsplit
: ํ์ผ๋ค์ ์ชผ๊ฐ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
sponge
: ์ฐ๊ธฐ ์ ์ ๋ชจ๋ ์ ๋ ฅ์ ์ฝ์ต๋๋ค. ๊ฐ์ ํ์ผ์์ ์ฝ์ ํ์ ์ฐ๊ธฐ์ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉดgrep -v something some-file | sponge some-file
์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค. -
units
: ๋จ์๋ฅผ ๋ณํํ๊ฑฐ๋ ๊ณ์ฐํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค ์๋ฅผ๋ค์ด furlongs/fortnight ๋จ์๋ฅผ twips/blink๋ก ๋ณํํฉ๋๋ค (/usr/share/units/definitions.units
๋ฅผ ์ฐธ๊ณ ํ์ธ์) -
7z
: ๊ณ ํจ์จ์ ํ์ผ ์์ถํ๋ก๊ทธ๋จ์ ๋๋ค -
ldd
: ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
nm
: ์ค๋ธ์ ํธ ํ์ผ๋ค์ ํฌํจ๋ ์ฌ๋ณผ์ ๋ณด๋ฅผ ์ป์ด์ต๋๋ค -
ab
: ์น ์๋ฒ๋ฅผ ๋ฒค์น ๋งํนํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
strace
: ์์คํ ์ฝ์ ๋๋ฒ๊น ํ ๋ ์ฌ์ฉํฉ๋๋ค -
mtr
: ๋คํธ์ํฌ ๋๋ฒ๊น ์์ traceroute๋ณด๋ค ๋ ๋ซ์ต๋๋ค -
cssh
: ์์ ๋์์ ์ฌ๋ฌ๊ฐ ์ฌ์ฉํ ๋ ์ฌ์ฉํฉ๋๋ค -
rsync
: SSH๋ฅผ ์ด์ฉํด ์๊ฒฉ ํ์ผ ์์คํ ์ด๋, ๋ก์ปฌ ํ์ผ์์คํ ์ ํ์ผ๊ณผ ํด๋๋ค์ ๋๊ธฐํ ํ ๋ ์ฌ์ฉํฉ๋๋ค -
wireshark
andtshark
: ํจํท์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ฉฐ ๋คํธ์ํน์ ๋๋ฒ๊น ํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค -
ngrep
: ๋คํธ์ํฌ ํ๊ฒฝ์์ grep๊ณผ ๊ฐ์ ์ญํ ์ ํฉ๋๋ค -
host
anddig
: DNS ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
lsof
: ํ๋ก์ธ์ค ํ์ผ ๋์คํฌ๋ฆฝํฐ์ ์์ผ์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
dstat
: ์ ์ฉํ ์์คํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
glances
: ๋ณด๋ค ๊ณ ์ฐจ์์ ์ฌ๋ฌ ์๋ธ์์คํ ๋ค์ ์ ๋ณด๋ฅผ ํ๋ฒ์ ๋ณด์ฌ์ค๋๋ค -
iostat
: ๋์คํฌ์ ์ฌ์ฉ๋ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
mpstat
: CPU ์ฌ์ฉ๋ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค. -
vmstat
: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค. -
htop
: ๋ณด๋ค ๊ฐ์ ๋ ํํ์ top์ ๋ณด์ฌ์ค๋๋ค -
last
: ๋ก๊ทธ์ธ ํ๋ ์ ๋ณด๋ค์ ๋ณด์ฌ์ค๋๋ค -
w
: ํ์ฌ ๋๊ฐ ๋ก๊ทธ์ธํ๋์ง ๋ณด์ฌ์ค๋๋ค -
id
: ํ์ฌ ์ ์ ๋ ๊ทธ๋ฃน์ ๋ํ ์๋ณ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
sar
: ์์คํ ์ํ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
iftop
ornethogs
: ์์ผ ๋๋ ํ๋ก์ธ์ค๋ฅผ ์ด์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
ss
: ์์ผ์ ๊ดํ ํต๊ณ์๋ฃ๋ค์ ๋ณด์ฌ์ค๋๋ค -
dmesg
: ๋ถํ ๋ฉ์์ง์ ์์คํ ์๋ฌ ๋ฉ์์ง๋ค์ ๋ณด์ฌ์ค๋๋ค -
hdparm
: SATA/ATA disk๋ค์ ์ ๋ณด๋ฅผ ์์ ํ๊ฑฐ๋ ๊ทธ๊ฒ๋ค์ด ์๋ํ๋๋ก ํฉ๋๋ค. -
lsblk
: ๋ธ๋ก ๋๋ฐ์ด์ค๋ค์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค : ์ฌ๋ฌ๋ถ์ ๋์คํฌ๋ค์ด๋ ๋์คํฌํํฐ์ ๋ค์ ํธ๋ฆฌ์ ํํ๋ก ๋ณด์ฌ์ค๋๋ค -
lshw
,lscpu
,lspci
,lsusb
,dmidecode
: CPU, BIOS, RAID, graphics, devices ๋ฑ์ ํ๋์จ์ด ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค -
lsmod
์modifno
: ์ปค๋ ๋ชจ๋์ ์์ธ์ ๋ณด๋ฅผ ๋ชฉ๋ก์ผ๋ก ๋ณด์ฌ์ค๋๋ค. -
fortune
,ddate
, ๊ทธ๋ฆฌ๊ณsl
: ์... ์ฆ๊ธฐ๊ธฐ๊ด์ฐจ๋ฅผ ์๊ฐํ๊ณ ์๊ณ ๊ทธ๊ฒ์ ์ธ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ด๊ฒ์ "์ ์ฉ"ํฉ๋๋ค
MacOS์์๋ง ํด๋น๋๋ ํญ๋ชฉ์ ๋๋ค.
-
brew
(Homebrew)๋port
(MacPorts)๋ฅผ ํจํค์ง ๋ฉ๋์ ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ณด๋ค ๋ง์ ๋ช ๋ น์ด๋ฅผ MacOS์ ์ค์นํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. -
pbcopy
๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์คํฌํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ช ๋ น์ด ์ถ๋ ฅ๋ฌผ์ ๋ณต์ฌํ๊ฑฐ๋pbpaste
๋ฅผ ์ด์ฉํด ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ ์ ์์ต๋๋ค. -
๋ฐ์คํฌํ ์ดํ๋ฆฌ์ผ์ด์ ์์ ํ์ผ์ ์ด๊ธฐ์ํด,
open
๋๋open -a /Applications/Whatever.app
์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. -
Spotlight:
mdfind
๋ฅผ ์ด์ฉํด ํ์ผ์ ์ฐพ๊ณ ,mdls
๋ฅผ ์ด์ฉํด ๋ฉํ๋ฐ์ดํ (์ฌ์ง EXIF ์ ๋ณด์ ๊ฐ์) ๋ชฉ๋ก์ ๋ณผ ์ ์์ต๋๋ค. -
MacOS๋ BSD Unix ๊ธฐ๋ฐ์ด๋ฉฐ ๋ง์ ๋ช ๋ น์ด๋ค์ (์๋ก
ps
,ls
,tail
,awk
,sed
) ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๊ฒ๋ค์ Linux ๋ฒ์ ๋ค๊ณผ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํฌ๊ฒ๋ System V-style Unix์ GNU ๋๊ตฌ๋ค์ ๋ง์ ์ํฅ์ ๋ฐ์์ต๋๋ค. ์ด๋ฐ ๋ด์ฉ๋ค์ man ํ์ด์ง ์๋จ์ "BSD General Commands Manual." ๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ํตํด ์ ์ ์์ต๋๋ค. ๊ฐ๋์ GNU ๋ฒ์ ์ด ์ค์น๋๊ธฐ๋ํฉ๋๋ค. (์๋ก, GNU awk์ sed์ธgawk
์gsed
์์). ๋ง์ฝ ์ด์ข ํ๋ซํผ๊ฐ Bash ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ค๋ฉด, ๋์ผํ ๋ช ๋ น์ด (์๋ก, ํ์ด์ฌ์ด๋perl
๊ณผ ๊ฐ์)๋ ํ ์คํธ์ ์ฃผ์ํด์ผํฉ๋๋ค.
- awesome-shell: ์์ ๋ํ ํด๊ณผ ๋ฆฌ์์ค๋ค์ด ์ ์ ๋ฆฌ๋์ด ์๋ ๋ฆฌ์คํธ์ ๋๋ค.
- Strict mode: ๋ณด๋ค ๋์ ์์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ ๋ณด๊ธ์ ๋๋ค.
๋งค์ฐ ์์ ์์ ์ ์ ์ธํ ์ฝ๋๋ค์ ๋ค๋ฅธ ์ฌ๋์ด ์ฝ์ ์ ์๋๋ก ์์ฑ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ด์ฉ์ ์์ฑ์ ์ ์์๊ฒ ์ฑ ์์ด ์์ต๋๋ค. Bash์์ ๋ญ๊ฐ๋ฅผ ํ ์ ์๋ค๋ ๊ฒ์ด ๋น์ ์ด ๋ญ๊ฐ๋ฅผ ํด์ผ๋๋ค๋ ๊ฒ์ ๊ฐ์ํ๋ ๊ฒ์ด ์๋๋ค! ;)
์ด ์ ์๋ฌผ์ Creative Commons Attribution-ShareAlike 4.0 International License์ ๋ฐ๋ผ ์ด์ฉํ ์ ์์ต๋๋ค.