๐ก ์ด๋ฒ ํฌ์คํ ์์๋ Redirection์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Redirection์ ํฐ๋ฏธ๋์์ ๋ช ๋ น์ ์คํํ ๋ ํ์ค ์ ๋ ฅ ๋ฐ ํ์ค ์ถ๋ ฅ, ๊ทธ๋ฆฌ๊ณ ํ์ค ์๋ฌ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ Linux์ ๊ธฐ๋ฅ์ ๋๋ค.
์์ ๊ฐ์ด ๋ฆฌ๋ ์ค์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํค๋ณด๋๋ฅผ ํตํด ์ ๋ ฅ์ ๋ฐ๊ณ ์์ต๋๋ค. (ํ์ค ์ ๋ ฅ)
๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅ๊ณผ ์๋ฌ๋ ํฐ๋ฏธ๋๋ก ๋ณด์ด๊ฒ ๋ฉ๋๋ค. (ํ์ค ์ถ๋ ฅ, ํ์ค ์๋ฌ)
stdin(ํ์ค ์ ๋ ฅ): 0
stdout(ํ์ค ์ถ๋ ฅ): 1
stderr(ํ์ค ์๋ฌ): 2
์ฌ๊ธฐ์ 0, 1, 2์ ์๋ฏธ๋ ํ์ผ ์์ ์(File Descriptor)๋ฅผ ๋งํฉ๋๋ค.
'>'๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๊ธฐ
ํ์ค ์ถ๋ ฅ์ ํ์ผ ์์ ์ 1๋ฒ์ผ๋ก ์ค์ ๋์ด ์๊ณ ํ์ค ์๋ฌ๋ ํ์ผ ์์ ์ 2๋ฒ์ผ๋ก ์ค์ ๋์ด ์์ผ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํฐ๋ฏธ๋๋ก ์ค์ ์ด ๋์ด ์์ต๋๋ค.
ํ์ค ์ถ๋ ฅ, ํ์ค ์๋ฌ๋ฅผ redirection ํ๊ธฐ ์ํด์๋ '>'๋ฅผ ์ฌ์ฉํฉ๋๋ค.
command > file,
command 1> file
→ ํ์ค ์ถ๋ ฅ์ file๋ก ๋ณด๋ ๋๋ค. 1์ ํ์ค ์ถ๋ ฅ ํ์ผ ์์ ์๋ฅผ ๋ปํ๋ฉฐ ์๋ต์ด ๊ฐ๋ฅํฉ๋๋ค.
command 2> file
→ ํ์ค ์๋ฌ๋ฅผ file๋ก ๋ณด๋ ๋๋ค. 2๋ ํ์ค ์๋ฌ ํ์ผ ์์ ์๋ฅผ ๋ปํ๋ฉฐ ํ์ค ์ถ๋ ฅ๊ณผ ๋ฌ๋ฆฌ 2๋ ์๋ตํ ์ ์์ต๋๋ค.
command 2>&1
→ ํ์ค ์ค๋ฅ๋ฅผ ํ์ค ์ถ๋ ฅ์ผ๋ก ๋ณด๋ ๋๋ค.
command > file 2>&1
→ ํ์ค ์ถ๋ ฅ์ ํ์ผ๋ก ๋ณด๋ด๋ฉฐ, ํ์ค ์ค๋ฅ๋ฅผ ํ์ค ์ถ๋ ฅ์ผ๋ก ๋ณด๋ ๋๋ค.
→ ๋ฐ๋ผ์ ํ์ค ์๋ฌ, ํ์ค ์ถ๋ ฅ ๋ชจ๋ ํ์ผ๋ก ๋ณด๋ด์ง๋๋ค.
์ด๋ ์ฌ์ฉ๋ ">&"๋ฅผ Merge Redirection(๋จธ์ง ๋ฆฌ๋ค์ด๋ ์ )์ด๋ผ๊ณ ํฉ๋๋ค.
command &> file
→ ํ์ค ์ถ๋ ฅ, ํ์ค ์๋ฌ๋ฅผ ํ์ผ๋ก ๋ณด๋ ๋๋ค.
ls ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ด ํ์ค ์ถ๋ ฅ์ผ๋ก ์ค์ ๋ ํฐ๋ฏธ๋๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
ls ๊ฒฐ๊ณผ๋ฅผ ํฐ๋ฏธ๋์ด ์๋ test ํ์ผ๋ก ๋ณด๋ด๋ฉด ๋ ์ด์ ls ๊ฒฐ๊ณผ๊ฐ ํฐ๋ฏธ๋์ ์ถ๋ ฅ๋์ง ์์ต๋๋ค.
ํ์ค ์ถ๋ ฅ๋ง ๋ฆฌ๋ค์ด๋ ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฌ๋ ์ฌ์ ํ ํฐ๋ฏธ๋๋ก ์ถ๋ ฅ์ด ๋ฉ๋๋ค.
์๋ฌ๋ ๋์ผํ๊ฒ ํ์ผ๋ก ์ถ๋ ฅํ๊ณ ์ถ์ ๊ฒฝ์ฐ๋ ์๋์ ๊ฐ์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
๋๋ ์๋์ ๊ฐ์ด ํ์ค ์๋ฌ๋ฅผ ๋ฌด์ํ ์๋ ์์ต๋๋ค.
/dev/null์ ํญ์ ๋น์ด ์๊ณ /dev/null์ ๋ณด๋ด์ง ๋ฐ์ดํฐ๋ ๋ฒ๋ ค์ง๊ธฐ ๋๋ฌธ์ ์ด ํน์ฑ์ ์ด์ฉํ์ฌ ํ์ค ์ถ๋ ฅ, ํ์ค ์๋ฌ๋ฅผ ๋ฌด์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ /dev/null๋ก ๋ฆฌ๋ค์ด๋ ์ ํฉ๋๋ค.
'>>'๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๊ธฐ
์์ ์ ๋ฆฌํ '>' ๋ฆฌ๋ค์ด๋ ์ ์ ๊ฒฝ์ฐ ์ถ๋ ฅ, ์๋ฌ ๊ฒฐ๊ณผ๋ฅผ ํญ์ ๋ฎ์ด์ด๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ธฐ์กด์ ๋ด์ฉ์ ์ ์งํ๋ฉด์ ์๋ก์ด ๋ด์ฉ๋ค์ ์ถ๊ฐํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ '>'๊ฐ ์๋ '>>'์ ์ฌ์ฉํฉ๋๋ค.
์๊น์ ๋ฌ๋ฆฌ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ค์ด ๋์ ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
'<'๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๊ธฐ
'<'๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ค ์ ๋ ฅ์ ๋ฆฌ๋ค์ด๋ ์ ํ ์ ์์ต๋๋ค.
cat ๋ช ๋ น์ด์ ๊ฒฝ์ฐ ์ธ์๊ฐ ์์ ๊ฒฝ์ฐ ํ์ค ์ ๋ ฅ์ธ ํค๋ณด๋์์ ์ ๋ ฅ์ ๋ฐ์ต๋๋ค.
์ ๋ ฅ์ ๋ฐ์ ํ์ผ๋ช ์ ์์ฑํด์ ํด๋น ํ์ผ์ ์๋ ๋ด์ฉ์ ์ถ๋ ฅํ ์ ์์ง๋ง, '<' ๋ฆฌ๋ค์ด๋ ์ ์ ์ด์ฉํด์๋ ์์ฑํ ์ ์์ต๋๋ค.
'<<'๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์์ฑํ ๋จ์ด๊ฐ ์ ๋ ฅ๋ ๋๊น์ง ๊ณ์ํด์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฑํ ๋จ์ด๊ฐ ์ ๋ ฅ๋ ๊ฒฝ์ฐ ์ฆ์ ์ ๋ ฅ์ ์ข ๋ฃํ๋ฉฐ ์ด๋๊น์ง ์ ๋ ฅ๋ ์ ๋ณด๋ ๋ช ๋ น์ด์ ๋ํ ํ์ค ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ฐธ๊ณ ์๋ฃ
- https://www.redhat.com/sysadmin/linux-shell-redirection-pipelining
- https://www.geeksforgeeks.org/input-output-redirection-in-linux/
- https://www.educative.io/answers/how-to-do-input-output-redirection-in-linux
- https://www.gnu.org/software/bash/manual/html_node/Redirections.html
'Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - tar (0) | 2023.04.02 |
---|---|
ํ์ผ ์ ํ (File Type) (0) | 2023.04.02 |
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - ls (0) | 2023.04.02 |
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - mkdir & rmdir (0) | 2023.04.02 |
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - cd (Change Directory) (0) | 2023.04.01 |
๋๊ธ