Search

Shell

Date
2024/12/02
Category
Devops
Tag
Linux
๋ชฉ์ฐจ

Shell

โ€ข
๋ช…๋ น์–ด ์ž…๋ ฅ, ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ, ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด ํ•ด์„๊ธฐ
โ€ข
์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ Kernel๋กœ ์ „๋‹ฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

๋ฆฌ๋ˆ…์Šค ์ž…์ถœ๋ ฅ

๋ฒˆํ˜ธ
์†์„ฑ๋ช…
์„ค๋ช…
๋””๋ฐ”์ด์Šค ์˜ˆ์‹œ
0
stdin
ํ‘œ์ค€ ์ž…๋ ฅ, ๋ช…๋ น์–ด์— ์ž…๋ ฅ๋  ๋‚ด์šฉ์„ ์ €์žฅ
ํ‚ค๋ณด๋“œ
1
stdout
ํ‘œ์ค€ ์ถœ๋ ฅ, ๋ช…๋ น์–ด์—์„œ ์ถœ๋ ฅ๋  ๋‚ด์šฉ์„ ์ €์žฅ
ํ™”๋ฉด (๋ชจ๋‹ˆํ„ฐ)
2
stderr
ํ‘œ์ค€ ์˜ค๋ฅ˜, ๋ช…๋ น์–ด์—์„œ ์ถœ๋ ฅ๋  ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅ
ํ™”๋ฉด (๋ชจ๋‹ˆํ„ฐ)

Redirection

โ€ข
>: ํ‘œ์ค€ ์ถœ๋ ฅ์„ ํŒŒ์ผ๋กœ ์žฌ์ง€์ • (๋ฎ์–ด์“ฐ๊ธฐ)
โ€ข
>>: ํ‘œ์ค€ ์ถœ๋ ฅ์„ ํŒŒ์ผ๋กœ ์žฌ์ง€์ • (์ถ”๊ฐ€)
โ€ข
<: ํ‘œ์ค€ ์ž…๋ ฅ์„ ํŒŒ์ผ๋กœ ์žฌ์ง€์ •
โ€ข
2> error.log: ํ‘œ์ค€ ์—๋Ÿฌ๋ฅผ error.log ํŒŒ์ผ๋กœ ์žฌ์ง€์ •

Shell ์ข…๋ฅ˜

โ€ข
sh (Bourne Shell)
โ—ฆ
์ตœ์ดˆ์˜ Unix ์…ธ ์ค‘ ํ•˜๋‚˜
โ—ฆ
๊ธฐ๋ณธ์ ์ธ ์Šคํฌ๋ฆฝํŒ… ๊ธฐ๋Šฅ ์ œ๊ณต
โ€ข
bash (Bourn-Again Shell)
โ—ฆ
Linux์™€ macOS์˜ ๊ธฐ๋ณธ ์…ธ
โ—ฆ
๊ณ ๊ธ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (๋ฐฐ์—ด, ๋ช…๋ น์–ด ์น˜ํ™˜, ์…ธ ํ•จ์ˆ˜ ๋“ฑ)
โ€ข
zsh (Z Shell)
โ—ฆ
๋ณต์žกํ•œ ๊ตฌ์„ฑ ์˜ต์…˜, ํ…Œ๋งˆ, ํ”Œ๋Ÿฌ๊ทธ์ธ, ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ ์ œ๊ณต
โ—ฆ
macOS์˜ ๊ธฐ๋ณธ ์…ธ (Catalina ์ดํ›„)

ํ™˜๊ฒฝ ์„ค์ •

ํ™˜๊ฒฝ ํŒŒ์ผ

โ€ข
~/.profile: ์ „์ฒด ์„ธ์…˜์— ์ ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ •์˜
โ€ข
~/.bashrc: ๋ณ„์นญ, ํ•จ์ˆ˜, ์…ธ ์˜ต์…˜, ํ”„๋กฌํ”„ํŠธ ์„ค์ • ๋“ฑ bash์— ์ ์šฉ๋˜๋Š” ํ•ญ๋ชฉ ์ •์˜

๋กœ๊ทธ์ธ ์…ธ

โ€ข
๋กœ๊ทธ์ธ ์‹œ ์‚ฌ์šฉ๋˜๋Š” ์…ธ: ~/.profile ํ˜ธ์ถœ
โ€ข
Bash Shell:
โ—ฆ
๋กœ๊ทธ์ธ ์…ธ ํ˜ธ์ถœ ์‹œ ~/.bash_profile ์‚ฌ์šฉ (์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ~/.profile)
โ—ฆ
๋น„๋กœ๊ทธ์ธ ์…ธ์ผ ๊ฒฝ์šฐ ~/.bashrc ์‚ฌ์šฉ

Alias

๋ณ„์นญ์„ ์ง€์ •ํ•˜์—ฌ ๋ช…๋ น์–ด ๋“ฑ์„ ๋‹จ์ถ•ํ•˜์—ฌ ์‚ฌ์šฉ
# ๋ณ„์นญ ์ง€์ • alias ๋ณ„์นญ='๋ช…๋ น์–ด' # ๋ณ„์นญ ํ•ด์ œ unalias ๋ณ„์นญ
Bash
๋ณต์‚ฌ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

โ€ข
์„ค์ • ๋ฐ ์กฐํšŒ
โ—ฆ
env: ์ „์—ญ ๋ณ€์ˆ˜ ์„ค์ • ์กฐํšŒ
โ—ฆ
set: ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ์กฐํšŒ
โ—ฆ
export ์ „์—ญ ๋ณ€์ˆ˜ ์„ค์ •
โ€ข
์˜๊ตฌ์  ํ™˜๊ฒฝ ๋ณ€์ˆ˜
โ—ฆ
๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž: ~/.bashrc ํŒŒ์ผ์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€
โ–ช
๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ ์šฉ: source ~/.bashrc ๋ช…๋ น ์‹คํ–‰
โ—ฆ
๋ชจ๋“  ์‚ฌ์šฉ์ž: /etc/profile ํŒŒ์ผ์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€
โ€ข
ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์ธ ๋ฐ ๋ณ€์ˆ˜ ์‚ญ์ œ
โ—ฆ
echo $๋ณ€์ˆ˜ / unset ๋ณ€์ˆ˜