๋ฐ์ํ
๐ ๋ฆฌ๋ ์ค ์ ธ ์ฌ์ฉํ๊ธฐ ์ ๋ฆฌ
1๏ธโฃ ์ ธ ๊ธฐ๋ณธ
- ์ ธ(Shell): ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ช ๋ น์ ํด์ํด์ ์ด์์ฒด์ (OS)์๊ฒ ์ ๋ฌํ๋ ๋ฒ์ญ๊ธฐ ๊ฐ์ ํ๋ก๊ทธ๋จ
- ์ข ๋ฅ: sh, bash, csh, ksh ๋ฑ
- ๊ธฐ๋ณธ ํ๋กฌํํธ ๊ธฐํธ:
- $ → ์ผ๋ฐ ์ฌ์ฉ์
- # → ๊ด๋ฆฌ์(root)
- % → csh ๊ฐ์ ์ ธ
๐ ๊ธฐ๋ณธ ์ ธ ๋ฐ๊พธ๊ธฐ
chsh -s /bin/bash # ๊ธฐ๋ณธ ์
ธ์ bash๋ก ๋ณ๊ฒฝ
2๏ธโฃ ์ ธ ์ฌ์ฉ๋ฒ
๐ ์ถ๋ ฅ ๋ช ๋ น
echo"Hello"# ํ๋ฉด์ ๊ธ์ ์ถ๋ ฅprintf"Hi\n"# ์ค๋ฐ๊ฟ ํฌํจํด์ ์ถ๋ ฅ
๐ ํน์๋ฌธ์
- * : ๋ชจ๋ ํ์ผ
- ? : ํ ๊ธ์ ๋์ฒด
- [] : ํน์ ๋ฌธ์ ์งํฉ
- ~ : ํ ๋๋ ํ ๋ฆฌ
- ; : ์ฌ๋ฌ ๋ช ๋ น ์ฐ์ ์คํ
- | : ์ ๊ฒฐ๊ณผ → ๋ค ๋ช ๋ น ์ ๋ ฅ
๐ ๋ฆฌ๋ค์ด๋ ์
ls > file.txt # ๋ช ๋ น์ด ๊ฒฐ๊ณผ๋ฅผ file.txt์ ์ ์ฅ (๋ฎ์ด์ฐ๊ธฐ)
ls >> file.txt # ๋ช ๋ น์ด ๊ฒฐ๊ณผ๋ฅผ file.txt ๋์ ์ถ๊ฐcat < file.txt # file.txt ๋ด์ฉ์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉls not_exist 2> error.log # ์๋ฌ ๋ฉ์์ง๋ง error.log์ ์ ์ฅ
3๏ธโฃ ์ ธ ํ๊ฒฝ
๐งฉ ํ๊ฒฝ ๋ณ์
SOME=testecho$SOME# ๋ณ์ ๊ฐ ์ถ๋ ฅ → test bash -c 'echo "child:$SOME"'# ์ ํ ์ ๋จ
export SOME # ํ๊ฒฝ ๋ณ์๋ก ๋ฑ๋ก bash -c 'echo "child:$SOME"'# ์ ํ ๋จ
๐งน ํ๊ฒฝ ๋ณ์ ํด์
export SOME1=hello env | grep SOME1 # ํ๊ฒฝ ๋ณ์ ํ์ธ export -n SOME1 # ํ๊ฒฝ ๋ณ์ ์์ฑ๋ง ์ ๊ฑฐ unset SOME1 # ๋ณ์ ์์ ํ ์ญ์
4๏ธโฃ alias (์์ฃผ ์ฐ๋ ๋ช ๋ น์ด ๋จ์ถํค)
alias ll='ls -lF --color=auto'# ํ์ผ ๋ชฉ๋ก ์์ธํ ๋ณด๊ธฐ
alias la='ls -A'# ์จ๊น ํ์ผ๊น์ง ๋ณด๊ธฐ
alias ..='cd ..'# ์์ ํด๋๋ก ์ด๋
aliasrm='rm -i'# ์ญ์ ํ ๋ ํ์ธ ์ง๋ฌธ
alias grep='grep --color=auto'# grep ๊ฒฐ๊ณผ ์์ ๊ฐ์กฐ
aliasdf='df -h'# ๋์คํฌ ์ฉ๋ ๋ณด๊ธฐ
alias myip='curl ifconfig.me'# ์ธ๋ถ IP ํ์ธ
๐ ํ์ ์์ ๊ฐ์ฅ ์์ฃผ ์ฐ๋ ๊ฒ
- ll, la → ํ์ผ ํ์ธ
- .., ... → ๋๋ ํ ๋ฆฌ ์ด๋
- rm -i, cp -i, mv -i → ์ค์ ๋ฐฉ์ง (์ค์ ํ์ผ ๋ ๋ฆฌ์ง ์๋๋ก)
- grep --color → ๋ก๊ทธ ๋ถ์ํ ๋ ํ์
- df -h, du -h → ์๋ฒ ๋์คํฌ ์ฉ๋ ํ์ธ
- myip → ์๋ฒ ์ธ๋ถ IP ํ์ธ
5๏ธโฃ ํจ์(Function)
function cdpwd { if [ -z "$1" ]; then# ์ธ์๊ฐ ์์ผ๋ฉดecho"Usage: cdpwd <dir>"# ์ฌ์ฉ๋ฒ ์ถ๋ ฅreturn 1 # ์๋ฌ ์ฝ๋ ๋ฐํficd"$1" && pwd# ํด๋น ํด๋๋ก ์ด๋ํ๊ณ ํ์ฌ ๊ฒฝ๋ก ์ถ๋ ฅ }
๐ cdpwd /tmp → /tmp๋ก ์ด๋ํ๋ฉด์ ๊ฒฝ๋ก๊น์ง ํ์ธ
6๏ธโฃ ํ์คํ ๋ฆฌ ํ์ฉ
history | tail# ์ต๊ทผ ์ฌ์ฉํ ๋ช ๋ น์ด ๋ณด๊ธฐ !! # ๋ง์ง๋ง ๋ช ๋ น์ด ๋ค์ ์คํ !5 # ํ์คํ ๋ฆฌ์์ 5๋ฒ ๋ช ๋ น์ด ์คํ
๐ ํ์ ์์๋ history | grep ssh ๊ฐ์ ์์ผ๋ก, ๊ณผ๊ฑฐ์ ์ด ๋ช ๋ น์ด ์ฐพ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
7๏ธโฃ ํ๋กฌํํธ (PS1) ๊พธ๋ฏธ๊ธฐ
echo"$PS1" # ํ์ฌ ํ๋กฌํํธ ํ์ธ
PS1='[${USER} ${PWD}] $ '# ์ฌ์ฉ์ + ๊ฒฝ๋ก ํ์
PS1='\u@\h \w\$ '# ์ฌ์ฉ์@ํธ์คํธ ๊ฒฝ๋ก $
PS1="\e[34;1m\u@\h \w \$ \e[0m"# ํ๋์, ๋ณผ๋์ฒด
๐ ์๋ฒ๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๋ ํ๋กฌํํธ ์์ ๋ค๋ฅด๊ฒ ํด๋๋ฉด ์ค์ ์ค์ผ ์ ์์ (์: ์ด์์๋ฒ ๋นจ๊ฐ์, ํ ์คํธ์๋ฒ ์ด๋ก์)
๐ ์ ์ฒด ํ๋ฆ (Mermaid ๋ค์ด์ด๊ทธ๋จ)

๐ฏ ์ ๋ฆฌ
- ์ ธ = "์ปดํจํฐ์๊ฒ ๋ช ๋ น ๋ด๋ฆฌ๋ ๋ฒ์ญ๊ธฐ"
- ํ๊ฒฝ ๋ณ์ = "์ปดํจํฐ์ ๋ฉ๋ชจํด๋ ๊ฐ"
- alias = "๋ช ๋ น์ด ๋จ์ถํค"
- ๋ฆฌ๋ค์ด๋ ์ /ํ์ดํ = "๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ฑฐ๋, ๋ค๋ฅธ ๋ช ๋ น์ด์ ์ ๋ฌ"
- PS1 = "ํ๋กฌํํธ ๊พธ๋ฏธ๊ธฐ"
- ํ์ ์์ ํ์ = alias rm='rm -i', grep --color, df -h, myip
๋ฐ์ํ
'Cloud Engineering Bootcamp > 5. Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
10. ๋ฆฌ๋ ์ค ์ข ํฉ ์ค์ต (0) | 2025.09.17 |
---|---|
09. Linux Shell Script Programming (0) | 2025.09.16 |
07. ๋ฆฌ๋ ์ค ์ฌ์ฉ์ ๊ด๋ฆฌ (0) | 2025.09.15 |
06. ํ๋ก์ธ์ค ๊ด๋ฆฌํ๊ธฐ (0) | 2025.09.15 |
05. ํ์ผ ์ ๊ทผ๊ถํ ๊ด๋ฆฌํ๊ธฐ (0) | 2025.09.15 |