๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Linux

[Linux] ํ”„๋กœ์„ธ์Šค์™€ ์žก, ํ‘œ์ค€ ์ž…/์ถœ๋ ฅ, ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ

๋ฐ˜์‘ํ˜•

๐Ÿ”Š ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ชจ๋‘์˜ ๋ฆฌ๋ˆ…์Šค ์„œ์ ์˜ ๋‚ด์šฉ์„ ์ฝ๊ณ  ๊ฐœ์ธ์ ์ธ ์ •๋ฆฌ ๋ชฉ์  ํ•˜์— ์ž‘์„ฑ๋œ ๊ธ€์ž„์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ํฌ์ŠคํŒ… ๋‚ด์šฉ์˜ ๊ธฐ๋ฐ˜ ๋‚ด์šฉ์€ ํ•ด๋‹น ์„œ์ ์— ๊ธฐ๋ฐ˜ํ•˜์˜€์œผ๋ฉฐ ๋‚ด์šฉ ์ž์ฒด๋Š” ์ œ๊ฐ€ ์ง์ ‘ ์žฌ๊ตฌ์„ฑํ–ˆ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

 

๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด


์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฆฌ๋ˆ…์Šค์—์„œ์˜ ํ”„๋กœ์„ธ์Šค์™€ ์žก์— ๋Œ€ํ•œ ์„ค๋ช…, ํ‘œ์ค€ ์ž…์ถœ๋ ฅ๊ณผ ํŒŒ์ดํ”„๋ผ์ธ, ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ๋ˆ…์Šค๋ฅผ ์ด์šฉํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๊ฐ€์žฅ ๋จผ์ € ๋ฆฌ๋ˆ…์Šค์˜ ํ”„๋กœ์„ธ์Šค์™€ ์žก์ด๋‹ค.

1. ํ”„๋กœ์„ธ์Šค์™€ ์žก

๋จผ์ € ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ , ์šฐ๋ฆฌ๊ฐ€ ํ˜„์žฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฆฌ๋ˆ…์Šค์—์„œ ์‹ค์ œ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š”์ง€๋„ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ๋ฐฐ์›Œ๋ณด์ž. ์•ž์„œ์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๋™์•ˆ ๋ฐฐ์›Œ์˜จ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ช…๋ น์–ด(cat, less, man ๋“ฑ๋“ฑ..)๋“ค์˜ ์‹ค์ฒด๋Š” ๋””์Šคํฌ์— ์žˆ๋Š” 'ํŒŒ์ผ'์ž„์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์…ธ์—์„œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด (OS์˜ ์ค‘์‹ฌ์—์„œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ธ)์ปค๋„์ด ๋””์Šคํฌ์— ์žˆ๋Š” (์…ธ์ด ์ž…๋ ฅํ•œ ๋ช…๋ น์–ด์— ํ•ด๋‹นํ•˜๋Š”) ํŠน์ • ํŒŒ์ผ(์‹คํ–‰๊ฐ€๋Šฅํ•œ  ํŒŒ์ผ)์„ ์ฝ์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ ํ›„ CPU๊ฐ€ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ณผ์ •

 

์—ฌ๊ธฐ์„œ ํ•œ ๊ฐ€์ง€ ์ฃผ๋ชฉํ•  ์ ์€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ, ์œ„ ๊ทธ๋ฆผ์„ ์˜ˆ๋กœ ๋“ค๋ฉด ๊ฐ™์€ cat ๋ช…๋ น์–ด๋ฅผ 2๋ฒˆ ์‹คํ–‰ํ•˜๋”๋ผ๋„ ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•œ ์‚ฌ์šฉ์ž ์™ธ์—๋Š” ๊ถŒํ•œ์ด ์ œํ•œ๋œ๋‹ค. ๋ฆฌ๋ˆ…์Šค ์ปค๋„์€ ์ด๋ ‡๊ฒŒ ์‹คํ–‰๋œ ๊ฐ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ํ”„๋กœ์„ธ์Šค ID(PID)๋ผ๋Š” ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ๋ฅผ ํ• ๋‹นํ•ด์„œ ๊ด€๋ฆฌํ•œ๋‹ค. ๋˜ํ•œ ๋ฆฌ๋ˆ…์Šค์—์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์ด๋ฏธ ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ์šฐ๋ฆฌ๊ฐ€ ์…ธ์—์„œ ls ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ์…ธ์ด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ ls ๋ช…๋ น์–ด๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค. ๋‹ค์Œ์€ ๋ฆฌ๋ˆ…์Šค์—์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก์„ ์‚ดํŽด๋ณด๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

 

์ฐธ๊ณ ๋กœ ์•„๋ž˜ ps ๋ช…๋ น์–ด๋ฅผ ๋ณด๋ฉด ์˜ต์…˜์„ ๋„ฃ์–ด์ค„ ๋•Œ ํ•˜์ดํ”ˆ(-)์„ ๋„ฃ์–ด์ฃผ์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ps ๋ช…๋ น์–ด๋Š” BSD ์˜ต์…˜์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฆฌ๋ˆ…์Šค๋Š” ๋ณดํ†ต 2๊ฐ€์ง€ ์˜ต์…˜์„ ์ง€์›ํ•˜๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ๋Š” ๊ทธ๋™์•ˆ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•ด์™”๋˜ ํ•˜์ดํ”ˆ(-)์„ ๋„ฃ๋Š” UNIX ์˜ต์…˜์ด๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ๋ฐฉ๊ธˆ ์•Œ์•„๋ณธ BSD ์˜ต์…˜์ด๋‹ค. ํ•˜์ดํ”ˆ(-) ์œ ๋ฌด์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค๋Š” ์ ์— ์ฃผ์˜ํ•˜์ž. ํ˜„์žฌ๋Š” ps ๋ช…๋ น์–ด๋Š” BSD ์˜ต์…˜์ด ์ฃผ๋ฅ˜๋กœ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ๋Š” BSD ์˜ต์…˜ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค.(UNIX ์˜ต์…˜๋„ ๋”ฐ๋กœ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ๊ถ๊ธˆํ•˜์‹  ๋ถ„์€ ps ๋ช…๋ น์–ด ๋ฉ”๋‰ด์–ผ์„ ์ฐธ๊ณ ํ•ด๋ณด์ž)

 

๋ช…๋ น์–ด ์˜๋ฏธ
ps ํ˜„์žฌ ์ ‘์†ํ•œ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค๋งŒ์˜ ๋ชฉ๋ก์„ ์ถœ๋ ฅ(์ถœ๋ ฅํ™”๋ฉด์—์„œ PID๋Š” ํ”„๋กœ์„ธ์Šค ID, CMD๋Š” ์‹คํ–‰ํ•œ ๋ช…๋ น์–ด๋ฅผ ์˜๋ฏธ)
ps xf 1. x ์˜ต์…˜์€ ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋˜๋Š” ํ„ฐ๋ฏธ๋„๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœ์„ธ์Šค(๋ฐ๋ชฌ์ด๋ผ ํ•จ)๊นŒ์ง€ ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ. 
2. f ์˜ต์…˜์€ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ถ€๋ชจ,์ž์‹ ๊ด€๊ณ„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ(๋ถ€๋ชจ, ์ž์‹ ๊ด€๊ณ„๋Š” \(์—ญ์Šฌ๋ž˜์‰ฌ)๋กœ ํ‘œํ˜„๋จ)
 ใ„ด ์ด๋•Œ, TTY๋Š” ํ„ฐ๋ฏธ๋„์„ ์˜๋ฏธ
 ใ„ด TTY์—์„œ '?'๋ผ๊ณ  ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ„ฐ๋ฏธ๋„์— ์ ‘์†๋˜์–ด ์žˆ์ง€ ์•Š์€ '๋ฐ๋ชฌ'์ž„์„ ์˜๋ฏธ
ps ax a ์˜ต์…˜์€ ์‹œ์Šคํ…œ์„ ์œ„ํ•ด ๋™์ž‘ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋„ ๋ชจ๋‘ ํ‘œ์‹œ. ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ฃผ๋กœ ์Šˆํผ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰๋จ
ps x ps ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถœ๋ ฅ
ps ux ps ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ '์ƒ์„ธํžˆ' ์ถœ๋ ฅ
ps aux ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ '์ƒ์„ธํžˆ' ์ถœ๋ ฅ
ps auxww aux ์˜ต์…˜์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๊ฐ€ ํ™”๋ฉด์— ์ž˜๋ฆฌ์ง€ ์•Š๋„๋ก ์ถœ๋ ฅ

 

์œ„ ๋ช…๋ น์–ด๋ฅผ ์น˜๋‹ค๋ณด๋ฉด ๋ฆฌ๋ˆ…์Šค์—์„œ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ์–ตํ•  ์ ์€ ๋ฆฌ๋ˆ…์Šค๊ฐ€ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์„ ์ง€์›ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ '๋™์‹œ์—' ๋Œ์•„๊ฐ„๋‹ค๋Š” ๊ฒƒ์„ ๊ผญ ๊ธฐ์–ตํ•˜์ž.

 

๋‹ค์Œ์€ ์žก(Job)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์œ„์—์„œ ์•Œ์•„๋ณธ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ์ž…์žฅ์—์„œ ๋ฐ”๋ผ๋ณธ ์ฒ˜๋ฆฌ ๋‹จ์œ„์ด๋‹ค. ์žก์€ ์…ธ์˜ ์ž…์žฅ์—์„œ ๋ฐ”๋ผ๋ณธ ์ฒ˜๋ฆฌ ๋‹จ์œ„์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์…ธ์˜ ์ปค๋งจ๋“œ ๋ผ์ธ์— ์ž…๋ ฅํ•œ ํ•˜๋‚˜์˜ ํ–‰์ด ๊ณง ์žก ํ•˜๋‚˜์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์…ธ์˜ ์ฒ˜๋ฆฌ ๋‹จ์œ„๋Š” ์žก์ด๋‹ค

 

๊ทธ๋ ‡๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค์™€ ์žก์€ ์„œ๋กœ ์–ด๋–ค ๊ด€๊ณ„์— ์žˆ์„๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž. ๋งŒ์•ฝ ๋‚ด๊ฐ€ ์…ธ์—์„œ ์ปค๋งจ๋“œ ๋ผ์ธ์— ๋ช…๋ น์–ด ํ•˜๋‚˜๋งŒ์„ ์ž…๋ ฅํ–ˆ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค์™€ ์žก์ด ๊ฐ™๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ถ”ํ›„์— ๋ฐฐ์šธ(ํŒŒ์ดํ”„)๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ์—ฐ๊ฒฐํ–ˆ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค๋Š” ๋ช…๋ น์–ด๋งˆ๋‹ค ๋งŒ๋“ค์–ด์ง€์ง€๋งŒ ์žก์€ ๋‹จ ํ•˜๋‚˜์ด๊ฒŒ ๋œ๋‹ค.

 

๋˜ํ•œ ์œ„์—์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ์Šคํ…œ ์ „์ฒด์— ๊ฑธ์ณ ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ํ• ๋‹น๋œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์žก์€ ์…ธ ๋ณ„๋กœ ๊ด€๋ฆฌ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(์ฆ‰, tmux๋กœ ์—ฌ๋Ÿฌ๊ฐœ ํ„ฐ๋ฏธ๋„์„ ๋„์›Œ๋†“๊ฑฐ๋‚˜ ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์—ฌ๋Ÿฌ๊ฐœ ๋„์šฐ๊ฑฐ๋‚˜) ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์…ธ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์žก ๋ฒˆํ˜ธ๊ฐ€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ๋‹ค.

 

์žก์€ ์ผ์‹œ ์ •์ง€ํ•˜๊ฑฐ๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋ณ‘ํ–‰์ฒ˜๋ฆฌํ•˜์—ฌ ํšจ์œจ์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ดํŽด๋ณด์ž.

 

๋ช…๋ น์–ด ์˜๋ฏธ
Ctrl + z Stopped๋ผ๊ณ  ํ‘œ์‹œ๋˜๋ฉฐ ์žก์„ ์ผ์‹œ์ •์ง€ํ•˜๋Š” ๋ช…๋ น์–ด
jobs ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ์žก ๋ชฉ๋ก์„ ํ™•์ธ
jobs -l(L ์†Œ๋ฌธ์ž) ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ์žก ๋ชฉ๋ก๊ณผ PID๋„ ํ•จ๊ป˜ ํ‘œ์‹œ

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ์ผ์‹œ์ •์ง€ํ•œ ์žก์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? ๋ฐ”๋กœ ์žก์„ ํฌ๊ทธ๋ผ์šด๋“œ ์ƒํƒœ๋กœ ์ „ํ™˜์‹œ์ผœ์•ผ ํ•œ๋‹ค. 'ํฌ๊ทธ๋ผ์šด๋“œ' ์ƒํƒœ๋ž€ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ์žก์˜ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์šฐ์„  ์ผ์‹œ์ •์ง€ํ•œ ์žก์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด jobs ๋ช…๋ น์–ด๋ฅผ ์น˜๊ณ  ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์žก์„ ํฌ์–ด๊ทธ๋ผ์šด๋“œ์ƒํƒœ๋กœ ๋Œ๋ ค๋†“์œผ๋ฉด ์ด์ „์— ์žก์„ ์ผ์‹œ์ •์ง€ํ•œ ๊ทธ ์ˆœ๊ฐ„ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ„๋‹ค. 

 

๋ช…๋ น์–ด ์˜๋ฏธ
fg %[์žก๋ฒˆํ˜ธ] [์žก๋ฒˆํ˜ธ]์— ํ•ด๋‹นํ•˜๋Š” ์žก์„ ํฌ๊ทธ๋ผ์šด๋“œ ์ƒํƒœ๋กœ ๋ณ€ํ™˜. ์ฐธ๊ณ ๋กœ fg ๋ช…๋ น์–ด๋งŒ์„ ์ž…๋ ฅํ•˜๋ฉด ํ˜„์žฌ ์žก(jobs ๋ช…๋ น์–ด๋กœ ์ณค์„ ๋•Œ +๋กœ ํ‘œ์‹œ๋œ ์žก. ์ด ์žก์€ ๊ฐ€์žฅ ์ตœ์‹ ์— ์ผ์‹œ์ •์ง€ํ•œ ์žก์œผ๋กœ ๋งค๋ฒˆ ๊ฐฑ์‹ ๋จ)์ด ๋””ํดํŠธ๋กœ ์„ ํƒ๋œ๋‹ค.
bg %[์žก๋ฒˆํ˜ธ] [์žก๋ฒˆํ˜ธ]์— ํ•ด๋‹นํ•˜๋Š” ์žก์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ƒํƒœ๋กœ ๋ณ€ํ™˜
fallocate -l [์šฉ๋Ÿ‰(byte)] [ํŒŒ์ผ ์ด๋ฆ„] ํŠน์ • ์šฉ๋Ÿ‰์˜ ๋”๋ฏธ ํŒŒ์ผ์„ ์ƒ์„ฑ

 

์—ฌ๊ธฐ์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ƒํƒœ๋ž€, ํฌ๊ทธ๋ผ์šด๋“œ์™€ ๋ฐ˜๋Œ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์กฐ์ž‘ํ•  ์ˆ˜ ์—†๋Š” ์žก์˜ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ์šฉ๋Ÿ‰์ด ์—„์ฒญ๋‚œ ํฐ ํŒŒ์ผ์„ ์˜ฎ๊ธด๋‹ค๊ฑฐ๋‚˜ ํฐ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ๋“ฑ  ์˜ค๋žœ ์‹œ๊ฐ„๋™์•ˆ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ์žก์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์œ„์ฒ˜๋Ÿผ bg %[์žก๋ฒˆํ˜ธ] ์ด ๋ช…๋ น์–ด๋ฅผ ์“ฐ๋ ค๋ฉด ์–ด์จŒ๊ฑด ํŠน์ • ์žก์„ ์ผ์‹œ์ •์ง€ ํ•œ ํ›„, ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด 2๋ฒˆ์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ํ•œ๋ฒˆ์— ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

๋ช…๋ น์–ด ์˜๋ฏธ
ex) cp file1 file2 & ๋์— &ํ‘œ์‹œ๋ฅผ ํ•ด์ฃผ๋ฉด ๋จ. ์˜๋ฏธ๋Š” file1 ์„ file2๋กœ ๋ณต์‚ฌํ•˜๋Š” ์ž‘์—…์„ '๋ฐฑ๊ทธ๋ผ์šด๋“œ' ์žก์œผ๋กœ ์‹คํ–‰ํ•˜๋ผ

 

๊ทธ๋ž˜์„œ ์žก์˜ ์ผ์‹œ์ •์ง€, ํฌ๊ทธ๋ผ์šด๋“œ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ƒํƒœ ๊ด€๊ณ„๋ฅผ ๋„์‹ํ™”ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ฐธ๊ณ ๋กœ ์œ„ ๋ชจ๋“  ๋ช…๋ น์–ด๋Š” ๋‚ด์žฅ ๋ช…๋ น์–ด์ด๋‹ค.(๋‚ด์žฅ ๋ช…๋ น์–ด์™€ ์™ธ์žฅ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ฐจ์ด๋Š” ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์ด์•ผ๊ธฐํ–ˆ๋‹ค)

 

์ผ์‹œ์ •์ง€, ํฌ๊ทธ๋ผ์šด๋“œ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๊ฐ„์˜ ๊ด€๊ณ„

 

๋‹ค์Œ์€ ์žก๊ณผ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด์ž. 

 

๋ช…๋ น์–ด ์˜๋ฏธ
Ctrl + c ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ ์ค‘์ธ ์žก์„ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์–ด
kill %[์žก๋ฒˆํ˜ธ] ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ ์ค‘์ธ ์žก์„ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์–ด
kill [PID] ํŠน์ • ํ”„๋กœ์„ธ์Šค ID๋ฅผ ๊ฐ–๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์–ด
ใ„ด ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋˜ ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ ์ข…๋ฃŒ๋Š” ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ
ใ„ด ๋‹ค๋งŒ ๋‹ค๋ฅธ '์‚ฌ์šฉ์ž'๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒํ•  ์ˆ˜ ์—†์Œ(๋‹จ, ์Šˆํผ ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋‘ ๊ฐ€๋Šฅ)

 

์œ„์—์„œ kill ๋ช…๋ น์–ด์— ๋Œ€ํ•ด์„œ ํ•œ ๊ฐ€์ง€ ๋ฐฐ์›Œ๋ณผ ๋‚ด์šฉ์ด ์žˆ๋‹ค. kill ๋ช…๋ น์–ด๋Š” ์‚ฌ์‹ค ์œ„์—์„œ ๋ฐฐ์šด ๊ฒƒ์ฒ˜๋Ÿผ ์žก์ด๋‚˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹ˆ๋ผ ์›๋ž˜๋Š” ์‹œ๊ทธ๋„์„ ์ „์†กํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์‹œ๊ทธ๋„์ด๋ž€, ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ „์†ก๋˜๋Š” ์‹ ํ˜ธ์ด๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด์„œ 'ํ”„๋กœ์„ธ์Šค'์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ผ์ข…์˜ '๋ฉ”์„ธ์ง€'์™€ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ณดํ†ต ์ „์†กํ•  ์‹œ๊ทธ๋„์˜ ์ข…๋ฅ˜๋ฅผ ๋‹ด์•„์„œ ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

kill -<์‹œ๊ทธ๋„ ์ด๋ฆ„> <PID>

 

<์‹œ๊ทธ๋„ ์ด๋ฆ„>์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋””ํดํŠธ๋กœ TERM ์ด๋ผ๋Š” ์‹œ๊ทธ๋„์ด ์ „์†ก๋œ๋‹ค. ๋˜ํ•œ ์‹œ๊ทธ๋„ ์ข…๋ฅ˜์—๋Š” ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ์–ด ์ด๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฐฉ๊ธˆ ์„ค๋ช…ํ•œ TERM์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ๋Š” 15์ด๋ฉฐ ์•„๋ž˜ ๋ช…๋ น์–ด๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ๋ช…๋ น์–ด์ด๋‹ค.

 

kill -TERM 4950
kill 4950
kill -15 4950

 

์—ฌ๊ธฐ์„œ TERM์€ ์˜์–ด terminate(์ข…๋ฃŒํ•˜๋‹ค)๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ์ข…๋ฃŒ ์‹œ๊ทธ๋„์ด๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ์œ„์—์„œ ๋ฐฐ์šด kill ์ด๋ผ๋Š” ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์„ธ์Šค์™€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žก์„ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์ด๋Ÿฌํ•œ ์ด์œ  ๋•Œ๋ฌธ์ด๋‹ค. ์›์ฒœ์ ์œผ๋กœ๋Š” ํฌ๊ทธ๋ผ์šด๋“œ ์žก์„ ์ข…๋ฃŒํ•˜๋Š” Ctrl + c ๋‚˜ ์ผ์‹œ์ •์ง€ํ•˜๋Š” Ctrl + z๋„ ๋‚ด๋ถ€์ ์œผ๋กœ ์‹œ๊ทธ๋„์„ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ข…๋ฃŒํ•˜๋Š” ์‹œ๊ทธ๋„์€ INT, ์ผ์‹œ์ •์ง€ํ•˜๋Š” ์‹œ๊ทธ๋„์€ TSTP์ด๋‹ค. ์‹œ๊ทธ๋„์˜ ์ „์ฒด ๋ชฉ๋ก์€ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ ๋กœ ํ‘œ์‹œ๋˜๋Š” ์—ฌ๋Ÿฌ ์‹œ๊ทธ๋„ ๋ฌธ์ž์—ด ์ค‘์— ์•ž์— 'SIG'๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์— ๋ถ™๋Š” ์ ‘๋‘์–ด๊ฐ™์€ ๊ฒƒ์ด๋‹ค.

 

kill -l

kill -l ์„ ์ž…๋ ฅํ•˜๋ฉด ์‹œ๊ทธ๋„ ์ข…๋ฅ˜ ๋ชฉ๋ก์ด ๋‚˜์˜จ๋‹ค

 

์œ„ ๋ช…๋ น์–ด ์ค‘ 9)์— ํ•ด๋‹นํ•˜๋Š” SIGKILL์€ ์ข€ ์˜ˆ์™ธ์ ์ธ ์‹œ๊ทธ๋„์ด๋‹ค. ์ด ์‹œ๊ทธ๋„๋งŒํผ์€ ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์ด ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ์ฆ‰, ํ•ด๋‹น ์‹œ๊ทธ๋„์„ ๋ฐ›์œผ๋ฉด ๋ฆฌ๋ˆ…์Šค ์ปค๋„์ด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐ”๋กœ ์ข…๋ฃŒํ•ด๋ฒ„๋ฆฐ๋‹ค. ๋‹ค์‹œ ๋งํ•ด TERM ์‹œ๊ทธ๋„์„ ๋ฐ›์•„๋„ ์ข…๋ฃŒํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์— ๋น ์ง„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ๊ธด๊ธ‰ ์žฅ์น˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ํ•˜์ง€๋งŒ '๊ธด๊ธ‰ ์žฅ์น˜'์ธ ๋งŒํผ ํ•ด๋‹น ์‹œ๊ทธ๋„์€ ๋งˆ์ง€๋ง‰ ์ˆ˜๋‹จ์œผ๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌํ˜„์— ๋”ฐ๋ผ TERM ์‹œ๊ทธ๋„์„ ์ˆ˜์‹  ๋ฐ›์œผ๋ฉด ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜๊ฑฐ๋‚˜ ์ž„์‹œ ํŒŒ์ผ์„ ์ง€์šฐ๋Š” ๋“ฑ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์ „์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์„ ๊ผญ ํ•˜๊ณ  ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ์— ๋งŒ์•ฝ SIGKILL ์‹œ๊ทธ๋„์„ ์ „์†กํ•˜๊ฒŒ ๋˜๋ฉด ์ข…๋ฃŒ ์ „์— ์ˆ˜ํ–‰ํ•˜๊ธฐ๋กœ ๋˜์–ด ์žˆ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค(์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ €์žฅํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ๋‚˜ ํŒŒ์ผ์ด ๋‚ ๋ผ๊ฐˆ ์ˆ˜๋„!)

2. ํ‘œ์ค€ ์ž…์ถœ๋ ฅ๊ณผ ํŒŒ์ดํ”„๋ผ์ธ

์ด๋ฒˆ ๋ชฉ์ฐจ์—์„œ๋Š” ๋ฆฌ๋ˆ…์Šค์˜ ๋ช…๋ น์–ด๋ฅผ ์กฐํ•ฉํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— ๋ช…๋ น์–ด ๊ฐ„์— ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ด ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ๊ฐœ๋…์œผ๋กœ๋Š” ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” cat ์ด๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์ฑ„๋„์ด ์—ด๋ฆฐ๋‹ค. ์—ฌ๊ธฐ์„œ '์ฑ„๋„'์ด๋ผ ํ•จ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ๋ฅด๋Š” ๊ธธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์ฑ„๋„์€ ์•„๋ž˜์ฒ˜๋Ÿผ ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ์ด 3๊ฐ€์ง€๋ฅผ ํ•ฉ์ณ์„œ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

  • ํ‘œ์ค€ ์ž…๋ ฅ(stdin) : ํ”„๋กœ๊ทธ๋žจ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์ฑ„๋„. ex) ํ‚ค๋ณด๋“œ๋ฅผ ํ†ตํ•œ ์ž…๋ ฅ ๋“ฑ
  • ํ‘œ์ค€ ์ถœ๋ ฅ(stdout) : ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์ฑ„๋„. ex) ๋‹จ๋ง ๋””์Šคํ”Œ๋ ˆ์ด(๋ชจ๋‹ˆํ„ฐ ๊ฐ™์€)์— ์ถœ๋ ฅ ๋“ฑ
  • ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ(stderr) : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์ฑ„๋„. ๋ณดํ†ต ํ‘œ์ค€ ์ถœ๋ ฅ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋‹จ๋ง ๋””์Šคํ”Œ๋ ˆ์ด์— ์ถœ๋ ฅ๋จ

ํ•˜์ง€๋งŒ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋Š” ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์ด ์‹ค์ œ (์ž…๋ ฅ์ด๋ผ๋ฉด) ์–ด๋–ค ํŒŒ์ผ ๋˜๋Š” (์ถœ๋ ฅ์ด๋ผ๋ฉด) ์–ด๋–ค ๋””์Šคํ”Œ๋ ˆ์ด, ์žฅ์น˜์— ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๋‹จ์ˆœํžˆ '๋ช…๋ น์–ด ์ž…์žฅ'์—์„œ๋Š” ๋“ค์–ด์˜จ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ์–ด๋”˜๊ฐ€์— ์ถœ๋ ฅ๋งŒํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์–ด๋–ค ์ž…๋ ฅ(ํŒŒ์ผ ๋˜๋Š” ํ‚ค๋ณด๋“œ)์„ ๋ฐ›์•„๋“ค์ผ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ถœ๋ ฅ์„ ์–ด๋–ค ๊ณณ(ํŒŒ์ผ, ๋””์Šคํ”Œ๋ ˆ์ด ์žฅ์น˜, ํ”„๋ฆฐํ„ฐ ๋“ฑ)์œผ๋กœ ๋‚ด๋ฑ‰์„์ง€๋Š” '์‚ฌ์šฉ์ž'๊ฐ€ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์…ธ์—์„œ ๋ช…๋ น์–ด์— ์—ฐ๊ฒฐ๋˜๋Š” ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์•„๋ž˜์—์„œ ์‚ดํŽด๋ณผ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์„ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์˜ ์ฑ„๋„

 

๊ทธ๋Ÿฌ๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰์…˜์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๋ฆฌ๋‹ค์ด๋ ‰์…˜์ด๋ž€, ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์„ ์–ด๋””๋กœ ์—ฐ๊ฒฐํ• ์ง€ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์œ„ ๊ทธ๋ฆผ ์ƒ์—์„œ๋Š” 2๊ฐœ์˜ ์ค‘๊ด„ํ˜ธ(${$)๋ฅผ ์–ด๋–ค ๊ณณ์œผ๋กœ ์—ฐ๊ฒฐ์‹œํ‚ฌ์ง€ ๋ณ€๊ฒฝํ•˜๋Š” ์…ˆ์ด๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” ๋‹ค์ด๋ ‰์…˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ธฐํ˜ธ์ด๋‹ค.

 

๊ธฐํ˜ธ ์˜๋ฏธ
< ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐํ˜ธ ex) cat < /etc/crontab 
(์ฐธ๊ณ ๋กœ, cat /etc/crontab ํ•ด๋„ ํ‘œ์ค€ ์ž…๋ ฅ ๋‚ด์šฉ์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ, ์ด๋Š” ์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด cat ๋ช…๋ น์–ด๊ฐ€ ํŠน๋ณ„ํžˆ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ ๊ฒƒ์ž„. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์„ ์‚ฌ์šฉํ•œ ํ‘œํ˜„์ด ๊ธฐ๋ณธ ๋™์ž‘์— ์ถฉ์‹คํ•œ ๋ฐฉ๋ฒ•์ž„. ์ฆ‰, < ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์ค€ ์ž…๋ ฅ์„ ์ฝ์–ด ๋“ค์ด๋Š” ๋ฐฉ์‹์„ ์ง€์›ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ)
> ํ‘œ์ค€ ์ถœ๋ ฅ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๊ธฐํ˜ธ
๋ณดํ†ต ๋ช…๋ น์–ด์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•จ
ex) ls -al ~/Destkop > ~/Destkop/list.txt 
์ฐธ๊ณ ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜๋œ ํŒŒ์ผ์„ ์‚ฌ์ „์— ์ƒ์„ฑํ•ด ๋†“์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋จ
2> ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๊ธฐํ˜ธ
(์•„๋ž˜ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋ฐ˜๋“œ์‹œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ช…๋ น์–ด์•ผ ํ•จ)
ex) ls -al ~/work12345 2> err.txt

 

์—ฌ๊ธฐ์„œ ํ•œ ๊ฐ€์ง€ ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐฐ์šธ ์ ์ด ์žˆ๋‹ค. ํ‘œ์ค€ ์ถœ๋ ฅ๊ณผ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์€ ์ฝ˜์†”์— ์ถœ๋ ฅ๋˜๋Š” ์žฅ์น˜๊ฐ€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฝ˜์†”์— ๋‚˜์˜จ ์–ด๋–ค ๋ฉ”์„ธ์ง€๊ฐ€ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์˜ํ•œ ์ถœ๋ ฅ์ธ์ง€, ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์— ์˜ํ•œ ์ถœ๋ ฅ์ธ์ง€ ํŒ๋‹จํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ ์ฐจ์ด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— work ๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋ฐ, ์•„๋ž˜์ฒ˜๋Ÿผ ํ‘œ์ค€ ์ถœ๋ ฅ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์„ ์‹œ์ผœ๋ณด์ž.

 

ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์ด ๋ฐœ์ƒ

 

์ฝ˜์†” ํ™”๋ฉด์— ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ ๋ฉ”์„ธ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฌ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰์…˜ํ•œ list.txt ํŒŒ์ผ์€ ์กด์žฌํ• ๊นŒ? ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋‹ค์‹œ ํ•ด๋ณด์ž.

 

ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ ๋ฆฌ๋‹ค์ด๋ ‰์…˜

 

์ด๋ฒˆ์—” ์—๋Ÿฌ ์ถœ๋ ฅ ๋ฉ”์„ธ์ง€๊ฐ€ list.txt ํŒŒ์ผ์— ๋‹ด๊ฒจ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ‘œ์ค€ ์ถœ๋ ฅ๊ณผ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

ls -al /work > stdout.txt 2> stderr.txt

 

์ด๋ฒˆ์—” ํ‘œ์ค€ ์ถœ๋ ฅ๊ณผ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•˜๋Š”๊ฑด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? 

 

ls -al /work > result.txt 2>&1

 

์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ๊ธฐํ˜ธ๋Š” '2>&1' ๊ธฐํ˜ธ์ด๋‹ค. ์—ฌ๊ธฐ์„œ '2>'๋Š” ํ‘œ์ค€์—๋Ÿฌ์ถœ๋ ฅ์„ ์˜๋ฏธํ•˜๊ณ  '&1'์€ ํ‘œ์ค€์ถœ๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ํ‘œ์ค€์—๋Ÿฌ์ถœ๋ ฅ์„ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๊ธฐํ˜ธ์—์„œ 0์€ ํ‘œ์ค€ ์ž…๋ ฅ์„, 1์€ ํ‘œ์ค€ ์ถœ๋ ฅ์„, 2๋Š” ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค๋Š” ๊ฒƒ๋„ ์ฐธ๊ณ ํ•˜์ž.

 

๊ธฐ๋ณธ์ ์œผ๋กœ > ๊ธฐํ˜ธ ํ•˜๋‚˜๋งŒ ์“ฐ๋Š” ๊ฒƒ์€ ํŒŒ์ผ์„ ๋ฎ์–ด์“ฐ๊ธฐํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฎ์–ด์“ฐ๊ธฐ ํ•œ ํŒŒ์ผ์— ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ์•„๋‹Œ ๊ธฐ์กด ํŒŒ์ผ์˜ ๋์œผ๋กœ๋ถ€ํ„ฐ ๊ฐœํ–‰ํ•ด์„œ ์ด์–ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ”๋กœ ๊ธฐํ˜ธ ๋‘๊ฐœ >>๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์…ธ์˜ ์˜ต์…˜ ์ค‘ noclobber ๋ผ๋Š” ๊ฐ’์„ set ๋ช…๋ น์–ด๋กœ ํ™œ์„ฑํ™”์‹œ์ผœ์ฃผ๋ฉด > ๊ธฐํ˜ธ ํ•œ๊ฐœ๋งŒ ์“ฐ๋”๋ผ๋„ ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. set ๋ช…๋ น์–ด์˜ ์˜๋ฏธ๋Š” ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์–ธ๊ธ‰ํ–ˆ์œผ๋ฏ€๋กœ ์„ค๋ช…์€ ์ƒ๋žตํ•˜๊ฒ ๋‹ค. ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๊ธฐํ˜ธ ๋งˆ๋‹ค ์˜๋ฏธ๋ฅผ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

๋ช…๋ น์–ด ์˜๋ฏธ
< file ํ‘œ์ค€ ์ž…๋ ฅ์„ file๋กœ ๋ณ€๊ฒฝ
> file ํ‘œ์ค€ ์ถœ๋ ฅ์„ file๋กœ ๋ณ€๊ฒฝ
>> file ํ‘œ์ค€ ์ถœ๋ ฅ์„ file ๋์—๋‹ค๊ฐ€ ์ถ”๊ฐ€
2> file ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ file๋กœ ๋ณ€๊ฒฝ
2>> file ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ file ๋์—๋‹ค๊ฐ€ ์ถ”๊ฐ€
> file 2>&1 ํ‘œ์ค€ ์ถœ๋ ฅ๊ณผ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ file๋กœ ๋ณ€๊ฒฝ(ํ‘œ์ค€์—๋Ÿฌ ์ถœ๋ ฅ์„ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ํ˜๋Ÿฌ๊ฐ€๋„๋ก)
> file 1>&2 ํ‘œ์ค€ ์ถœ๋ ฅ์„ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์œผ๋กœ ํ˜๋Ÿฌ๊ฐ€๋„๋ก

 

๋‹ค์Œ์€ ๋ฆฌ๋ˆ…์Šค ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” /dev/null ์ด๋ผ๋Š” ํŒŒ์ผ์— ๋Œ€ํ•ด ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. /dev/null ์ด๋ผ๋Š” ํŒŒ์ผ์€ ํŠน์ˆ˜ํŒŒ์ผ๋กœ ๋‹ค์Œ 2๊ฐ€์ง€ ํŠน์„ฑ์„ ์ง€๋‹Œ๋‹ค.

  • ์ž…๋ ฅ ํŒŒ์ผ๋กœ ์ง€์ •ํ•ด๋„ ์•„๋ฌด ๋‚ด์šฉ๋„ ์ž…๋ ฅ์ด ์•ˆ๋จ
  • ์ถœ๋ ฅ ํŒŒ์ผ๋กœ ์ง€์ •ํ•ด๋„ ์–ด๋–ค ๋‚ด์šฉ๋„ ๊ธฐ๋ก๋˜์ง€ ์•Š์Œ

์ฆ‰, ํ‘œ์ค€ ์ถœ๋ ฅ๊ณผ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ ๋ชจ๋‘ /dev/null ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•˜๋ฉด ์–ด๋–ค ๋‚ด์šฉ๋„ ์ฝ˜์†”์— ์ถœ๋ ฅ๋˜๊ฑฐ๋‚˜ ๊ธฐ๋ก๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์ถœ๋ ฅ๋˜๋Š” ์–‘์ด ๋„ˆ๋ฌด ๋งŽ๊ฑฐ๋‚˜ ๋˜๋Š” ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ๋งŒ์„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ ํ‘œ์ค€ ์ถœ๋ ฅ๋งŒ /dev/null๋กœ ๋ฆฌ์•„๋””๋ ‰์…˜ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋Š” ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ(/)์— ์žˆ๋Š” ํŒŒ์ผ์˜ ๋ชฉ๋ก์ด ์ญ‰ ๋‚˜์˜ค๋Š” ํ‘œ์ค€ ์ถœ๋ ฅ์ด  ๋‚˜์™€์•ผ ํ•˜์ง€๋งŒ /dev/null๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•จ์œผ๋กœ์จ ํ‘œ์ค€ ์ถœ๋ ฅ์€ ๋‚˜์˜ค์ง€ ์•Š๊ณ  ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ๋งŒ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ํ‘œ์ค€ ์ถœ๋ ฅ, ํ‘œ์ค€ ์—๋Ÿฌ์ถœ๋ ฅ ๋ชจ๋‘ ์•ˆ๋‚˜์˜ค๊ฒŒ ํ•˜๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‘์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

 

์ด์ œ๊นŒ์ง€ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ๋ช…๋ น์–ด๋ฅผ ์กฐํ•ฉํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

ํŒŒ์ดํ”„๋ผ์ธ์€ ๋ช…๋ น์–ด์˜ ํ‘œ์ค€ ์ถœ๋ ฅ์„ ๋‹ค๋ฅธ ๋ช…๋ น์–ด์˜ ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š”๋‹ค. ๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

 

ls -al ~/Desktop > list.txt
cat < list.txt

 

๊ทธ๋Ÿฐ๋ฐ list.txt ํŒŒ์ผ์„ ๊ตณ์ด ๋‚จ๊ธฐ๊ณ  ์‹ถ์ง€ ์•Š๊ณ  ๋‚ด์šฉ๋งŒ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ(|)์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.(๋ฌผ๋ก  ๋‹จ์ˆœํžˆ ls -al ~/Desktop ๋ช…๋ น์–ด๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ํŒŒ์ดํ”„๋ผ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ ์œ„ํ•จ์ด๋‹ˆ ์ฐธ๊ณ ..)

 

ls -al / | cat

 

๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ์ดํ”„๋ผ์ธ์€ ํ‘œ์ค€ ์ถœ๋ ฅ๋งŒ์„ ๋‹ค์Œ ๋ช…๋ น์–ด์˜ ์ž…๋ ฅ์— ์—ฐ๊ฒฐํ•œ๋‹ค. ๋งŒ์•ฝ ํ‘œ์ค€ ์—๋Ÿฌ ์ถœ๋ ฅ์„ ์—ฐ๊ฒฐ์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด 2>&1 ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ฒฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค

 

ls -al /work 2>&1 | cat

 

๋‹ค์Œ์€ ํ•„ํ„ฐ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค. ํ•„ํ„ฐ ๋ช…๋ น์–ด๋ž€, cat ๋ช…๋ น์–ด์ฒ˜๋Ÿผ ํ‘œ์ค€ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์—ฌ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํ•„ํ„ฐ ๋ช…๋ น์–ด์™€ ์„ค๋ช…์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

๋ช…๋ น์–ด ์˜๋ฏธ
cat ์ž…๋ ฅ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ
head ํŒŒ์ผ ์•ž๋ถ€๋ถ„์„ ์ถœ๋ ฅ
tail ํŒŒ์ผ ๋’ท๋ถ€๋ถ„์„ ์ถœ๋ ฅ
grep ๊ฒ€์ƒ‰ ํŒจํ„ด์— ์ผ์น˜ํ•˜๋Š” ํ–‰์„ ์ถœ๋ ฅ
sort ์ •๋ ฌ(๋””ํดํŠธ ์˜ต์…˜์€ ์•ŒํŒŒ๋ฒณ ์ˆœ)
(-r ์˜ต์…˜์„ ์ฃผ๋ฉด ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ)
(-n ์˜ต์…˜์„ ์ฃผ๋ฉด ์ˆซ์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ ฌ)
uniq ์ค‘๋ณต๋œ ํ–‰์„ ์ œ๊ฑฐํ•˜์—ฌ ์ถœ๋ ฅ
tac ์—ญ์ˆœ์œผ๋กœ ์ถœ๋ ฅ
wc ํ–‰ ์ˆ˜๋‚˜ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ์ถœ๋ ฅ
du ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅ
(-b ์˜ต์…˜์€ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ถœ๋ ฅ)

 

์œ„ ๋ช…๋ น์–ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์˜ˆ์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ์„ ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉํ•ด๋ณธ ์˜ˆ์‹œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

3. ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ

๋‹ค์Œ์œผ๋กœ ๋ฐฐ์›Œ๋ณผ ๋ถ€๋ถ„์€ ๋ฆฌ๋ˆ…์Šค ์ƒ์—์„œ ํ…์ŠคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. ๋ฆฌ๋ˆ…์Šค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๋‚˜ ์‹œ์Šคํ…œ์˜ ์„ค์ • ํ•ญ๋ชฉ์ด ๋Œ€๋ถ€๋ถ„ ํ…์ŠคํŠธ๋กœ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ˆ…์Šค ์ƒ์—์„œ ํ…์ŠคํŠธ๋ฅผ ์ด๋ฆฌ ์ €๋ฆฌ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‘๋ฉด ์ข‹๋‹ค. ์ง์ „ ๋ชฉ์ฐจ์˜ ๋งˆ์ง€๋ง‰ ๋‚ด์šฉ์ธ ํ•„ํ„ฐ ๋ช…๋ น์–ด๋ฅผ ์ฃผ๋กœ ์กฐํ•ฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋จผ์ € wc ๋ผ๋Š” ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค. wc ๋ช…๋ น์–ด๋Š” ์ž…๋ ฅ ํŒŒ์ผ์˜ ํ–‰ ์ˆ˜, ๋‹จ์–ด ์ˆ˜, ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค. ์˜ต์…˜์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด (์™ผ์ชฝ๋ถ€ํ„ฐ) ํ–‰ ์ˆ˜, ๋‹จ์–ด ์ˆ˜, ๋ฐ”์ดํŠธ ์ˆ˜, ํŒŒ์ผ ์ด๋ฆ„์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

wc ๋ช…๋ น์–ด ๊ฒฐ๊ณผํ™”๋ฉด ์˜ˆ์‹œ

 

wc์— ๋Œ€ํ•œ ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

๋ช…๋ น์–ด ์˜๋ฏธ
wc -l [ํŒŒ์ผ์ด๋ฆ„] ํ–‰ ์ˆ˜ ํ‘œ์‹œ(ํ•œ ํ–‰ ๋‹น ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋Š” ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ ์ด ๊ฑด์ˆ˜๋ฅผ ์…€ ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋จ)
wc -w [ํŒŒ์ผ์ด๋ฆ„] ๋‹จ์–ด ์ˆ˜ ํ‘œ์‹œ
wc -c [ํŒŒ์ผ์ด๋ฆ„] ๋ฐ”์ดํŠธ ์ˆ˜ ํ‘œ์‹œ

 

์ฐธ๊ณ ๋กœ wc์™€ ๊ฐ™์ด ํ•„ํ„ฐ ๋ช…๋ น์–ด๋ฅผ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ด์šฉํ•ด์„œ ํ‘œ์ค€ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•  ๋•Œ, ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ•˜์ดํ”ˆ(-)์„ ์ง€์ •ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์•„๋ž˜ ๋‘ ๋ช…๋ น์–ด๋Š” ๋™์ผํ•˜๋‹ค.(์ถ”๊ฐ€์ ์œผ๋กœ, Mac์˜ bash, zsh ์…ธ์—์„œ๋Š” ํ•˜์ดํ”ˆ(-) ์ง€์ •์„ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ธ์ง€ํ•ด์„œ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์šฐ๋ถ„ํˆฌ์—์„  ๊ฐ€๋Šฅ)

 

ls -al | wc -l
ls -al | wc -l -

 

๋‹ค์Œ์€ sort ๋ช…๋ น์–ด์ด๋‹ค. sort ๋ช…๋ น์–ด๋Š” ํ–‰ ๋‹จ์œ„๋กœ ์ •๋ ฌํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์•„๋ฌด ์˜ต์…˜์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์•ŒํŒŒ๋ฒณ ์ˆœ(ASCII ๋ฌธ์ž์—ด์— ๋“ฑ๋ก๋œ ๋ฒˆํ˜ธ)๋Œ€๋กœ ์ •๋ ฌ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  sort ๋ช…๋ น์–ด๋Š” ํ–‰์˜ ํŠน์ • ํ•ญ๋ชฉ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด์™ธ ๊ธฐํƒ€ ์˜ต์…˜๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

๋ช…๋ น์–ด ์˜๋ฏธ
sort -k [N] [ํŒŒ์ผ ์ด๋ฆ„] N๋ฒˆ์งธ ํ•„๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ
sort -n [ํŒŒ์ผ ์ด๋ฆ„] ํŒŒ์ผ ๋‚ด์šฉ์„ '์ˆซ์ž'๋กœ ์ธ์‹ํ•ด์„œ ์ •๋ ฌ
sort -r [ํŒŒ์ผ ์ด๋ฆ„] ํŒŒ์ผ ๋‚ด์šฉ์„ ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ
sort -u [ํŒŒ์ผ ์ด๋ฆ„] ํŒŒ์ผ ๋‚ด์šฉ์˜ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํ‘œ์‹œํ•ด์„œ ์ •๋ ฌ

 

์œ„ ๋ช…๋ น์–ด๋ฅผ ํŒŒ์ดํ”„๋ผ์ธ์„ ํ™œ์šฉํ•ด์„œ ํ•˜๊ฑฐ๋‚˜ ์œ„ ์˜ต์…˜๋“ค์„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์กฐํ•ฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋‹ค์Œ์€ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” uniq ๋ช…๋ น์–ด์ด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ uniq๋Š” "์—ฐ์†๋œ ์ค‘๋ณต ๋ฐ์ดํ„ฐ"๋งŒ์„ ํ•˜๋‚˜๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค. ๊ทธ๋ž˜์„œ ๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ถˆ์—ฐ์†์ ์œผ๋กœ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋Š” ์ œ๊ฑฐํ•˜์ง€ ๋ชปํ•œ๋‹ค.

 

uniq๋Š” ์—ฐ์†์ ์ธ ์ค‘๋ณต ๋ฐ์ดํ„ฐ๋งŒ ์ œ๊ฑฐ

 

๋ถˆ์—ฐ์†์ ์œผ๋กœ ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋„ ์—†์• ๊ธฐ ์œ„ํ•ด์„œ๋Š” sort ๋ช…๋ น์–ด๋ฅผ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋‹จ sort ๋ช…๋ น์–ด๋กœ ์ •๋ ฌํ•œ ํ›„ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ด์šฉํ•ด์„œ uniq๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋ฉด ๋œ๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.(๋ฌผ๋ก  ์• ์ดˆ์— sort ๋ช…๋ น์–ด์— -u ์˜ต์…˜์„ ์ฃผ์–ด ๋ฐ”๋กœ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ด ์ถœ๋ ฅํ•  ์ˆ˜ ๋„ ์žˆ์Œ)

 

๋ถˆ์—ฐ์†์ ์ธ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋„ ์ œ๊ฑฐ๊ฐ€ ๋จ

 

๋‹ค์Œ์€ cut ๋ช…๋ น์–ด์ด๋‹ค. cut ๋ช…๋ น์–ด๋Š” ์ž…๋ ฅ์˜ ์ผ๋ถ€๋ฅผ ์ถ”์ถœํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ๋จผ์ € cut ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

cut -d [๊ตฌ๋ถ„์ž] -f [ํ•„๋“œ ๋ฒˆํ˜ธ] [ํŒŒ์ผ ์ด๋ฆ„]

 

์•„๋งˆ ์—ฌ๊ธฐ์„œ d๋Š” delimeter, f๋Š” field๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋“ฏ ํ•˜๋‹ค. ์ฆ‰, ๊ตฌ๋ถ„์ž๋กœ ์ง€์ •ํ•œ ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•œ ๋’ค ๊ทธ ์ค‘์—์„œ๋„ ํ•„๋“œ ๋ฒˆํ˜ธ๋กœ ์ง€์ •ํ•œ ํ•„๋“œ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค. ๋จผ์ € ์šฐ๋ถ„ํˆฌ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํƒ€์ดํƒ€๋‹‰ csv ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•ด๋ณด๊ณ  ๋ฐ์ดํ„ฐ 5๊ฐœ๋งŒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ•ด๋ณด์ž.

 

wget https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv

 

ํƒ€์ดํƒ€๋‹‰ ๋ฐ์ดํ„ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

 

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ cut ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ "PClass"์˜ ์œ ๋‹ˆํฌํ•œ ๊ฐ’๋“ค๋งŒ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž. ์กฐํ•ฉํ•œ ํŒŒ์ดํ”„๋ผ์ธ ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

Pclass๋ผ๋Š” ํ•„๋“œ ๊ฐ’์˜ ์ข…๋ฅ˜๋Š” 1,2,3์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฌธ๋“ ๋“  ์ƒ๊ฐ์ธ๋ฐ.. cut์„ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ EDA ๋ถ€๋ถ„์€ ๋ฆฌ๋ˆ…์Šค ํ•„ํ„ฐ ๋ช…๋ น์–ด๋กœ๋„ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™์€ ์ƒ๊ฐ์ด๋‹ค. ์•ž์œผ๋กœ ๊ฐ„๋‹จํ•œ ๋ถ„์„์€ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋ฅผ ์‹œ๋„ํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค!

 

๋‹ค์Œ์€ ๋ฌธ์ž๋ฅผ ์น˜ํ™˜ํ•˜๋Š” tr ๋ช…๋ น์–ด์ด๋‹ค. tr ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ํ•˜๋‚˜์˜ ๋ฌธ์ž๋งŒ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ์™€ 2๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

 

๋ช…๋ น์–ด ์˜๋ฏธ
tr [์น˜ํ™˜ ์ „ ๋ฌธ์ž] [์น˜ํ™˜ ํ›„ ๋ฌธ์ž] ex) tr a b  : ๋ชจ๋“  ๋ฌธ์ž a๋ฅผ ๋ฌธ์ž b๋กœ ๋ฐ”๊พธ๊ธฐ
ex) tr abc ABC a๋Š” A๋กœ b๋Š” B๋กœ c๋Š” C๋กœ ๋ฐ”๊พธ๊ธฐ(๋˜‘๊ฐ™์€ ์œ„์น˜์— ๋งคํ•‘๋˜์„œ ๋ณ€ํ™˜)
ex) tr a-z A-Z ํ•˜์ดํ”ˆ(-)์œผ๋กœ ์น˜ํ™˜ํ•  ๋ฌธ์ž ๋ฒ”์œ„๋„ ์ง€์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์˜ˆ๋กœ, a-c ๋Š” abc๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœํ•ด์„œ ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅ
td -d  [์‚ญ์ œ ํ•  ๋ฌธ์ž] tr ๋ช…๋ น์–ด๋กœ ํŠน์ • ๋ฌธ์ž ์‚ญ์ œ๋„ ๊ฐ€๋Šฅ

 

ํŠน์ดํ•˜๊ฒŒ, tr ๋ช…๋ น์–ด๋Š” ํ‘œ์ค€ ์ž…๋ ฅ๋งŒ ๋ฐ›์•„๋“ค์ด๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, tr ๋ช…๋ น์–ด ํ•˜๋‚˜๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ํŠน์ • ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์—†๊ณ  ๋ฌด์กฐ๊ฑด ํŒŒ์ดํ”„๋ผ์ธ์„ ํ™œ์šฉํ•ด์„œ ํ‘œ์ค€ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  tr์€ ๋ฌธ์ž ๋‹จ์œ„๋กœ๋งŒ ์น˜ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋ฌธ์ž์—ด ๋‹จ์œ„๋กœ ์น˜ํ™˜ํ•˜๋ ค๋ฉด ์ถ”ํ›„์— ๋ฐฐ์šธ sed, awk ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

๋‹ค์Œ์€ tail ๋ช…๋ น์–ด์ด๋‹ค. tail ๋ช…๋ น์–ด๋Š” ํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ ํ–‰ ๋ถ€๋ถ„์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด์ธ๋ฐ, ์—ฌ๊ธฐ์„œ๋Š” ๊ทธ๋ณด๋‹ค ํŒŒ์ผ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•ด์„œ ํŒŒ์ผ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

 

tail -f [ํŒŒ์ผ ์ด๋ฆ„]

 

ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋กœ๊ทธ๊ฐ€ ๊ณ„์† ๋‚จ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ํ•ด๋‹น ๋กœ๊ทธ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜๋Š” ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ 2๊ฐœ ๋„์›Œ๋†“๊ณ  ์™ผ์ชฝ์€ ๋กœ๊ทธ ํŒŒ์ผ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์˜ค๋ฅธ์ชฝ์€ echo ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋”๋ฏธ ๋กœ๊ทธ๋ฅผ ๊ณ„์† ๋งŒ๋“ค์–ด๋‚ด๋Š” ํ™”๋ฉด์ด๋‹ค. ๋ณด๋ฉด ์˜ค๋ฅธ์ชฝ์—์„œ ์ž…๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ์™ผ์ชฝ์—์„œ ๊ณ„์† ๋กœ๊ทธ ๋‚ด์šฉ์ด ๊ฐฑ์‹ ๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

tail ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•ด๋ณด๋Š” ์˜ˆ์‹œ

 

๋‹ค์Œ์€ diff ๋ช…๋ น์–ด์ด๋‹ค. diff ๋ช…๋ น์–ด๋Š” ๋‘ ํŒŒ์ผ์˜ ์ฐจ์ด์ ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ์ „ ํฌ์ŠคํŒ…์—์„œ git ๊ด€๋ จ ๋ช…๋ น์–ด๋ฅผ ๋ฐฐ์šฐ๋‹ค๊ฐ€ git ๋ช…๋ น์–ด์—์„œ๋„ ๋‘ ์†Œ์Šค์ฝ”๋“œ์˜ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ ์žˆ์—ˆ๋‹ค. ์•„๋งˆ ๊ทธ๊ฒƒ์˜ ๊ธฐ์›์ด ์ด ๋ฆฌ๋ˆ…์Šค์˜ diff ๋ช…๋ น์–ด์ธ ๋“ฏ ํ•˜๋‹ค. diff ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

diff [์˜ต์…˜] [๋น„๊ต ํŒŒ์ผ1] [๋น„๊ต ํŒŒ์ผ2]

 

๊ทธ๋ฆฌ๊ณ  diff ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๋งจ ์œ— ์ค„์— ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ผ์ข…์˜ ํ‘œ๊ธฐ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค.

 

 

์œ„ ์‚ฌ์ง„ ์† '4c4' ๋˜๋Š” '21d20', '26a26,28' ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ํ‘œ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ๊ฐ์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

<๋ณ€๊ฒฝ ๋ฒ”์œ„ 1><๋ณ€๊ฒฝ ์ข…๋ฅ˜><๋ณ€๊ฒฝ ๋ฒ”์œ„ 2>
ํ‘œ๊ธฐ๋ฒ• ์˜๋ฏธ
ex) 26a26,28 ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ์˜ 26๋ฒˆ์งธ์ค„ ๋’ค์— ๋‘ ๋ฒˆ์งธ ํŒŒ์ผ์˜ 26~28๋ฒˆ์งธ ์ค„์ด ์ถ”๊ฐ€(a = add)
ex) 4c4 ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ์˜ 4๋ฒˆ์งธ ์ค„ ๋ถ€๋ถ„์ด ๋‘ ๋ฒˆ์งธ ํŒŒ์ผ์˜ 4๋ฒˆ์งธ ์ค„ ๋ถ€๋ถ„์œผ๋กœ ๋ณ€๊ฒฝ(c = change)
ex) 21d20 ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ์˜ 21๋ฒˆ์งธ ์ค„ ๋ถ€๋ถ„์ด ์‚ญ์ œ(d = delete)

 

๊ทธ๋ฆฌ๊ณ  ์œ„ ๊ทธ๋ฆผ์—์„œ ํ‘œ์‹œ๋˜๋Š” < ๋ผ๋Š” ๋ถ€๋ถ„์€ ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ์—๋งŒ ์žˆ๋Š” ํ–‰์„, > ๋ผ๋Š” ๋ถ€๋ถ„์€ ๋‘ ๋ฒˆ์จฐ ํŒŒ์ผ์—๋งŒ ์žˆ๋Š” ํ–‰์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰ < ๋ถ€๋ถ„์€ ์ง€์›Œ์ง„ ํ–‰์„ ์˜๋ฏธํ•˜๊ณ , > ๋Š” ์ถ”๊ฐ€๋œ ํ–‰์„ ์˜๋ฏธํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ํ‘œ๊ธฐ ๋ฐฉ์‹์€ ์ฐจ์ด์ ๋งŒ ํ‘œ์‹œ๋˜๋ฉฐ ๊ณตํ†ต์ ์€ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋˜ํ•œ ํŒŒ์ผ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ–ˆ์œผ๋ฉด(์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ) ์ฐจ์ด์ ์ด ๋ฒ”์œ„ ๋‹จ์œ„๋กœ ํ‘œ์‹œ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฐ ๋ณ€๊ฒฝ ๋ฒ”์œ„๋ฅผ 'ํ—ํฌ(hunk)'๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์œ„ ์‚ฌ์ง„ ์ƒ์—์„œ๋Š” 4๊ฐœ์˜ ํ—ํฌ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

์œ„์™€ ๊ฐ™์€ ํฌ๋งท๊ณผ ๋‹ฌ๋ฆฌ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํŒŒ์ผ ๊ฐ„์˜ ์ฐจ์ด์ ์„ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ํ†ต์ผ ํฌ๋งท(Unified format)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. diff ๋ช…๋ น์–ด ์‚ฌ์šฉ ์‹œ -u ์˜ต์…˜์„ ์ฃผ์–ด ํ†ต์ผ ํฌ๋งท์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ†ต์ผ ํฌ๋งท์€ ์•„๋ž˜์˜ ํ˜•ํƒœ๋กœ ์ฐจ์ด๋ฅผ ํ‘œ์‹œํ•ด์ค€๋‹ค.

 

ํ†ต์ผ ํฌ๋งท ํ˜•ํƒœ์™€ ํ‘œ๊ธฐ ์˜๋ฏธ

 

์–ด๋””์—์„ ๊ฐ€ ๋ณธ ์ต์ˆ™ํ•œ ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ๊ฐ€? ๋ฐ”๋กœ Git์„ ์‚ฌ์šฉํ•ด์„œ ์†Œ์†Œ์ฝ”๋“œ ์ฐจ์ด๋ฅผ ํ‘œ์‹œํ•ด์ค„ ๋•Œ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ๊ณผ ๋˜‘๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ Git์€ ์†Œ์Šค์ฝ”๋“œ์˜ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค„ ๋•Œ ํ†ต์ผ ํฌ๋งท ํ˜•ํƒœ๋ฅผ ์ ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ @@๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” "์‚ญ์ œ๋œ(-) / ์ถ”๊ฐ€๋œ(-) ๋‚ด์šฉ ๋ฒ”์œ„"๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๊ฒŒ ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณด๊ณ  ๋„˜์–ด๊ฐ€์ž. ๋จผ์ € @@๋กœ ์ด๋ฃจ์–ด์ง„ ํ˜•ํƒœ๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

@@ -<์ฒซ๋ฒˆ์งธ ํŒŒ์ผ ๋ณ€๊ฒฝ์ด ์‹œ์ž‘๋œ ํ–‰>,<๋ณ€๊ฒฝ๋œ ํ–‰ ์ˆ˜> +<๋‘๋ฒˆ์งธ ํŒŒ์ผ ๋ณ€๊ฒฝ์ด ์‹œ์ž‘๋œ ํ–‰>,<๋ณ€๊ฒฝ๋œ ํ–‰ ์ˆ˜> @@

 

์—ฌ๊ธฐ์„œ '๋ณ€๊ฒฝ์ด ์‹œ์ž‘๋œ ํ–‰'์€ ํŒŒ์ผ์˜ ํ–‰ ๋ฒˆํ˜ธ๋ฅผ ์˜๋ฏธํ•˜๊ณ , '๋ณ€๊ฒฝ๋œ ํ–‰ ์ˆ˜'๋Š” ๊ฐ ํ—ํฌ์˜ ํ–‰ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ํ†ต์ผ ํฌ๋งท ํ˜•ํƒœ์˜ ํŠน์ง•์ด ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ, ํ†ต์ผ ํฌ๋งท์€ ๋ณ€๊ฒฝ์ด ์‹ค์งˆ์ ์œผ๋กœ ๋ฐœ์ƒํ•œ ํ–‰์˜ ์ฃผ๋ณ€๊นŒ์ง€ ๋‹ค ํฌํ•จํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค. ๊ทธ๋ž˜์„œ '๋ณ€๊ฒฝ๋œ ํ–‰ ์ˆ˜'์—๋Š” ๋ณ€๊ฒฝ๋œ ํ–‰ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ ์ฃผ๋ณ€์˜ ์ „ํ›„๋„ ํฌํ•จํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ํ‘œ๊ธฐ๋ฒ•์ด ๋‚˜ํƒ€๋‚˜๋ฉด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

์ด๋ ‡๊ฒŒ diff ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒํ•œํ…Œ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.(๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•ด์„œ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ) ์ด๋Š” ๋ณดํ†ต ํฌ๊ธฐ๊ฐ€ ํฐ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ, ๊ตณ์ด ํŒŒ์ผ ์ „์ฒด๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ๋งŒ ๋‹ด์€ ํŒŒ์ผ์„ ํŒจ์น˜(Patch)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.(์•„๋งˆ ์ฐพ์•„๋ณด๋‹ˆ ํ™•์žฅ์ž๋ช…์ด .patch๋กœ ๋˜์–ด ์žˆ๋Š” ๋“ฏ ํ•˜๋‹ค) diff ๋ช…๋ น์–ด๋กœ ์–ป์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ patch ๋ช…๋ น์–ด๋กœ ๋ฐ”๋€ ๋ถ€๋ถ„์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•