๋ฆฌ๋ ์ค man ๋ช ๋ น์ด๋ ๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด๋ฅผ ๋ฐฐ์ฐ๋ ์ฌ๋์ด๋ผ๋ฉด ๊ฐ์ฅ ๋จผ์ ์ตํ์ผ ํ ๋งค๋ด์ผ ๋๊ตฌ์ ๋๋ค. ๋ฆฌ๋ ์ค man ๋ช ๋ น์ด๋ง ์ ์จ๋ ๊ตฌ๊ธ ๊ฒ์๋ณด๋ค ๋น ๋ฅด๊ฒ ์ ํํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ด์.
๋ฆฌ๋ ์ค man ๋ช ๋ น์ด๋ ์ ์ค์ํ๊ฐ?
๋ฆฌ๋ ์ค๋ฅผ ๋ง ์ฐ๊ธฐ ์์ํ๋ฉด, ๋ณดํต ์ด๋ฐ ๋ฃจํธ๋ฅผ ํ ๋ฒ์ฉ ํ๊ฒ ๋ฉ๋๋ค.
- ๊ตฌ๊ธ์ "linux ls option" ๊ฒ์
- ๋ธ๋ก๊ทธ ๋ช ๊ฐ ์ด์ด๋ณธ๋ค
- ๋ฐฐํฌํ๋ ๋ค๋ฅด๊ณ , ๊ธ๋ง๋ค ์ต์ ์ค๋ช ๋ ์ ๋งคํ๋ค
- ๋ด ์๋ฒ์์ ์ ๋จน๋ ์ต์ ์ด๋ผ ๋ค์ ๊ฒ์…
์ฌ์ค ๋ฆฌ๋
์ค๋ ์ด๋ฐ ํผ๋์ ์ค์ด๋ ค๊ณ , ์๊ธฐ ์์ ์ ๋ํ ์ค๋ช
์๋ฅผ ์ด๋ฏธ ๋ด๋ถ์ ๋ค๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ค๋ช
์๋ฅผ ์ฌ๋ ์ด์ ๊ฐ ๋ฐ๋ก man ๋ช
๋ น์ด์์.
- ls๊ฐ ์ด๋ค ์ต์ ์ ์ง์ํ๋์ง
- grep์ ์ ๊ท์ ๋ฌธ๋ฒ์ด ์ด๋ป๊ฒ ๋๋์ง
- open(), socket() ๊ฐ์ C ํจ์๊ฐ ์ค์ ๋ก ์ด๋ค ์ธ์๋ฅผ ๋ฐ๊ณ , ์ด๋ค ์๋ฌ๋ฅผ ๋ด๋์ง
์ด๋ฐ ๊ฒ๋ค์ “๋ด๊ฐ ์ง๊ธ ์ฐ๊ณ ์๋ ์์คํ ๊ธฐ์ค์ผ๋ก” ๊ฐ์ฅ ์ ํํ๊ฒ ์๋ ค์ฃผ๋ ๊ณณ์ด ๋ฐ๋ก man ํ์ด์ง์ ๋๋ค.
๊ทธ๋์ ๋ฆฌ๋ ์ค๋ฅผ ์ค๋ ์ด ๊ฐ๋ฐ์๋ค์ ๊ฒฐ๊ตญ ์ด๋ ๊ฒ ๋งํฉ๋๋ค.
“๊ตฌ๊ธ ๊ฒ์ํ๊ธฐ ์ ์, ์ผ๋จ man๋ถํฐ ๋ณด์.”
์ด ๊ธ์์๋ man์ ์ฒ์ ์ ํ๋ ๋ถ๋ ๋ฐ๋ก ์ฐ๋๋ก:
- man์ ๊ธฐ๋ณธ ๊ฐ๋
- ์์ฃผ ์ฐ๋ ์ฌ์ฉ ํจํด๊ณผ ๊ฒ์ ๋ฐฉ๋ฒ
- ๊ฐ๋ฐ์(ํนํ C·์์คํ ํ๋ก๊ทธ๋๋ฐ ์ ์ฅ)์์์ ํ์ฉ๋ฒ
- ์ด๋ณด์๊ฐ ์์ฃผ ํ๋ ์ค์์ ํ๊ฒฝ ์ค์ ํ
๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.

1. man ๋ช ๋ น์ด, ํ ์ค ์ ์์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
1-1. man์ด๋ ๋ฌด์์ธ๊ฐ?

man์ manual์ ์ค์๋ง์
๋๋ค.
๋ฆฌ๋
์ค ์์คํ
์ ์ค์น๋:
- ๋ช ๋ น์ด
- C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
- ์์คํ ์ฝ
- ์ค์ ํ์ผ ํฌ๋งท
- ๊ฐ์ข ํ๋กํ ์ฝ, ๊ฐ๋
์ ๋ํ ๊ณต์ ๋งค๋ด์ผ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋๊ตฌ์ ๋๋ค.
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ์์ฃผ ๊ฐ๋จํฉ๋๋ค.
man <์ด๋ฆ>
# ์์
man ls
man grep
man printf
์ด๋ ๊ฒ ์
๋ ฅํ๋ฉด ํด๋น ์ด๋ฆ์ ๋ํ ๋งค๋ด์ผ ํ์ด์ง๋ฅผ ํ
์คํธ ํ๋ฉด์ผ๋ก ๋์์ค๋๋ค.
๋ด๋ถ์ ์ผ๋ก๋ /usr/share/man ๊ฐ์ ๋๋ ํฐ๋ฆฌ์ ์๋ ์์ถ๋ ํ์ผ์ ์ฝ์ด์
less๋ผ๋ ํ์ด์ง ๋ทฐ์ด๋ก ๋ณด์ฌ์ฃผ๋ ๊ตฌ์กฐ์
๋๋ค.
์ ๋ฆฌํ๋ฉด:
man = ๋ด ์์คํ ์ ์ค์น๋ ๊ณต์ ๋งค๋ด์ผ์ ๋ณด๋ ๋ทฐ์ด
๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
1-2. man ํ์ด์ง์ ๊ธฐ๋ณธ ๊ตฌ์กฐ

์๋ฅผ ๋ค์ด man ls๋ฅผ ์คํํ๋ฉด ๋๋ต ์ด๋ฐ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
OPTIONS
-a, --all
do not ignore entries starting with .
-l use a long listing format
EXAMPLES
ls -l
List files in the long format.
SEE ALSO
dir(1), vdir(1)
์ค๋ฌด์์ ์์ฃผ ๋ณด๊ฒ ๋๋ ์น์ ๋ง ์ ๋ฆฌํ๋ฉด:
- NAME
์ด ๋งค๋ด์ผ์ ์ด๋ฆ๊ณผ ํ ์ค ์ค๋ช - SYNOPSIS
์ฌ์ฉ ํํ(์ธ์, ์ต์ , ํจ์ ํ๋กํ ํ์ ๋ฑ) - DESCRIPTION
๋์ ๋ฐฉ์, ๊ฐ๋ ์ ์ธ ์ค๋ช - OPTIONS
์ต์ ๋ชฉ๋ก๊ณผ ๊ฐ๊ฐ์ด ํ๋ ์ผ - EXAMPLES
์ค์ ์ฌ์ฉ ์์๊ฐ ์ ๋ฆฌ๋์ด ์๋ ๊ฒฝ์ฐ - SEE ALSO
๊ฐ์ด ๋ณด๋ฉด ์ข์ ๋ค๋ฅธ man ํ์ด์ง
์๋ก์ด ๋ช ๋ น์ด๋ ํจ์๋ฅผ ๋ณผ ๋๋ ๋ณดํต ์ด๋ ๊ฒ ์ฝ์ต๋๋ค.
- SYNOPSIS๋ก “์ด๋ค ์ธ์๋ฅผ ๋ฐ๊ณ ์ด๋ค ๋ชจ์์ธ์ง” ๋จผ์ ํ์ธ
- OPTIONS๋ฅผ ํ์ด๋ณด๋ฉฐ ํ์ํ ๊ธฐ๋ฅ์ด ์๋์ง ์ฒดํฌ
- ํท๊ฐ๋ฆฌ๋ ๋์์ DESCRIPTION์ ์์ธํ ์ฝ์ด๋ณด๊ธฐ

2. ๋ช ๋ น์ด, ํจ์, ํ์ผ๊น์ง man ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
2-1. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ
๊ฐ์ฅ ๋ง์ด ์ฐ๊ฒ ๋๋ ํจํด์ ๋๋ค.
man ls
man grep
man bash
ํ์์ ์์ฃผ ๋จ์ํฉ๋๋ค.
man <์ด๋ฆ>
์ฌ๊ธฐ์ <์ด๋ฆ>์ ๊ผญ “์์์ ์ง์ ์น๋ ๋ช ๋ น์ด”๋ง์ ์๋ฏธํ์ง ์์ต๋๋ค.
- ๋ฆฌ๋
์ค ๋ช
๋ น์ด
- man ls, man cp
- C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
- man printf, man fopen
- ์์คํ
์ฝ
- man open, man socket
- ์ค์ ํ์ผ ํ์
- man fstab, man crontab
- ๊ฐ๋
/ํ๋กํ ์ฝ
- man 7 signal, man 7 ip
๊น์ง, ํญ๋๊ฒ ๋ค๋ฃฐ ์ ์์ต๋๋ค.

2-2. ์น์ ๋ฒํธ๋ก ์ ํํ ๊ณจ๋ผ ๋ณด๊ธฐ
์ด๋ฆ์ ๊ฐ์๋ฐ ์ญํ ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด printf:
- ์์์ ์ฐ๋ printf ๋ช ๋ น์ด (์น์ 1)
- C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ printf() (์น์ 3)
์ด๋ด ๋๋ ์น์ ๋ฒํธ๋ฅผ ๋ช ์ํด ์ฃผ๋ฉด ๋ฉ๋๋ค.
man 1 printf # ์ฌ์ฉ์ ๋ช
๋ น์ด printf
man 3 printf # C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ printf()
์น์ ์ ๋๋ต ์ด๋ ๊ฒ ๋๋ฉ๋๋ค.
1 ์ฌ์ฉ์ ๋ช
๋ น์ด (User commands)
2 ์์คํ
์ฝ (System calls, ์ปค๋ ํธ์ถ)
3 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ (C library functions)
4 ํน์ ํ์ผ, ์ฅ์น (Special files)
5 ํ์ผ ํฌ๋งท, ์ค์ ํ์ผ (File formats)
6 ๊ฒ์ (Games)
7 ๊ธฐํ (๊ธฐ์ ๊ฐ์, ํ์ค, ํ๋กํ ์ฝ ๋ฑ)
8 ์์คํ
๊ด๋ฆฌ ๋ช
๋ น์ด (System administration)

๊ฐ๋ฐ์ ์ ์ฅ์์ ์์ฃผ ๋ณด๋ ๊ฑด ์ด ์ ๋๋ง ๊ธฐ์ตํด๋ ์ถฉ๋ถํฉ๋๋ค.
- man 1 <๋ช ๋ น์ด> : ์ผ๋ฐ ๋ช ๋ น์ด
- man 2 <ํจ์> : ์์คํ ์ฝ (open(2), read(2) ๋ฑ)
- man 3 <ํจ์> : C ๋ผ์ด๋ธ๋ฌ๋ฆฌ (printf(3), malloc(3) ๋ฑ)
- man 5 <ํ์ผ> : ์ค์ ํ์ผ (crontab(5), passwd(5) ๋ฑ)
- man 7 <๊ฐ๋ > : ๊ฐ๋ /ํ๋กํ ์ฝ (signal(7), socket(7) ๋ฑ)
์น์
๊ฒ์ ์์๋ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ผ๋,
“๋ฌด์กฐ๊ฑด 1๋ฒ์ด ๋จผ์ ์ด๋ฆฐ๋ค”๊ณ ๊ฐ์ ํ๊ธฐ๋ณด๋ค๋
์ฒ์๋ถํฐ printf(3), open(2)์ฒ๋ผ ์น์
๋ฒํธ๊น์ง ๋ถ์ฌ ๋งํ๋ ์ต๊ด์ ๋ค์ด๋ฉด ํผ๋์ ์ค์ผ ์ ์์ต๋๋ค.
3. ์ด๋ฆ์ด ๊ธฐ์ต ์ ๋ ๋: man์ผ๋ก ๊ฒ์ํ๊ธฐ
“์ ํํ ๋ช
๋ น์ด ์ด๋ฆ์ ๊ธฐ์ต์ด ์ ๋๋๋ฐ, ํ๋ ์ผ์ ๋์ถฉ ์๊ฒ ๋ค”๋ผ๋ ์ํฉ์ด ๋ง์ต๋๋ค.
์ด๋ man์๋ ๋ ๊ฐ์ง ๊ฒ์ ์ต์
์ด ์์ต๋๋ค.
3-1. ํค์๋ ์ ์ญ ๊ฒ์: man -k (apropos)

man -k <ํค์๋>
์๋ฅผ ๋ค์ด ๋๋ ํฐ๋ฆฌ ๊ด๋ จ ๊ธฐ๋ฅ๋ค์ ๋ณด๊ณ ์ถ๋ค๋ฉด:
man -k directory
ํ์์์ ๊ด๋ จ๋ ๊ฒ์ ์ฐพ๊ณ ์ถ๋ค๋ฉด:
man -k timeout
์ด ๋ช
๋ น์ ๋ด๋ถ์ ์ผ๋ก apropos์ ๊ฐ์ ์ผ์ ํฉ๋๋ค.
“ํค์๋๊ฐ ๋ค์ด๊ฐ man ํ์ด์ง ์ ๋ชฉ๊ณผ ํ ์ค ์ค๋ช
” ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค.
์ค๋ฌด ํ:
- ๋คํธ์ํฌ ๊ด๋ จ: man -k tcp, man -k udp
- ํ์ผ ๋์คํฌ๋ฆฝํฐ ๊ด๋ จ: man -k descriptor
์ฒ๋ผ ์ฉ์ด ๋จ์๋ก ๊ฒ์ํด ๋ณด๋ ์ต๊ด์ ๋ค์ด๋ฉด ์ข์ต๋๋ค.
3-2. ์ด๋ฆ์ผ๋ก ์งง๊ฒ ํ์ธ: man -f (whatis)

man -f <์ด๋ฆ>
์:
man -f ls
man -f printf
whatis์ฒ๋ผ ๋์ํ๋ฉฐ,
ls (1) - list directory contents
์์ผ๋ก ์น์ ๋ฒํธ + ํ ์ค ์ค๋ช ๋ง ๋น ๋ฅด๊ฒ ๋ณด์ฌ์ค๋๋ค.
- ์ด ์ด๋ฆ์ man์ด ์ด๋ค ์น์ ์ ์๋์ง
- ๋๋ต ๋ฌด์จ ์ญํ ์ ํ๋์ง
๋ฅผ ํ์ธํ ๋ ์ ์ฉํฉ๋๋ค.
4. man ํ์ด์ง ์์์ ๋นจ๋ฆฌ ์์ง์ด๋ ๋ฒ (less ํค์กฐ์)
man์ ๊ธฐ๋ณธ์ ์ผ๋ก less ๋ทฐ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
less ํค ๋ช ๊ฐ๋ง ์ตํ๋ ๊ธด ๋งค๋ด์ผ์ ๋ณด๋ ๊ฒ ํจ์ฌ ํธํด์ง๋๋ค.
4-1. ๊ธฐ๋ณธ ์ด๋ ํค
- ↑ / ↓ : ํ ์ค์ฉ ์ด๋
- PageUp / PageDown : ํ ํ๋ฉด์ฉ ์ด๋
- Space : ๋ค์ ํ๋ฉด
- b : ์ด์ ํ๋ฉด
- g : ๋งจ ์ฒ์
- G : ๋งจ ๋
- q : ์ข ๋ฃ
4-2. ๋ฌธ์์ด ๊ฒ์
- /๋จ์ด : ์๋ ๋ฐฉํฅ์ผ๋ก ๊ฒ์
- ?๋จ์ด : ์ ๋ฐฉํฅ์ผ๋ก ๊ฒ์
- n : ๋ค์ ๊ฒ์ ๊ฒฐ๊ณผ
- N : ์ด์ ๊ฒ์ ๊ฒฐ๊ณผ
์๋ฅผ ๋ค์ด ls์์ --human-readable ์ต์ ์ ์ฐพ๊ณ ์ถ๋ค๋ฉด:
man ls
/human-readable
n
n
์ด๋ ๊ฒ ๋ฐ๋ณตํด์ ๊ด๋ จ ์์น๋ก ์ด๋ํ ์ ์์ต๋๋ค.

5. man + grep: ํ์ํ ์ค๋ง ํ ๋ฒ์ ๋ณด๊ธฐ
๋งค๋ด์ผ์ด ๋๋ฌด ๊ธธ ๋, ๋ด๊ฐ ์ํ๋ ๋ด์ฉ๋ง ๋ฝ์๋ณด๊ณ ์ถ์ ๋ ์์ฃผ ์ฐ๋ ํจํด์ ๋๋ค.
5-1. ์ต์ ์์ฃผ๋ก ๋น ๋ฅด๊ฒ ๊ฒ์

์๋ฅผ ๋ค์ด ls์์ time ๊ด๋ จ ์ต์ ๋ง ๋ณด๊ณ ์ถ๋ค๋ฉด:
man ls | grep -n "time"
-n ์ต์
๋๋ถ์ ์ค ๋ฒํธ๋ ํจ๊ป ์ถ๋ ฅ๋๋
๋ฌธ์์ ์ด๋ ๋ถ๋ถ์ ์๋์ง ๊ฐ์ด ์กํ๋๋ค.
C ํจ์์์๋ ๋น์ทํ๊ฒ ์ธ ์ ์์ต๋๋ค.
man 3 printf | grep -n "double"
man 2 open | grep -n "O_NONBLOCK"
5-2. MANPAGER๋ก ํน์ ํจํด๋ถํฐ ๋ณด์ด๊ฒ ํ๊ธฐ

์กฐ๊ธ ๋ ๋์๊ฐ๋ฉด, MANPAGER๋ฅผ ํ์ฉํด์
man์ ์ด์๋ง์ ํน์ ํจํด ์์น๋ถํฐ ๋ณด์ฌ์ค ์๋ ์์ต๋๋ค.
MANPAGER="less -p O_NONBLOCK" man 2 open
์ด๋ ๊ฒ ์ฐ๋ฉด open(2) man ํ์ด์ง๊ฐ ์ด๋ฆฌ๋ฉด์
O_NONBLOCK์ด ๋ฑ์ฅํ๋ ๋ถ๋ถ๋ถํฐ ๋ฐ๋ก ํ๋ฉด์ ๋์ต๋๋ค.
์ฒ์์๋ grep ์ ๋๋ง ์จ๋ ์ถฉ๋ถํ๊ณ ,
man์ ์ต์ํด์ง๋ฉด ์ด๋ฐ ๊ธฐ๋ฅ์ ํ๋์ฉ ๋ถ์ฌ ๋๊ฐ๋ฉด ๋ฉ๋๋ค.
6. ์ ๊ฐ๋ฐ์๋ man์ ์ฌ๋ํ ์๋ฐ์ ์์๊น?
๋ฆฌ๋
์ค ๊ธฐ๋ณธ ๋ช
๋ น์ด ๋จ๊ณ์์๋ man์ด “์์ผ๋ฉด ์ข์ ๋๊ตฌ” ์ ๋์ง๋ง,
C๋ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ ์์ํ๋ฉด ์ฌ์ค์ ํ์๊ฐ ๋ฉ๋๋ค.

์๋ฅผ ๋ค์ด:
man 2 open
man 2 read
man 2 write
man 2 socket
man 2 bind
man 2 listen
man 2 accept
man 7 ip
man 7 signal
์ด๋ฐ ํ์ด์ง๋ค์ ๋คํธ์ํฌ ์๋ฒ๋ฅผ ์ง๊ฑฐ๋ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ ํ ๋
๊ฑฐ์ ๋งค๋ฒ ์ฐธ๊ณ ํ๊ฒ ๋๋ ๋ฌธ์๋ค์
๋๋ค.
6-1. perror vs strerror ํท๊ฐ๋ฆด ๋
์๋ฌ ์ฒ๋ฆฌํ ๋ perror()์ strerror()๋ฅผ ์ธ์ ์ด๋ป๊ฒ ์จ์ผ ํ ์ง ์ ๋งคํ ์ ์์ต๋๋ค.
์ด๋ด ๋:
man 3 perror
man 3 strerror
๋ฅผ ์ด์ด๋ณด๋ฉด,
- ํจ์ ํ๋กํ ํ์
- ์ค๋ ๋ ์์ ์ฑ(Thread safety)
- ์ด๋ค ๋ก์ผ์ผ(์ธ์ด ์ค์ )์ ๋ฐ๋ฅด๋์ง
- errno์ ์ด๋ป๊ฒ ์ฐ๋๋๋์ง
๊น์ง ์ ํํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
6-2. select() ํ์์์์ ์ ํํ ๋ฃ์ง ์์ผ๋ฉด ์๊ธฐ๋ ์ผ
select()๋ฅผ ์ฌ์ฉํ ๋ struct timeval ๊ฐ์ ์๋ชป ๋ฃ์ผ๋ฉด:
- ํ์์์์ด ์ด์ํ๊ฒ ๋์ํ๊ฑฐ๋
- ์ด๋ค ๊ฒฝ์ฐ์๋ CPU 100% ๋ฐ์ ๋ฃจํ๊ฐ ๋๋ ๋ฌธ์ ๋ ์๊น๋๋ค.
์ด๋ด ๋ ๊ฐ์ฅ ๋จผ์ ํ์ธํด์ผ ํ๋ ๊ฒ๋ man์ ๋๋ค.

์ฌ๊ธฐ์:
- fd_set ๊ตฌ์กฐ์ฒด ์ฌ์ฉ๋ฒ
- struct timeval์ tv_sec, tv_usec ์๋ฏธ
- timeout์ NULL์ ๋๊ฒผ์ ๋์ 0์ ๋๊ฒผ์ ๋ ์ฐจ์ด
๋ฑ์ ์ ํํ ํ์ธํ ์ ์์ต๋๋ค.
์ ๋ฆฌ
๋ฆฌ๋ ์ค์์ “์ด ํจ์์ ์ด๋ค ๊ฐ์ ๋ฃ์ด์ผ ํ๋์ง ์ ๋งคํ ๋”
๊ฒ์ ์์ง๋ณด๋ค man ํ์ด์ง๊ฐ ๋จผ์ ๋ผ๋ ์ต๊ด์ ๋ค์ด๋ฉด
๋ถํ์ํ ๋ฒ๊ทธ๋ฅผ ์ ๋ง ๋ง์ด ์ค์ผ ์ ์์ต๋๋ค.
7. ์ด๋ณด์๊ฐ ์์ฃผ ํ๋ ์ค์์ man์ผ๋ก ํด๊ฒฐํ๋ ๋ฒ
๋ฆฌ๋ ์ค๋ฅผ ์ฒ์ ๋ฐฐ์ฐ๋ ๋จ๊ณ์์ ์์ฃผ ๋์ค๋ ์ค์๋ ์ด๋ฐ ๊ฒ๋ค์ ๋๋ค.

- ls --help๋ ๋ดค๋๋ฐ, ํ ๋ฒ๋ man ls๋ฅผ ์ด์ด๋ณธ ์ ์ด ์๋ค
- ๋ธ๋ก๊ทธ ์์ ๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ๋ง ํ๊ณ , ์ต์ ์ ์๋ฏธ๋ฅผ ๋ชจ๋ฅธ๋ค
- C ํจ์๋ฅผ ์ธ ๋ ๊ฒ์ ๊ฒฐ๊ณผ ์ฒซ ํ์ด์ง๋ง ๋ณด๊ณ
์ ํํ ๋ฆฌํด ๊ฐ·์๋ฌ ์กฐ๊ฑด์ ํ์ธํ์ง ์๋๋ค
์ด๊ฑธ man์ผ๋ก ๊ต์ ํ๋ ๋ฐฉ๋ฒ์ ๋จ์ํฉ๋๋ค.
- ๋น ๋ฅธ ๊ฐ์ → --help
- ์ ํํ ์ต์ ·๋์·์์ → man
- ์์คํ ์ฝ / ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ ๋์ → man 2, man 3
์๋ฅผ ๋ค์ด:
ls --help # ์ต์
์ด๋ฆ๊ณผ ์ญํ ์ ๋๋ต ํ๊ธฐ
man ls # ์์ธํ ์ต์
/๋์/์์ ํ์ธ
grep --help # ์์ฃผ ์ฐ๋ ์ต์
๊ตฌ์กฐ ํ์
man grep # ์ ๊ท์ ๋ฌธ๋ฒ, ๊ณ ๊ธ ์ต์
ํ์ธ
๋ฆฌ๋ ์ค๋ฅผ ๋ฐฐ์ธ ๋๋ถํฐ:
“ํท๊ฐ๋ฆฌ๋ฉด man๋ถํฐ ์ด์ด๋ณธ๋ค.”
๋ผ๋ ๋ฃจํด์ ๋ชธ์ ์ตํ๋๋ฉด, ์ค๋ฌด์ ๊ฐ์๋ ์ ์ ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋๋ค.
8. ๋ ํธํ๊ฒ ์ฐ๊ธฐ: man ํ๊ฒฝ ์ค์ ํ
8-1. ์์ด man ํ์ด์ง ๊ฐ์ ๋ณด๊ธฐ (LANG=C)

๋ฐฐํฌํ์ ๋ฐ๋ผ ํ๊ธ man ํ์ด์ง๊ฐ ๊น๋ ค ์์ ๋๋ ์์ต๋๋ค.
ํ์ง๋ง ๊ฐ๋ฐ์๋ผ๋ฆฌ๋ ๋๋ถ๋ถ ์์ด ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ์ด์ผ๊ธฐํ๊ธฐ ๋๋ฌธ์
์์ด man๋ง ๋ณด๋ ํธ์ด ์คํ๋ ค ํธํ ๋๊ฐ ๋ง์ต๋๋ค.
LANG=C man ls
LANG=C man 2 open
์์ ์ต๊ด์ผ๋ก ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ์ ธ ์ค์ ํ์ผ์ alias๋ฅผ ์ถ๊ฐํฉ๋๋ค.
alias man='LANG=C man'
8-2. MANPAGER / PAGER๋ก ๋ณด๊ธฐ ํธํ๊ฒ ๋ง๋ค๊ธฐ

man์ ๋ด๋ถ์ ์ผ๋ก PAGER ๋๋ MANPAGER ํ๊ฒฝ๋ณ์์ ์ค์ ๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํฉ๋๋ค.
๋ณดํต ๊ธฐ๋ณธ๊ฐ์ less์ง๋ง, ์ต์
์ ์กฐ๊ธ ์๋ณด๋ฉด ์ปฌ๋ฌ ์ถ๋ ฅ๋ ์ ๋ณด์ด๊ฒ ํ ์ ์์ต๋๋ค.
export MANPAGER="less -R"
-R ์ต์
์ ANSI ์์์ ์ ์งํ ์ํ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์
์ปฌ๋ฌ๊ฐ ๋ค์ด๊ฐ man ํ์ด์ง๋ ๊นจ์ง์ง ์์ต๋๋ค.
8-3. ์์ฃผ ๋ณด๋ man ํ์ด์ง ๋ฌถ์ด๋๊ธฐ (alias)

๋คํธ์ํฌ ํ๋ก๊ทธ๋๋ฐ์ ์์ฃผ ํ๋ค๋ฉด ์ด๋ฐ ์์ผ๋ก alias๋ฅผ ๋ง๋ค์ด ๋ ์๋ ์์ต๋๋ค.
alias mannet='man 7 ip && man 7 tcp && man 7 udp'
alias mansock='man 2 socket && man 2 bind && man 2 listen && man 2 accept'
๊ด๋ จ ๋งค๋ด์ผ์ ํ ๋ฒ์ ์ด์ด๋๊ณ
์ฐ๋ฌ์ ์ฝ์ผ๋ฉด์ ๋จธ๋ฆฟ์ ๊ฐ๋
์ ์ ๋ฆฌํ ๋ ์ ์ฉํฉ๋๋ค.
9. --help, man, info๋ ์ด๋ป๊ฒ ๋๋ ์ฐ๋ฉด ์ข์๊น?
๋ฆฌ๋ ์ค์๋ man ๋ง๊ณ ๋ ๋น์ทํ ๋๊ตฌ๊ฐ ๋ช ๊ฐ์ง ์์ต๋๋ค.

- --help
- ๋ช ๋ น์ด์ ๋ธ๋ฆฐ ๊ฐ๋จ ์์ฝ ๋์๋ง
- man
- ์น์ ๊ตฌ์กฐ๊ฐ ์๋ ์ ์ ๋งค๋ด์ผ(์ต์ /์์ /์ฃผ์์ฌํญ ํฌํจ)
- info
- GNU ๋๊ตฌ๋ฅผ ์ํ ์กฐ๊ธ ๋ ์น์ ํ ์ค๋ช ์(ํ์ดํผํ ์คํธ)
ํ์ค์ ์ธ ์ฌ์ฉ ํจํด์ ์ด๋ ์ต๋๋ค.
- ์์ฃผ ๊ฐ๋จํ ์ต์ ์ด๋ฆ๋ง ํ์ธ → ๋ช ๋ น์ด --help
- ์ ํํ ๋์·์ต์ ·์์ ๋ฅผ ๋ณด๊ณ ์ถ๋ค → man ๋ช ๋ น์ด
- GNU ๋๊ตฌ์ ๋ํ ํํ ๋ฆฌ์ผ ๋๋์ ์ค๋ช ์ด ํ์ → info ๋ช ๋ น์ด
์ ๋ฌธ ๋จ๊ณ์์๋ ์ผ๋จ:
--help → ์์ฝ, man → ๊ณต์ ๋งค๋ด์ผ, info → ํ์ํ ๋๋ง
์ด ์ ๋๋ง ์ ๋ฆฌํด๋๋ฉด ์ถฉ๋ถํฉ๋๋ค.
10. ์ ๋ฆฌ: ๋งค๋ด์ผ์ ์ฝ๋ ์ต๊ด์ด ์ค๋ ฅ์ ๋ง๋ ๋ค

๋ฆฌ๋
์ค๋ “๊ฒ์ ์์ง์ด ์์ผ๋ฉด ๋ชป ์ฐ๋ ์์คํ
”์ด ์๋๋๋ค.
์คํ๋ ค ์๊ธฐ ์ค๋ช
(self-documented)์ด ์ ๋์ด ์๋ ์์คํ
์ ๊ฐ๊น์ต๋๋ค.
- ๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด → man ls, man cp, man grep
- C ์์คํ ํ๋ก๊ทธ๋๋ฐ → man 2 open, man 3 printf, man 7 signal
- ์ค์ ํ์ผ ํฌ๋งท → man 5 crontab, man 5 passwd
- ๋คํธ์ํฌ → man 7 ip, man 7 tcp, man 7 udp
์ด ๋ชจ๋ ์ถ๋ฐ์ ์ ํ๋์ ๋๋ค.
“๊ตฌ๊ธ ๊ฒ์ ์ ์, man์ ํ ๋ฒ ์ด์ด๋ณด์.”
์ด ์ต๊ด ํ๋๋ง ์ ๋ค์ฌ๋,
- ๋ฌธ์๋ฅผ ์ฝ์ด๋ด๋ ํ
- ๋ฌธ์ ๋ฅผ ์ค์ค๋ก ํด๊ฒฐํ๋ ๋ฅ๋ ฅ
- ์ฝ๋์ ์ ํ์ฑ
์ด ์์ฐ์ค๋ฝ๊ฒ ๊ฐ์ด ์ฌ๋ผ๊ฐ๋๋ค.
11. FAQ: man ๊ด๋ จ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Q1. man์ด ์๋ค๊ณ ๋์ค๋๋ฐ์. ์ค์น๊ฐ ์ ๋ ๊ฑด๊ฐ์?
A. Docker ์ปจํ
์ด๋๋ ์ต์ ์ค์น ์๋ฒ์์๋ man ํจํค์ง๊ฐ ๋น ์ ธ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์ด๋๋ ๋ฐฐํฌํ์ ๋ง๊ฒ man, man-db, man-pages ๊ฐ์ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
์) Ubuntu:
sudo apt install man-db manpages
Q2. ํ๊ธ man์ด ๊นจ์ ธ ๋ณด์ด๊ฑฐ๋, ์์ด๋ก๋ง ๋์์. ์ด๋ป๊ฒ ํ๋์?
A. ๋ก์ผ์ผ ์ค์ ๊ณผ man ํ์ด์ง ํจํค์ง ์ค์น ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ํ๊ธ man์ ์ฐ๊ณ ์ถ๋ค๋ฉด ๋ฐฐํฌํ๋ณ manpages-ko ๊ฐ์ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํ๊ณ ,
- ๊ฐ๋ฐ์ ์ํด ์์ด๋ง ๋ณด๊ณ ์ถ๋ค๋ฉด LANG=C man ls์ฒ๋ผ ์คํํ๊ฑฐ๋
์์ alias man='LANG=C man'์ผ๋ก ๊ณ ์ ํ๋ฉด ๋ฉ๋๋ค.
Q3. man ํ์ด์ง๊ฐ ๋๋ฌด ๊ธธ์ด์ ์ฝ๊ธฐ ํ๋ค์ด์. ์์ฝ๋ง ๋ณผ ์ ์๋์?
A. ๋ค์ ์กฐํฉ์ ์ถ์ฒํฉ๋๋ค.
- ์์ฃผ ์งง๊ฒ ๊ฐ์๋ง → ๋ช ๋ น์ด --help
- ํ ์ค ์์ฝ๊ณผ ์น์ ๋ง → man -f <์ด๋ฆ>
- ํน์ ํค์๋ ์์ฃผ๋ก → man <์ด๋ฆ> | grep -n "ํค์๋"
์:
ls --help # ์์ฝ ์ต์
๋ณด๊ธฐ
man -f ls # ํ ์ค ์ค๋ช
๋ง ๋ณด๊ธฐ
man ls | grep -n "time" # time ๊ด๋ จ ์ต์
๋ง ์ฐพ๊ธฐ
Q4. info์ man ์ค ๋ญ ์จ์ผ ํ๋์?
A. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ man๋ง์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
GNU ๊ณ์ด ๋๊ตฌ์ ๋ํด ์ข ๋ ์์ธํ ํํ ๋ฆฌ์ผ·์์ ๊ฐ ํ์ํ ๋๋ง info๋ฅผ ์ถ๊ฐ๋ก ์ฐ๋ฉด ๋ฉ๋๋ค.
์ฒ์์๋ --help + man ์กฐํฉ์ ์ต์ํด์ง๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
Q5. ๋ด๊ฐ ๋ง๋ ๋ช
๋ น์ด๋ ์คํฌ๋ฆฝํธ์๋ man ํ์ด์ง๋ฅผ ๋ถ์ผ ์ ์๋์?
A. ๊ฐ๋ฅํฉ๋๋ค.
roff ํฌ๋งท์ผ๋ก man ํ์ด์ง๋ฅผ ์์ฑํด์ /usr/local/share/man/man1/ ๊ฐ์ ์์น์ ์ค์นํ๊ณ , mandb๋ก ๊ฐฑ์ ํ๋ฉด ๋ฉ๋๋ค.
๋ค๋ง ์ด ์ฃผ์ ๋ ์ด๋ณด์๋ณด๋ค๋ ์กฐ๊ธ ๋ ๊ณ ๊ธ ๋จ๊ณ๋ผ,
“์ง์ man ํ์ด์ง ๋ง๋ค๊ธฐ”๋ ๋ณ๋ ๊ธ๋ก ๋นผ๋ ๊ฒ ์ข์ต๋๋ค.
Q6. ์น์
๋ฒํธ๋ฅผ ์ ์ ์ผ๋ฉด ํญ์ 1๋ฒ ์น์
์ด ์ด๋ฆฌ๋์?
A. ์๋๋๋ค.
๊ฒ์ ์์๋ ์์คํ
์ค์ ๊ณผ ๋ฐฐํฌํ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๊ฐ์ ์ด๋ฆ์ด ์ฌ๋ฌ ์น์
์ ์์ ์ ์์ผ๋ฏ๋ก,
printf(3), open(2)์ฒ๋ผ ์น์
๋ฒํธ๋ฅผ ๋ถ์ฌ ๋ถ๋ฅด๋ ์ต๊ด์ด ํผ๋์ ์ค์ฌ ์ค๋๋ค.
Q7. man ํ์ด์ง์์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๊ฐ ๋ถํธํด์. ํ์ด ์์๊น์?
A.
- ํฐ๋ฏธ๋์์ ๋ง์ฐ์ค๋ก ๋๋๊ทธํด์ ๋ณต์ฌ
- Shift + Insert ๋ฑ ํค ์กฐํฉ ์ฌ์ฉ
- ๋๋ man <์ด๋ฆ> | col -b > file.txt๋ก ํ ์คํธ ํ์ผ๋ก ์ ์ฅ ํ ์๋ํฐ์์ ์ด๊ธฐ
๊ฐ์ ํจํด์ ๋ง์ด ์๋๋ค.
Q8. man ํ์ด์ง์ EXAMPLES(์์ )๋ง ๋ชจ์์ ๋ณผ ์ ์๋์?
A. ์์ ๋ง ๋ฐ๋ก ์ถ์ถํ๋ ๊ณต์ ์ต์
์ ์์ต๋๋ค.
ํ์ค์ ์ธ ๋ฐฉ๋ฒ์:
man <์ด๋ฆ> | grep -n "EXAMPLES"
๋ก ์์ ์น์
์ ์์น๋ฅผ ์ฐพ๊ณ ,
๊ทธ ๊ทผ์ฒ ์·์๋๋ฅผ ์ค์ฌ์ผ๋ก ์ฝ๋ ๊ฒ์
๋๋ค.
Q9. ๊ฐ์ ๊ธฐ๋ฅ์ธ๋ฐ man ํ์ด์ง๋ง๋ค ์ค๋ช
์ด ๋ค๋ฅธ ๊ฒ ๊ฐ์์. ์ด๋ ์ชฝ์ด ๋ง๋์?
A. ๋ฐฐํฌํ, ์ปค๋, glibc ๋ฒ์ ์ด ๋ค๋ฅด๋ฉด man ๋ด์ฉ๋ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ค์ํ ๊ธฐ์ค์ ํญ์:
“์ง๊ธ ๋ด๊ฐ ์ฌ์ฉ ์ค์ธ ์์คํ ์ man”
์
๋๋ค.
๋ธ๋ก๊ทธ๋ ๋ค๋ฅธ ์์คํ
์ man ํ์ด์ง๋ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ๋ณด๊ณ ,
์ต์ข
ํ๋จ์ ํ์ฌ ์์คํ
๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ์ต๊ด์ด ์ค์ํฉ๋๋ค.
Q10. ๋ฆฌ๋
์ค ๊ธฐ๋ณธ ๋ช
๋ น์ด๋ฅผ ๊ณต๋ถํ ๋ man ์ฐ์ต์ ์ด๋ป๊ฒ ํ๋ฉด ์ข์๊น์?
A. ์ด๋ฐ ๋ฃจํด์ ์ถ์ฒํฉ๋๋ค.
- ์๋ก์ด ๋ช ๋ น์ด๋ฅผ ํ๋ ๋ฐฐ์ด๋ค. (์: ls)
- ๋ธ๋ก๊ทธ๋ ์ฑ ์ ๋์จ ์์ ๋ฅผ ๋ช ๊ฐ ์คํํด ๋ณธ๋ค.
- ๋ฐ๋ก man ls๋ฅผ ์ด์ด์ SYNOPSIS + OPTIONS๋ฅผ ๋๊น์ง ํ ๋ฒ ํ์ด๋ณธ๋ค.
- ๊ทธ๋ ์ค์ ๋ก ์ฌ์ฉํ ์ต์ ์ ๋จธ๋ฆฟ์์ผ๋ก ํ๊ดํ์ ๊ทธ์ด๋๋๋ค๋ ๋๋์ผ๋ก ๊ธฐ์ตํด ๋๋ค.
์ด๊ฑธ ์ฌ๋ฌ ๋ช
๋ น์ด์ ๋ฐ๋ณตํ๋ค ๋ณด๋ฉด,
์ด๋ ์๊ฐ๋ถํฐ๋ ๊ฒ์ → ๋ณต๋ถ๋ณด๋ค
๋งค๋ด์ผ → ์ดํด → ์ฌ์ฉ ์ชฝ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ๋์ด๊ฐ๊ฒ ๋ฉ๋๋ค.