๐ง /dev/null 2>&1 ๋ช ๋ น์ด ์๋ฏธ - ์๋ฒฝ ์ดํดํ๊ธฐ
๋ฆฌ๋ ์ค ๋ฆฌ๋ค์ด๋ ์
2>&1 ๋ ํ์ค์๋ฌ๋ฅผ ํ์ค์ถ๋ ฅ์ผ๋ก redirection ํ๋ผ๋ ์๋ฏธ์ด๋ค.
๋ณดํต ํ๋ก๊ทธ๋จ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด, ํ๋ฉด์ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ํ์ํด์ ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ๋ฅผ ์ฃผ๊ฒ ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ณธ์ ์ธ ์๋ฌ ๋์์ ๋ํด ์ฌ์ฉ์๊ฐ ์์๋ก ์ฌ์ง์ ํ์ฌ, ์ค๋ฅ๊ฐ ๋ฐ์ํด๋ ๊ฒฝ๊ณ ๋ฉ์ธ์ง ์ถ๋ ฅ์ ๋ด ๋ง์๋๋ก ์กฐ์ ํ ์ ์๋๋ฐ ์ด๊ฒ์ ํ์ค ์๋ฌ ๋ฆฌ๋ค์ด๋ ์ ์ด๋ผ๊ณ ํ๋ค.
๋ค์ ๋์๊ฐ์ 2>&1 ์ด๋ผํจ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์๋์ ๋ฉ์ถ๊ฑฐ๋ ๊บผ์ง์ง์๊ฒ ํ๊ณ , ๋์ ์๋ฌ๋ด์ฉ์ ํ์ค ์ถ๋ ฅ ๋์์ผ๋ก ํ๋ํ๊ฒ ํ์ฌ ํ๋ก๊ทธ๋จ์ ์ค๋ฅ๊ฐ ์๋๋ผ๋ ํ๋ฉด์ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ์ง ๋ง๊ณ ํ์ผ์ด๋ ๋ด ๊ณณ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , ์ด์จ๋ ๊ณ์ ์คํํ๋ผ๋ ์๋ฏธ๋ก ๋ณผ ์ ์๋ค.
์ด์ ๋๋ฉด, 2>&1 ๊ฐ ์๋ฏธํ๋ ๋ฐ๋ ์์์ง๋ง, ๋ณด๋ค ๋จธ๋ฆฟ์์ ์ ํํ ๊ธฐ์ต์ด ๋๋๋ก ๊ธฐํธ์ ์๋ฏธ๊น์ง ํ๋ํ๋ ํํค์ณ ๋ณด๊ณ ๋ช ๋ น์ด ์ฌ์ฉ์ฒ ์์ ๊น์ง ์๊ฐํด ๋ณด๊ฒ ๋ค.
๋ฆฌ๋ค์ด๋ ์ ๊ธฐํธ ์กฐํฉ ์ ๋ฆฌ
๋ฆฌ๋ค์ด๋ ์ (์ ์ถ๋ ฅ ์ฌ์ง์ )
๋ณต์ต ์ฐจ์์์ ์ค๋ช ํ์๋ฉด,
๋ฆฌ๋ค์ด๋ ์ (์ ์ถ๋ ฅ ์ฌ์ง์ )์ด๋ ์ผ๋ฐ์ ์ธ ํค๋ณด๋ ์ ๋ ฅ, ํ๋ฉด ์ถ๋ ฅ์ ์ฌ์ฉํ์ง ์๊ณ ์ฌ์ฉ์ ๋ง์๋๋ก ์ ๋ ฅ, ์ถ๋ ฅ์ ์ฌ์ง์ ํ๊ฒ ๋ค๋ ๋ง์ด๋ค.
๋ณธ๋ ํ์ค์ ๋ ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํค๋ณด๋์์ ์ง์ ๋ฐ์์ค๊ณ , ํ์ค ์ถ๋ ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ๋ก ๋์คํฌ์ ์ ์ฅํ์ง ์๊ณ ํ๋ฉด์ ์ถ๋ ฅ๋๋ค.
์ด๋ฌํ ๊ธฐ๋ณธ์ ์ธ ํ๋์จ์ด์ ์ธ ์ ์ถ๋ ฅ ๋์์ ๋ณ๊ฒฝํ๋ค๋ ๊ฒ์ด๋ค.
๋ํ์ ์ผ๋ก ํค๋ณด๋์์ ์ ๋ ฅ์ ๋ฐ์ง์๊ณ ํ์ผ๋ด์ฉ์ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ฑฐ๋, ๋ด์ฉ์ ํ๋ฉด์ ์ถ๋ ฅํ์ง์๊ณ ํ์ผ์ ์ ์ฅํ๋ ๊ฒ์ด ์๋ค.
๋ฆฌ๋ค์ด๋ ์ ๊ธฐํธ | ๋ฐฉํฅ | ์๋ฏธ |
> | ํ์ค ์ถ๋ ฅ | ๋ช ๋ น > ํ์ผ : ๋ช ๋ น์ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ์ ์ฅ |
>> | ํ์ค ์ถ๋ ฅ(์ถ๊ฐ) | ๋ช ๋ น >> ํ์ผ : ๋ช ๋ น์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์กด ํ์ผ ๋ฐ์ดํฐ์ ์ถ๊ฐ |
< | ํ์ค ์ ๋ ฅ | ๋ช ๋ น < ํ์ผ : ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ช ๋ น์ ์ ๋ ฅ |
๋ฆฌ๋ค์ด๋ ์ ์ ๋ํด์ ๋ฐ๋ก ์์ธํ๊ฒ ํฌ์คํ ํด๋ ๊ฒ์ด ์๋ค.
[LINUX] ๐ ์ ์ถ๋ ฅ ์ฌ์ง์ & ํ์ดํ ๋ช ๋ น์ด ๐ฏ ์ ๋ฆฌ
์ ์ถ๋ ฅ ์ฌ์ง์ ์ ์ถ๋ ฅ ์ฌ์ง์ ์ด๋, ์ผ๋ฐ์ ์ธ ์ ๋ ฅ, ์ถ๋ ฅ์ ์ฌ์ฉํ์ง ์๊ณ "ํ์ผ"๋ก ์ ์ถ๋ ฅ ํ๊ฒ ๋ค๋ ๋ง์ด๋ค. ๋ณธ๋ ํ์ค์ ๋ ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํค๋ณด๋์์ ์ง์ ๋ฐ์์ค๊ณ , ํ์ค ์ถ๋ ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก
inpa.tistory.com
ํ์ผ ๋์คํฌ๋ฆฝํฐ
ํ์ค ์
๋ ฅ๊ณผ ํ์ค ์ถ๋ ฅ ๊ทธ๋ฆฌ๊ณ ํ์ค ์๋ฌ๋ฅผ ์์ด๋ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์์๋ ์ซ์๋ก๋ ํํํ ์ ์๋๋ฐ ์ด๋ฅผ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ผ๊ณ ํ๋ค.
์ ๋์ค ์์คํ
์ ์ผ๋ฐ์ ์ธ ํ์ผ๋ถํฐ ๋๋ ํ ๋ฆฌ, ์์ผ, ํ์ดํ, ๋ธ๋ก/์บ๋ฆญํฐ ๋๋ฐ์ด์ค ๋ฑ๋ฑ ๋ชจ๋ ๊ฐ์ฒด๋ค์ ํ์ผ๋ก ๊ด๋ฆฌํ๋๋ฐ, ์์ ์์
์ค ํ์ํ ํ์ผ์ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ถ์ฌ์ ๊ด๋ฆฌํ๋ค.
์ด ์ผ๋ จ๋ฒํธ๊ฐ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฉฐ, ํ์ค ์ ์ถ๋ ฅ ์ฅ์น๋ ์ด ์ผ๋ จ๋ฒํธ๋ก ์ ์ด๋๋ค.
๊ทธ๋์ ์ฌ์ฉ์๋ ์ด ์ผ๋ จ๋ฒํธ๋ฅผ ์ด์ฉํ์ฌ ์ ์ถ๋ ฅ ์ฅ์น๋ฅผ ๋ณ๊ฒฝ(๋ฆฌ๋ค์ด๋ ์ ) ํ ์ ์๋ ๊ฒ์ด๋ค.
ํ์ผ๋์คํฌ๋ฆฝํฐ(์ผ๋ จ๋ฒํธ) | ์ด๋ฆ | ์ฉ๋ | ํ์ค์ฅ์น |
0 | stdin | ๋ช ๋ น์ด์ ์ ๋ ฅ๋ ๋ด์ฉ์ ์ ์ฅ | ํค๋ณด๋ |
1 | stdout | ๋ช ๋ น์ด์์ ์ถ๋ ฅ๋ ๋ด์ฉ์ ์ ์ฅ | ํ๋ฉด |
2 | stderr | ๋ช ๋ น์ด์์ ์ถ๋ ฅ๋ ์๋ฌ๋ฉ์์ง๋ฅผ ์ ์ฅ | ํ๋ฉด |
๋ค์ํ ๋ฆฌ๋ค์ด๋ ์ ๊ธฐํธ ์กฐํฉ
์์์ ๋ฐฐ์ด ๋ฆฌ๋ค์ด๋ ์ ๊บพ์ ๊ธฐํธ์ ํ์ผ๋์คํฌ๋ฆฝํฐ ์ผ๋ จ๋ฒํธ ๊ทธ๋ฆฌ๊ณ & ์ ! ๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ๋ฆฌ๋ค์ด๋ ์ ์กฐํฉ์ด ๊ฐ๋ฅํ๋ค.
$ ๋ช
๋ น >& ํ์ผ๋ช
# : ๋ช
๋ น์ด ์คํ๋ ํ์ค ์ถ๋ ฅ์ ๊ฒฐ๊ณผ์ ์๋ฌ๋ฅผ ํ์ผ๋ก ์ถ๋ ฅ
$ ๋ช
๋ น >>& ํ์ผ๋ช
# : ๋ช
๋ น์ด ์คํ๋ ํ์ค ์ถ๋ ฅ์ ๊ฒฐ๊ณผ์ ์๋ฌ๋ฅผ ํ์ผ๋ก ๋ง๋ถ์ฌ ์ถ๋ ฅ
$ ๋ช
๋ น >! ํ์ผ๋ช
# : ํ์ผ์ ์กด์ฌ ์ ๋ฌด์ ์๊ด์์ด ์์ฑํ๊ณ ๋ช
๋ น์ด ์คํ๋ ํ์ค ์ถ๋ ฅ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ์ถ๋ ฅ
$ ๋ช
๋ น >>! ํ์ผ๋ช
# : ํ์ผ์ ์กด์ฌ ์ ๋ฌด์ ์๊ด์์ด ์์ฑํ๊ณ ํ์ผ์ ๋ง๋ถ์ฌ ์ถ๋ ฅ
$ ๋ช
๋ น >&! ํ์ผ๋ช
# : ํ์ผ์ ์กด์ฌ ์ ๋ฌด์ ์๊ด์์ด ์์ฑํ๊ณ ๋ช
๋ น์ด ์คํ๋ ํ์ค ์ถ๋ ฅ์ ๊ฒฐ๊ณผ์ ์๋ฌ๋ฅผ ํ์ผ๋ก ์ถ๋ ฅ
$ ๋ช
๋ น >>&! ํ์ผ๋ช
# : ํ์ผ์ ์กด์ฌ ์ ๋ฌด์ ์๊ด์์ด ์์ฑํ๊ณ ๋ช
๋ น์ด ์คํ๋ ํ์ค ์ถ๋ ฅ์ ๊ฒฐ๊ณผ์ ์๋ฌ๋ฅผ ํ์ผ์ ๋ง๋ถ์ฌ ์ถ๋ ฅ
$ ๋ช
๋ น 1> ํ์ผ๋ช
# : ์ผ๋ จ๋ฒํธ 1์ฐ๋ ์์ฐ๋ ์ด์จ๋ ์ถ๋ ฅ์ ์๋ฏธํ๊ธฐ์ '๋ช
๋ น > ํ์ผ๋ช
' ์ ๊ฐ๋ค.
$ ๋ช
๋ น 2> err.txt # : ๋ง์ผ ๋ช
๋ น์ ์คํํ๋ค ์๋ฌ๊ฐ ๋๋ฉด, ์๋ฌ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ์ง ๋ง๊ณ ํ์ผ์ ๊ธฐ๋กํ๋๋ก ์ฌ์ง์
$ ๋ช
๋ น 2>> err.txt # : ์ค๋ฅ๊ฐ ๋๋ฉด ์๋ฌ๋ด์ฉ์ ๊ณ์ ํ์ผ์ ๋ง๋ถ์ฌ ์ถ๊ฐํ๋ค.
$ ๋ช
๋ น 2>&1 ํ์ผ๋ช
# : ํ์ค์๋ฌ๋ฅผ ํ์ค์ถ๋ ฅ ๋์์ผ๋ก ์ฌ์ง์ ํ๋ผ๋ ๋ป
>| # : ์ถ๋ ฅ์ ๋ฆฌ๋ค์ด๋ ์
ํ ๋ NOCLOBBER ์ค์ ์ ๋ฌด์ํ๋ค
<> filename # : ์ฅ์น ํ์ผ(/dev)์ด๋ฉด, ํ์ค ์ถ๋ ฅ, ํ์ค ์
๋ ฅ ๋ฑ์ ๋ชจ๋ ์ฌ์ฉํ๋ค.
2>&1 ์๋ฒฝ ์ดํดํ๊ธฐ
ํ์ค์๋ฌ๋ฅผ ํ์ค์ถ๋ ฅ ๋์์ผ๋ก ์ฌ์ง์ ํ๋ผ๋ ๋ง์ ์๊ฒ ๋ค.
ํ์ง๋ง ์ด๋ค์์ผ๋ก ์ค๋ฌด์์ ์ฌ์ฉ๋๋์ง ์์ง๋ ๋ชจํธํ๋ค.
๋ค์ ๋ช ๋ น์ด ์์ ๋ก ํ๋ฐฉ์ ์ ๋ฆฌํด๋ณธ๋ค.
$ ls > log.txt # ls ๋ช
๋ น์ด ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํ์ค ์ถ๋ ฅ ๋์์ ์ฌ์ง์ ํด log.txt์ ์ถ๋ ฅ ์ฆ, ์ ์ฅํ๋๋ก ํ๋ค.
์ ์์ ์ผ๋ก ๋๋ ํ ๋ฆฌ ๋ฆฌ์คํธ ๋ด์ฉ์ด ํ์ผ์ ์ ๋ค์ด๊ฐ์์์ ํ์ธ ํ ์ ์๋ค.
๊ทธ๋ผ ๋ง์ผ ๋ช ๋ น์ด๊ฐ ์๋ฌ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
-ERR ๋ผ๋ ๋ฆฌ๋ ์ค์ ์กด์ฌํ์ง ์๋ ์ต์ ์ ์ค์ ์ผ๋ถ๋ฌ ์๋ฌ๋ฅผ ๋ด๋ณด๊ฒ ํด๋ณด๊ฒ ๋ค.
$ ls -ERR > log.txt # ๋ช
๋ น์ด๊ฐ ์๋ฌ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ํ์ผ์ ์ ์ฅ๋ ๊น?
์ด์ํ ๋ช ๋ น์ด๋ฅผ ์คํํ์ผ๋ ๋น์ฐํ๊ฒ๋ ์ค๋ฅ๋ฉ์ธ์ง๊ฐ ํ๋ฉด์ ์ถ๋ ฅ๋์ด ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ๋ฅผ ์ค๋ค.
ํ๋ฒ log.txt ํ์ผ์ ์กฐํํด๋ดค๋๋ ๋ด์ฉ์ด ์๋ฌด๊ฒ๋ ์๋ค์ด ๊ฐ ์๋ค.
๊ทธ๋ผ ๋ง์ผ ๋ช ๋ น์ด๊ฐ ์๋ฌ๊ฐ ๋จ๋ฉด ํ๋ฉด์ ์ค๋ฅ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๋๊ฒ ์๋๋ผ, ์๋ฌ๋ฅผ ์์ ํ์ผ์ ์ ์ฅํ๊ฒ ํด์ ๋งค๋๋ฝ๊ฒ ์งํํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
$ ls -ERR 2> log.txt # ํ์ค์ค๋ฅ ์ฌ์ง์ ์ ํตํด ์๋ฌ๊ฐ ๋ ๊ฒฝ์ฐ ํ๋ฉด์ ์ค๋ฅ๋๋ค๊ณ ํ์ํ์ง๋ง๊ณ ๊ทธ๋ฅ ํ์ผ์ ์ ์ฅํ๋ค.
log.txt ํ์ผ์์ ์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ๋ค์ด์๋ค.
๋ง์ผ ํ๋ก๊ทธ๋จ์ด ์๋ฌ๊ฐ ๋๋ ๋ง ํ๋ฉด์ ์๋ฌ๋๋ค๊ณ ๋๋ฆฌ์น๋๊ฒ ์๋๋ผ ์กฐ์ฉํ ๋ก๊ทธ์ ๊ธฐ๋ก๋์ด์ ์ฌ์ฉ์ฑ์ด ์ข์์ก๋ค.
๊ทธ๋ผ ์ด๋๋ก ํ๋ฉด ๋งค๋๋ฌ์ด ํ๋ก๊ทธ๋จ์ด ์์ฑ๋์์๊น?
ํ๋ฒ ์ ์์ ์ธ ๋ช ๋ น์ด๋ก ๋ฐ๊ฟ์ ๊ทธ๋๋ก ์คํํด๋ณด์.
$ ls 2> log.txt
์์์ ์ ์์ ์ผ๋ก ๋๋ ํ ๋ฆฌ ๋ฆฌ์คํธ ๋ด์ฉ๋ค์ด ํ์ผ์์ ๋ค์ด๊ฐ ์์๋๋ฐ, ์กฐํํด๋ณด๋ ์๋ฌด๊ฒ๋ ์๋ค์ด๊ฐ ์๋ค.
์ฌ์ง์ ๋ณด๋ฉด ๊ทธ๋๋ก ํ๋ฉด์ ์ถ๋ ฅ ๋์ด๋ฒ๋ฆฐ๋ค.
์ด๊ฒ์ด ํ์ค ์ถ๋ ฅ ๊ณผ ํ์ค ์๋ฌ์ ์ฐจ์ด ์ด๋ค.
- ํ์ค ์ถ๋ ฅ์ ์ ์์ ์ธ ๋ช ๋ น์ด์ ๊ฒฐ๊ณผ ๋ด์ฉ์ ์ถ๋ ฅ์ ํ๋ฉด์์ ํ์ผ๋ก ๋ฐ๊พผ๊ฒ ๋ฟ์ด๊ณ ,
- ํ์ค ์๋ฌ๋ ์ค๋ฅ๋ฉ์ธ์ง ์ถ๋ ฅ์ ํ๋ฉด์์ ํ์ผ๋ก ๋ฐ๊พผ ๊ฒ ๋ฟ์ด๋ค.
๋ฐ๋ผ์, 2> ํ์ค ์๋ฌ ์ฌ์ง์ ์ ์ค๋ฅ๋ฉ์ธ์ง๋ง ์ทจ๊ธํ๊ธฐ ๋๋ฌธ์ ์ ์์ ์ธ ๋ช ๋ น์ ๋ํด์ ์๋ฌด๋ฐ ์์ ์ ํ์ง ์๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ๋ช ๋ น์ด๊ฐ ์ฑ๊ณตํด๋ ํ์ผ์ ๋ด์ฉ์ ๋ฃ๊ณ , ์คํจํด๋ ํ์ผ์ ๋ด์ฉ์ ํ๊บผ๋ฒ์ ๊ธฐ๋กํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
$ ls >2> log.txt # ์ด๋ฐ ๋ช
๋ น์ด๋ ์๋ค -_-;
$ ls > log.txt 2> log.txt
# ๋ง์ผ ๋ช
๋ น์ด๋ฅผ ์คํํด์ ์ฑ๊ณตํ๋ฉด ํ์ค ์ถ๋ ฅ ์ฌ์ง์ ์ ํตํด ํ์ผ์ ๊ธฐ๋กํ๊ณ
# ๋ช
๋ น์ด๊ฐ ์คํจํ๋ฉด ํ์ค ์๋ฌ ์ฌ์ง์ ์ ํตํด ํ์ผ์ ๊ธฐ๋กํ๋๋ก ์กฐ์
์ฌ์ง์์ ๋ณด๋ฏ์ด, ๋ช ๋ น์ด๊ฐ ์ฑ๊ณตํ๋ฉด ๊ฒฐ๊ณผ ๋ด์ฉ์ด ํ์ผ์ ๊ธฐ๋ก๋์๊ณ ,
๋ช ๋ น์ด๊ฐ ์คํจํ๋ฉด ์ค๋ฅ๋ฉ์ธ์ง๊ฐ ํ์ผ์ ๊ธฐ๋ก๋จ์ ํ์ธ ํ ์ ์๋ค.
๋ช ๋ น์ด๊ฐ ์ฑ๊ณตํ๋ ์คํจํ๋ ๋๋ค ํ์ผ์ ๊ธฐ๋ก๋๋๋ก ์ค์ ์ ์ฑ๊ณตํ ๊ฒ์ด๋ค!!
๊ทธ๋ฆฌ๊ณ 2>&1 ๋ ์์ ๋ช ๋ น์ด๋ฅผ ํจ์ถํ ๋ฒ์ ผ์ด๋ผ ๋ณด๋ฉด ๋๋ค! (๋ช ๋ น์ด๊ฐ ๋๋ฌด ๊ธธ์์?)
$ ls > log.txt 2>&1
์ ๋ช ๋ น์ด๋ฅผ ๊ธฐํธ ํ๋ํ๋ ์์ธํ ์ ๋ฆฌํ์๋ฉด ์ด๋ ๊ฒ ๋๋ค. (์ด๊ฒ์ผ๋ก ์๋ฒฝํ๊ฒ ์ดํดํ๊ณ ์๋ฒฝํ ์๊ธฐ๊ฐ ๋ฌ์์ ๋ฐ๋๋ค.)
2>&1 ๋ crontab์์๋ ์๊ธดํ๊ฒ ์ฐ์ผ ์ ์๋ค.
๋ง์ผ ํ์ค ์๋ฌ๋ฅผ ์ฌ์ง์ ํ์ง์์ผ๋ฉด, ์ด๋ค ๋ค๋ฅธ ๊ณ์ ์ ์ฌ์ฉ์๊ฐ ๋ฆฌ๋ ์ค๋ฅผ ์ด์ฉํ๋ค cron์ ์ํด ์๋ฌ๊ฐ ๋๋ ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋์ ๊ฐ์๊ธฐ ํ๊ตฌํ๋ ์ ํฐ๋ฏธ๋์ ์ ์ฉ๋ฑ๋ง์ ์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ๋ ๋ฒ๋ฆฌ๋ ๋ถ์์ฌ๊ฐ ์๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
/dev/null ์ดํดํ๊ธฐ
์ด๋ฐ ๋ช ๋ น์ด๋ฅผ ์ ํด๋ดค์ ๊ฒ์ด๋ค.
$ /script.sh > /dev/null 2>&1
์ ์ฉ๋ฑ๋ง์ ๋ฌธ๋ฒ์ด๋ผ ์ฒ์์๋ ๊ฒ ๋จน์๊ฒ ์ง๋ง ์ด์ ๋ ๊ทธ๋ด ํ์๊ฐ ์๋ค.
/dev/null ๋ ๋ธ๋ํ ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
์ด ๊ฒฝ๋ก์ ๋ณด๋ด์ง๋ ๋ชจ๋ ํ์ผ๊ณผ ๋ฐ์ดํฐ๋ค์ ๋ธ๋ํ์ ๋นจ๋ ค๋ค์ด๊ฐ์ ็ก๊ฐ ๋๋ค.
์ฆ, /dev/null๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ธ๋ค๋ ๊ฒ์,
๋ฐ์ดํฐ๋ฅผ ์ฃ๋ค ๋ง๋ํ ์์ ๋ฒ๋ ค์ ๊น๋ํ๊ฒ ํ๋ฉด์ ํ์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋งํ๋ค.
๋ฐ๋ผ์ ํน์ ๋ช ๋ น์ด๋ฅผ ์คํํ ํ์ ์ถ๋ ฅ์ด ํ์ ์๋ ๊ฒฝ์ฐ์ > /dev/null ๋ก ๋ฆฌ๋ค์ด๋ ์ ์ ํ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ > /dev/null 2>&1 ์๋ฏธ๋ ์คํฌ๋ฆฝํธ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ ์๋ฌ ๋ด์ฉ๋ /dev/null์ ๋ฆฌ๋ค์ด๋ ์ ์์ผ์ ๋ฒ๋ ค๋ฒ๋ฆฐ๋ค๋ ๋ป์ ์๋ฏธํ๋ค.
# ์ฐธ๊ณ ์๋ฃ
https://blog.naver.com/dev_zion/222631283389