๐Ÿง ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์ค„

Multilingual DevOps cheat sheet: Linux, Docker, Git, Kubernetes, Helm, Terraform, practical scenarios & templates.
๊ณต๊ฐœ

2025๋…„ 8์›” 31์ผ

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

๐Ÿ”น ๊ธฐ๋ณธ ๋ช…๋ น์–ด

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

cat ํŒŒ์ผ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์ด์–ด๋ถ™์ด๊ธฐ
cat file.txt

ํŒŒ์ผ ๋‚ด์šฉ ๋ณด๊ธฐ

cat file1 file2

๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์ถœ๋ ฅ

cat file1 file2 > merged.txt

ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์ƒˆ ํŒŒ์ผ์— ์ €์žฅ

cd ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ณ€๊ฒฝ
cd /etc

์ ˆ๋Œ€ ๊ฒฝ๋กœ /etc๋กœ ์ด๋™

cd ~

ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™

cd ..

์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™

cd -

์ด์ „ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

clear ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด ์ง€์šฐ๊ธฐ
cp ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ณต์‚ฌ
cp file1.txt file2.txt

ํŒŒ์ผ์„ ์ƒˆ ์ด๋ฆ„์œผ๋กœ ๋ณต์‚ฌ

cp -r dir1 dir2

๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ๋ณต์‚ฌ

cp -i file.txt /tmp/

๋ฎ์–ด์“ฐ๊ธฐ ์ „์— ํ™•์ธ ์š”์ฒญ

echo ๋ฌธ์ž์—ด์ด๋‚˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅ
echo "Hello, World!"

๊ฐ„๋‹จํ•œ ๋ฌธ์ž์—ด ์ถœ๋ ฅ

echo $HOME

ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ ํ‘œ์‹œ

echo -e "1\t2\n3"

์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค ( ) ํ•ด์„

history ๋ช…๋ น์–ด ๊ธฐ๋ก ํ‘œ์‹œ
id ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ UID, GID ๋ฐ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ ํ‘œ์‹œ
ls ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚˜์—ด
ls -l

๊ถŒํ•œ๊ณผ ์†Œ์œ ์ž๊ฐ€ ํฌํ•จ๋œ ์ƒ์„ธ ๋ชฉ๋ก

ls -a

์ˆจ๊น€ ํŒŒ์ผ ํ‘œ์‹œ

ls -lh

์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ํฌ๊ธฐ ํ‘œ์‹œ

mkdir ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ
mkdir folder

๋‹จ์ผ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ

mkdir -p a/b/c

์ค‘์ฒฉ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ

mkdir dir{1,2,3}

์—ฌ๋Ÿฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํ•œ ๋ฒˆ์— ์ƒ์„ฑ

mv ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋™ ๋˜๋Š” ์ด๋ฆ„ ๋ณ€๊ฒฝ
mv oldname.txt newname.txt

ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€๊ฒฝ

mv file.txt /path/to/dir/

ํŒŒ์ผ์„ ๋‹ค๋ฅธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™

mv *.txt archive/

๋ชจ๋“  .txt ํŒŒ์ผ์„ archive ํด๋”๋กœ ์ด๋™

pwd ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ ์ถœ๋ ฅ
pwd -P

์‹ค์ œ ๊ฒฝ๋กœ ํ‘œ์‹œ (์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ œ์™ธ)

cd /tmp && pwd

/tmp๋กœ ์ด๋™ ํ›„ ๊ฒฝ๋กœ ํ‘œ์‹œ

rm ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ
rm file.txt

ํŒŒ์ผ ์‚ญ์ œ

rm -i file.txt

ํ™•์ธ ํ›„ ํŒŒ์ผ ์‚ญ์ œ

rm -r folder/

๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ์‚ญ์ œ

rm -rf folder/

ํ™•์ธ ์—†์ด ๊ฐ•์ œ ์‚ญ์ œ

rmdir ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ
rmdir emptydir

emptydir ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ

touch ๋นˆ ํŒŒ์ผ ์ƒ์„ฑ ๋˜๋Š” ์ˆ˜์ • ์‹œ๊ฐ„ ๊ฐฑ์‹ 
touch newfile.txt

์—†์œผ๋ฉด ์ƒˆ ๋นˆ ํŒŒ์ผ ์ƒ์„ฑ

touch a b c

์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ์ƒ์„ฑ

touch -c file.txt

ํŒŒ์ผ์ด ์—†์–ด๋„ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์‹œ๊ฐ„๋งŒ ๊ฐฑ์‹ 

whereis ๋ช…๋ น์–ด์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ, ์†Œ์Šค ๋ฐ ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€ ์œ„์น˜ ์ฐพ๊ธฐ
whereis ls

ls์˜ ์œ„์น˜ ์ฐพ๊ธฐ

whereis bash

Bash ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ ๋ฌธ์„œ ๊ฒฝ๋กœ ํ‘œ์‹œ

whereis -b bash

๋ฐ”์ด๋„ˆ๋ฆฌ๋งŒ ๊ฒ€์ƒ‰

which ๋ช…๋ น์–ด ์‹คํ–‰ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ ํ‘œ์‹œ
which python3

python3 ๊ฒฝ๋กœ

which grep

grep ๊ฒฝ๋กœ

which --skip-alias ls

๋ณ„์นญ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ฒ€์ƒ‰

whoami ํ˜„์žฌ ์œ ํšจ ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์ถœ๋ ฅ

๐Ÿ”ธ ์ค‘๊ธ‰ ๋ช…๋ น์–ด

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

chmod ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ถŒํ•œ ๋ณ€๊ฒฝ
chmod 755 file

8์ง„์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๊ถŒํ•œ ์„ค์ • (์˜ˆ: 755)

chmod +x script.sh

์Šคํฌ๋ฆฝํŠธ์— ์‹คํ–‰ ๊ถŒํ•œ ์ถ”๊ฐ€

chmod -R 644 dir/

๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žฌ๊ท€์ ์œผ๋กœ ๊ถŒํ•œ ์„ค์ •

chown ํŒŒ์ผ ์†Œ์œ ์ž ๋ฐ ๊ทธ๋ฃน ๋ณ€๊ฒฝ
chown user file

ํŒŒ์ผ์˜ ์†Œ์œ ์ž ๋ณ€๊ฒฝ

chown user:group file

์†Œ์œ ์ž์™€ ๊ทธ๋ฃน ๋ณ€๊ฒฝ

chown -R user:group dir/

์žฌ๊ท€์ ์œผ๋กœ ์†Œ์œ ์ž์™€ ๊ทธ๋ฃน ๋ณ€๊ฒฝ

curl ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  (HTTP, HTTPS ๋“ฑ)
curl -I https://example.com

HEAD ์š”์ฒญ ๋ณด๋‚ด๊ธฐ (ํ—ค๋”๋งŒ)

curl -O https://example.com/file.txt

ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์ด๋ฆ„ ์œ ์ง€

curl -d "a=1&b=2" -X POST URL

ํผ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ POST ์š”์ฒญ ๋ณด๋‚ด๊ธฐ

df ํŒŒ์ผ ์‹œ์Šคํ…œ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ณด๊ณ 
df -h

์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ํฌ๊ธฐ ํ‘œ์‹œ

df /home

ํŠน์ • ๋งˆ์šดํŠธ ์ง€์  ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ

df -T

ํŒŒ์ผ ์‹œ์Šคํ…œ ์œ ํ˜• ํ‘œ์‹œ

diff ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋น„๊ต
diff file1 file2

๋‘ ํŒŒ์ผ ๋น„๊ต

diff -u old.c new.c

ํ†ตํ•ฉ ์ฐจ์ด ํ‘œ์‹œ (ํŒจ์น˜ ํ˜•์‹)

diff -r dir1 dir2

๋””๋ ‰ํ„ฐ๋ฆฌ ์žฌ๊ท€ ๋น„๊ต

du ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์šฉ๋Ÿ‰ ์ถ”์ •
du -sh *

ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด ํ•ญ๋ชฉ ํฌ๊ธฐ ํ‘œ์‹œ

du -h file.txt

๋‹จ์ผ ํŒŒ์ผ ํฌ๊ธฐ ํ‘œ์‹œ

du -sh --max-depth=1 /var

์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ์š”์•ฝ ํฌ๊ธฐ ํ‘œ์‹œ

find ์ด๋ฆ„, ํฌ๊ธฐ, ์‹œ๊ฐ„ ๋“ฑ์œผ๋กœ ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒ€์ƒ‰
find . -name "*.log"

ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ชจ๋“  .log ํŒŒ์ผ ์ฐพ๊ธฐ

find / -type f -size +100M

100MB๋ณด๋‹ค ํฐ ํŒŒ์ผ ์ฐพ๊ธฐ

find . -mtime -1

์ง€๋‚œ ํ•˜๋ฃจ ๋™์•ˆ ์ˆ˜์ •๋œ ํŒŒ์ผ ์ฐพ๊ธฐ

free ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ์™€ ์‚ฌ์šฉ ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ ํ‘œ์‹œ
free -h

์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ๋‹จ์œ„๋กœ ํ‘œ์‹œ

free -m

MB ๋‹จ์œ„๋กœ ํ‘œ์‹œ

watch -n 2 free -h

2์ดˆ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ

grep ํŒจํ„ด(์ •๊ทœ ํ‘œํ˜„์‹)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ ๊ฒ€์ƒ‰
grep "error" logfile

error๊ฐ€ ํฌํ•จ๋œ ์ค„ ์ฐพ๊ธฐ

grep -r "error" /var/log

๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์žฌ๊ท€์ ์œผ๋กœ ๊ฒ€์ƒ‰

grep -i "fail" file

๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ๊ฒ€์ƒ‰

head ํŒŒ์ผ์˜ ์•ž๋ถ€๋ถ„ ์ถœ๋ ฅ
head -n 10 file

์•ž 10์ค„ ์ถœ๋ ฅ

head -n 20 file.txt

์•ž 20์ค„ ์ถœ๋ ฅ

head -c 100 file

์•ž 100๋ฐ”์ดํŠธ ์ถœ๋ ฅ

hostname ์‹œ์Šคํ…œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ํ‘œ์‹œ ๋˜๋Š” ์„ค์ •
hostname newname

์žฌ๋ถ€ํŒ… ์‹œ๊นŒ์ง€ ์ž„์‹œ๋กœ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์„ค์ •

hostname -I

IP ์ฃผ์†Œ ํ‘œ์‹œ

kill ํ”„๋กœ์„ธ์Šค์— ์‹œ๊ทธ๋„ ์ „์†ก
kill -9 1234

PID๋กœ ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ

kill -TERM 1234

SIGTERM์œผ๋กœ ์ •์ƒ ์ข…๋ฃŒ

pkill -f python

ํŒจํ„ด์— ๋งž๋Š” ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ

ping ICMP ์—์ฝ” ์š”์ฒญ์œผ๋กœ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ™•์ธ
ping 8.8.8.8

์ฃผ์†Œ์— ํ•‘ ๋ณด๋‚ด๊ธฐ

ping -c 4 ya.ru

ํŒจํ‚ท 4๊ฐœ ์ „์†ก

ping -i 2 1.1.1.1

2์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ์ „์†ก

ps ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ณด๊ณ 
ps aux

๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ๋‚˜์—ด

ps -ef | grep nginx

grep์œผ๋กœ ์ด๋ฆ„ ํ•„ํ„ฐ๋ง

ps -u $USER

ํ˜„์žฌ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ํ‘œ์‹œ

rsync ๋น ๋ฅธ ์ฆ๋ถ„ ํŒŒ์ผ ์ „์†ก
rsync -av src/ dst/

๋กœ์ปฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋™๊ธฐํ™”

rsync -avz user@host:/src /dst

SSH๋ฅผ ํ†ตํ•œ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์™€ ๋™๊ธฐํ™”

rsync --delete src/ dst/

์›๋ณธ์— ์—†๋Š” ํŒŒ์ผ์„ ๋Œ€์ƒ์—์„œ ์‚ญ์ œ

scp ๋ณด์•ˆ ๋ณต์‚ฌ (์›๊ฒฉ ํŒŒ์ผ ๋ณต์‚ฌ ํ”„๋กœ๊ทธ๋žจ)
scp file user@host:/path

ํŒŒ์ผ์„ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ๋กœ ๋ณต์‚ฌ

scp user@host:/file.txt .

ํŒŒ์ผ์„ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์—์„œ ๋ณต์‚ฌ

scp -r dir user@host:/path

๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ๋ณต์‚ฌ

sort ํ…์ŠคํŠธ ์ค„ ์ •๋ ฌ
sort file.txt

์•ŒํŒŒ๋ฒณ์ˆœ ์ •๋ ฌ

sort -r file.txt

์—ญ์ˆœ ์ •๋ ฌ

sort -n numbers.txt

์ˆซ์ž ์ •๋ ฌ

tail ํŒŒ์ผ์˜ ๋๋ถ€๋ถ„ ์ถœ๋ ฅ ๋ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”์ 
tail -f logfile.log

์‹ค์‹œ๊ฐ„์œผ๋กœ ๋กœ๊ทธ ์ถ”์ 

tail -n 20 file.txt

๋งˆ์ง€๋ง‰ 20์ค„ ์ถœ๋ ฅ

tail -c 100 file.txt

๋งˆ์ง€๋ง‰ 100๋ฐ”์ดํŠธ ์ถœ๋ ฅ

tar tar ์•„์นด์ด๋ธŒ ์ƒ์„ฑ, ๋ชฉ๋ก, ์ถ”์ถœ
tar -czf archive.tgz dir/

์••์ถ•๋œ .tgz ์•„์นด์ด๋ธŒ ์ƒ์„ฑ

tar -xzf archive.tgz

.tgz ์•„์นด์ด๋ธŒ ์ถ”์ถœ

tar -tf archive.tgz

์•„์นด์ด๋ธŒ ๋‚ด์šฉ ๋ชฉ๋ก

tee stdin์—์„œ ์ฝ์–ด stdout ๋ฐ ํŒŒ์ผ์— ์“ฐ๊ธฐ
echo "test" | tee out.txt

์ถœ๋ ฅ์„ out.txt์— ์ €์žฅํ•˜๊ณ  ๋™์‹œ์— ํ‘œ์‹œ

ls | tee list.txt

ls ์ถœ๋ ฅ ๋‚ด์šฉ์„ ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  ํ‘œ์‹œ

command | tee -a log.txt

์ถœ๋ ฅ์„ log.txt ๋์— ์ถ”๊ฐ€

top ๋ฆฌ๋ˆ…์Šค ์ž‘์—… ํ‘œ์‹œ (๋Œ€ํ™”ํ˜• ํ”„๋กœ์„ธ์Šค ๋ทฐ์–ด)
top

top ์‹คํ–‰

htop

๋Œ€์ฒด ๋Œ€ํ™”ํ˜• ๋ทฐ์–ด (htop)

top -o %MEM

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€ ์ •๋ ฌ

uptime ์‹œ์Šคํ…œ ์‹คํ–‰ ์‹œ๊ฐ„ ํ‘œ์‹œ
uptime -p

๋ณด๊ธฐ ์ข‹์€ ํ˜•์‹์œผ๋กœ uptime ํ‘œ์‹œ

uptime -s

์‹œ์Šคํ…œ ๋ถ€ํŒ… ์‹œ๊ฐ„ ํ‘œ์‹œ

wget ๋น„๋Œ€ํ™”ํ˜• ๋„คํŠธ์›Œํฌ ๋‹ค์šด๋กœ๋“œ
wget https://site.com/file.zip

URL๋กœ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

wget -c file.zip

์ค‘๋‹จ๋œ ๋‹ค์šด๋กœ๋“œ ์žฌ๊ฐœ

wget -O saved.txt URL

๋‹ค๋ฅธ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ

wc ํŒŒ์ผ์˜ ์ค„, ๋‹จ์–ด, ๋ฐ”์ดํŠธ ์ˆ˜ ์ถœ๋ ฅ
wc -l file

์ค„ ์ˆ˜ ์„ธ๊ธฐ

wc -w file

๋‹จ์–ด ์ˆ˜ ์„ธ๊ธฐ

wc -m file

๋ฌธ์ž ์ˆ˜ ์„ธ๊ธฐ

uniq ์ค‘๋ณต ์ค„ ๋ณด๊ณ  ๋˜๋Š” ์ œ๊ฑฐ (์—ฐ์†๋œ ์ค‘๋ณต)
uniq file.txt

์—ฐ์†๋œ ์ค‘๋ณต ์ œ๊ฑฐ

sort file | uniq

์ •๋ ฌ ํ›„ ์ค‘๋ณต ์ œ๊ฑฐ

sort file | uniq -c

๊ฐ ์ค„์˜ ๋ฐœ์ƒ ํšŸ์ˆ˜ ์„ธ๊ธฐ

yes ๋ฌธ์ž์—ด์„ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต ์ถœ๋ ฅ; ์Šคํฌ๋ฆฝํŠธ์— ์œ ์šฉ
yes "y" | command

ํ”„๋กฌํ”„ํŠธ์— ํ•ญ์ƒ โ€œyโ€๋กœ ์‘๋‹ต

yes | rm -i *

๋Œ€ํ™”ํ˜• ์‚ญ์ œ ์ž๋™ ํ™•์ธ

yes no | command

ํ”„๋กฌํ”„ํŠธ์— โ€œnoโ€๋กœ ์‘๋‹ต

๐Ÿ”ง ๊ณ ๊ธ‰ ๋ช…๋ น์–ด

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

at ์ง€์ •๋œ ์‹œ๊ฐ„์— ํ•œ ๋ฒˆ ์‹คํ–‰ํ•  ๋ช…๋ น ์˜ˆ์•ฝ
at now + 1 minute

์ง€๊ธˆ๋ถ€ํ„ฐ 1๋ถ„ ํ›„ ๋ช…๋ น ์‹คํ–‰

atq

๋Œ€๊ธฐ ์ค‘์ธ ์ž‘์—… ๋‚˜์—ด

atrm

๋Œ€๊ธฐ ์ค‘์ธ ์ž‘์—… ์ œ๊ฑฐ

awk ํŒจํ„ด ๊ฒ€์ƒ‰ ๋ฐ ์ฒ˜๋ฆฌ ์–ธ์–ด
awk '{print $1}' file

์ฒซ ๋ฒˆ์งธ ์—ด ์ถœ๋ ฅ

ps aux | awk '$3 > 50'

CPU ์‚ฌ์šฉ๋Ÿ‰์œผ๋กœ ํ”„๋กœ์„ธ์Šค ํ•„ํ„ฐ๋ง

cat file.txt | awk '{print $2}'

๊ฐ ์ค„์˜ ๋‘ ๋ฒˆ์งธ ํ•„๋“œ ์ถœ๋ ฅ

awk '/error/ {print $0}' logfile

ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š” ์ค„ ์ถœ๋ ฅ

crontab ์‚ฌ์šฉ์ž๋ณ„ ํฌ๋ก  ์ž‘์—… ์„ค์น˜, ๋‚˜์—ด ๋˜๋Š” ์ œ๊ฑฐ
crontab -e

ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ crontab ํŽธ์ง‘

crontab -l

ํฌ๋ก  ์ž‘์—… ๋‚˜์—ด

crontab -r

ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ crontab ์ œ๊ฑฐ

cut ํŒŒ์ผ ๊ฐ ์ค„์—์„œ ๊ตฌ๊ฐ„ ์ œ๊ฑฐ ๋˜๋Š” ์„ ํƒ
cut -d':' -f1 /etc/passwd

/etc/passwd์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์ถœ๋ ฅ

echo "a:b:c" | cut -d':' -f2

๊ตฌ๋ถ„์ž โ€™:โ€™๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ ํ•„๋“œ ์ถ”์ถœ

cut -c1-5 filename

์œ„์น˜๋กœ ๋ฌธ์ž ์„ ํƒ

df ํŒŒ์ผ ์‹œ์Šคํ…œ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ณด๊ณ 
df -h

์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ํฌ๊ธฐ

df -T

ํŒŒ์ผ ์‹œ์Šคํ…œ ์œ ํ˜• ํ‘œ์‹œ

df /home

ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ

env ์ˆ˜์ •๋œ ํ™˜๊ฒฝ์—์„œ ๋ช…๋ น ์‹คํ–‰ ๋˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถœ๋ ฅ
env | grep PATH

PATH ํ•ญ๋ชฉ ํ‘œ์‹œ

env -i bash

๋นˆ ํ™˜๊ฒฝ์œผ๋กœ ์ƒˆ ์…ธ ์‹œ์ž‘

export ํ˜„์žฌ ์…ธ/์„ธ์…˜์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
export VAR=value

์ด ์…ธ์— ๋ณ€์ˆ˜ ์„ค์ •

export PATH=$PATH:/new/path

PATH์— ๋””๋ ‰ํ„ฐ๋ฆฌ ์ถ”๊ฐ€

export -p

๋‚ด๋ณด๋‚ธ ๋ณ€์ˆ˜ ๋‚˜์—ด

free ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ
free -m

MB ๋‹จ์œ„๋กœ ํ‘œ์‹œ

free -h

์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ๋‹จ์œ„๋กœ ํ‘œ์‹œ

free -s 5

5์ดˆ๋งˆ๋‹ค ์ƒ˜ํ”Œ๋ง

hostnamectl ์‹œ์Šคํ…œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฐ ๊ด€๋ จ ์„ค์ • ์กฐํšŒ/๋ณ€๊ฒฝ
hostnamectl status

ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์ƒํƒœ ํ‘œ์‹œ

hostnamectl set-hostname newname

์ƒˆ ์ •์  ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์„ค์ •

ifconfig / ip ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ฃผ์†Œ ์กฐํšŒ/๊ด€๋ฆฌ์šฉ IP ๋„๊ตฌ
ifconfig

๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ํ‘œ์‹œ (๋ ˆ๊ฑฐ์‹œ)

ip a

ip ๋ช…๋ น์œผ๋กœ ์ฃผ์†Œ ํ‘œ์‹œ

ip link set eth0 up

์ธํ„ฐํŽ˜์ด์Šค ํ™œ์„ฑํ™”

iostat CPU ๋ฐ I/O ํ†ต๊ณ„ ๋ณด๊ณ 
iostat -x 2

2์ดˆ๋งˆ๋‹ค ํ™•์žฅ ํ†ต๊ณ„ ํ‘œ์‹œ

iostat -d 5 3

์žฅ์น˜ ํ†ต๊ณ„ (5์ดˆ ๊ฐ„๊ฒฉ, 3ํšŒ ๋ณด๊ณ )

iptables IPv4 ํŒจํ‚ท ํ•„ํ„ฐ๋ง ๋ฐ NAT ๊ด€๋ฆฌ ๋„๊ตฌ
iptables -L

ํ˜„์žฌ ๊ทœ์น™ ๋‚˜์—ด

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

ํฌํŠธ 22์—์„œ SSH ํ—ˆ์šฉ

iptables -F

๋ชจ๋“  ๊ทœ์น™ ์ดˆ๊ธฐํ™”

journalctl systemd ์ €๋„ ์กฐํšŒ
journalctl -xe

์ตœ๊ทผ ์˜ค๋ฅ˜์™€ ์ปจํ…์ŠคํŠธ ํ‘œ์‹œ

journalctl -u nginx.service

ํŠน์ • ์„œ๋น„์Šค ๋กœ๊ทธ ํ‘œ์‹œ

journalctl --since "2 hours ago"

์ƒ๋Œ€ ์‹œ๊ฐ„ ์ดํ›„ ๋กœ๊ทธ ํ‘œ์‹œ

ln ํŒŒ์ผ ๊ฐ„ ๋งํฌ ์ƒ์„ฑ
ln -s target link

์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ƒ์„ฑ

ln file.txt backup.txt

ํ•˜๋“œ ๋งํฌ ์ƒ์„ฑ

ln -sf target link

์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๊ฐ•์ œ๋กœ ์žฌ์ƒ์„ฑ

sed ํ…์ŠคํŠธ ํ•„ํ„ฐ๋ง ๋ฐ ๋ณ€ํ™˜์šฉ ์ŠคํŠธ๋ฆผ ํŽธ์ง‘๊ธฐ
sed 's/old/new/g' file

๋ฌธ์ž์—ด ์ „์ฒด ์น˜ํ™˜

sed -n '1,5p' file

ํŠน์ • ์ค„ ๋ฒ”์œ„๋งŒ ์ถœ๋ ฅ

sed '/pattern/d' file

์ผ์น˜ํ•˜๋Š” ์ค„ ์‚ญ์ œ

systemctl systemd ์‹œ์Šคํ…œ ๋ฐ ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž ์ œ์–ด
systemctl status nginx

์„œ๋น„์Šค ์ƒํƒœ ํ‘œ์‹œ

systemctl start nginx

์„œ๋น„์Šค ์‹œ์ž‘

systemctl enable nginx

๋ถ€ํŒ… ์‹œ ์„œ๋น„์Šค ์ž๋™ ์‹œ์ž‘

tr ๋ฌธ์ž ๋ณ€ํ™˜ ๋˜๋Š” ์‚ญ์ œ
tr a-z A-Z

์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜

echo "hello" | tr 'h' 'H'

๋ฌธ์ž ์น˜ํ™˜

echo "abc123" | tr -d '0-9'

์ˆซ์ž ์‚ญ์ œ

type ์…ธ์—์„œ ์ด๋ฆ„์ด ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜๋Š”์ง€ ์„ค๋ช…
type ls

ls๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜๋Š”์ง€ ํ‘œ์‹œ

type cd

cd๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜๋Š”์ง€ ํ‘œ์‹œ

type python3

python3๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜๋Š”์ง€ ํ‘œ์‹œ

ulimit ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ๋ฆฌ์†Œ์Šค ์ œํ•œ ์กฐํšŒ/์„ค์ •
ulimit -n

์ตœ๋Œ€ ์—ด๋ฆฐ ํŒŒ์ผ ์ˆ˜ ํ‘œ์‹œ

ulimit -c unlimited

์ฝ”์–ด ๋คํ”„ ํ™œ์„ฑํ™”

ulimit -u 4096

์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ๊ฐœ์ˆ˜ ์ œํ•œ

uptime ์‹œ์Šคํ…œ ๊ฐ€๋™ ์‹œ๊ฐ„ ๋ฐ ํ‰๊ท  ๋ถ€ํ•˜ ํ‘œ์‹œ
uptime -p

๋ณด๊ธฐ ์ข‹์€ uptime ํ‘œ์‹œ

uptime -s

๋ถ€ํŒ… ์‹œ๊ฐ„ ํ‘œ์‹œ

xargs ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ๋ช…๋ น์–ด ํ–‰ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰
xargs -n 1 echo

๊ฐ ์ธ์ž๋ฅผ ๋ณ„๋„์˜ ์ค„๋กœ ์ถœ๋ ฅ

echo "a b c" | xargs -n 1

๋‹จ์–ด๋ฅผ ๊ฐœ๋ณ„ ์ธ์ž๋กœ ๋ถ„๋ฆฌ

find . -name '*.txt' | xargs rm

ํŒŒ์ผ์„ ์ฐพ์•„ xargs๋กœ ์‚ญ์ œ

๐ŸŒ ๋„คํŠธ์›Œํฌ ๋ช…๋ น์–ด

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

curl ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ 
curl -X POST -d "a=1" URL

ํผ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ POST ์š”์ฒญ

curl -I URL

ํ—ค๋”๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ

curl -o file.html URL

ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์ €์žฅ

dig DNS ์กฐํšŒ ์œ ํ‹ธ๋ฆฌํ‹ฐ
dig openai.com

A ๋ ˆ์ฝ”๋“œ ์กฐํšŒ

dig +short openai.com

๊ฐ„๋‹จํ•œ ์‘๋‹ต

dig @8.8.8.8 openai.com

ํŠน์ • DNS ์„œ๋ฒ„ ์‚ฌ์šฉ

ftp ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ ํด๋ผ์ด์–ธํŠธ
ftp host

FTP ์„œ๋ฒ„์— ์—ฐ๊ฒฐ

ftp -n host

์ž๋™ ๋กœ๊ทธ์ธ ์—†์ด ์—ฐ๊ฒฐ

ftp> get file.txt

FTP ์„ธ์…˜์—์„œ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

ip address IP ์ฃผ์†Œ ์กฐํšŒ/๊ด€๋ฆฌ
ip addr show eth0

eth0์˜ ์ฃผ์†Œ ์ •๋ณด ํ‘œ์‹œ

ip addr

๋ชจ๋“  ์ฃผ์†Œ ๋‚˜์—ด

ip link ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ์กฐํšŒ/๊ด€๋ฆฌ
ip link show

๋„คํŠธ์›Œํฌ ๋งํฌ ํ‘œ์‹œ

ip link set eth0 up

์ธํ„ฐํŽ˜์ด์Šค ํ™œ์„ฑํ™”

ip route IP ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์กฐํšŒ/๊ด€๋ฆฌ
ip route list

๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๋‚˜์—ด

ip route add default via 192.168.1.1

๊ธฐ๋ณธ ๋ผ์šฐํŠธ ์ถ”๊ฐ€

nc ์ž„์˜์˜ TCP/UDP ์—ฐ๊ฒฐ ๋ฐ ๋ฆฌ์Šค๋‹
nc -zv host 22

ํ˜ธ์ŠคํŠธ ํฌํŠธ ์Šค์บ”

nc -l 1234

TCP ํฌํŠธ ๋ฆฌ์Šค๋‹

nc host 1234 < file

ํŒŒ์ผ์„ ์›๊ฒฉ ํฌํŠธ๋กœ ์ „์†ก

nmap ๋„คํŠธ์›Œํฌ ํƒ์‚ฌ ๋ฐ ๋ณด์•ˆ/ํฌํŠธ ์Šค์บ๋„ˆ
nmap -sP 192.168.1.0/24

์„œ๋ธŒ๋„ท ํ•‘ ์Šค์บ”

nmap -sV 192.168.1.1

์„œ๋น„์Šค/๋ฒ„์ „ ํƒ์ง€

nmap -O 192.168.1.1

์šด์˜์ฒด์ œ ํƒ์ง€

nslookup ๋„๋ฉ”์ธ ๋„ค์ž„ ์„œ๋ฒ„ ์งˆ์˜
nslookup google.com

๋„๋ฉ”์ธ ์ด๋ฆ„ ์กฐํšŒ

nslookup 8.8.8.8

IP์— ๋Œ€ํ•œ ์—ญ์กฐํšŒ

ssh OpenSSH ์›๊ฒฉ ๋กœ๊ทธ์ธ ํด๋ผ์ด์–ธํŠธ
ssh user@host

ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐ

ssh -p 2222 user@host

๋น„ํ‘œ์ค€ ํฌํŠธ๋กœ ์—ฐ๊ฒฐ

ssh -i ~/.ssh/id_rsa user@host

ํŠน์ • ๊ฐœ์ธ ํ‚ค๋กœ ๋กœ๊ทธ์ธ

ss ์†Œ์ผ“ ์กฐ์‚ฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ
ss -tuln

TCP/UDP ๋ฆฌ์Šค๋‹ ํฌํŠธ ๋‚˜์—ด

ss -s

์š”์•ฝ ํ†ต๊ณ„ ํ‘œ์‹œ

ss -l

๋ฆฌ์Šค๋‹ ์†Œ์ผ“ ๋‚˜์—ด

telnet TELNET ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค
telnet host 80

ํฌํŠธ 80์œผ๋กœ ํ˜ธ์ŠคํŠธ ์—ฐ๊ฒฐ

telnet example.com 443

ํฌํŠธ 443 ์—ฐ๊ฒฐ

telnet localhost 25

๋กœ์ปฌ SMTP ์—ฐ๊ฒฐ

traceroute ๋„คํŠธ์›Œํฌ ํ˜ธ์ŠคํŠธ๊นŒ์ง€ ๊ฒฝ๋กœ ์ถ”์ 
traceroute 8.8.8.8

IP๊นŒ์ง€ ๊ฒฝ๋กœ ์ถ”์ 

traceroute -m 15 8.8.8.8

์ตœ๋Œ€ ํ™‰ ์ˆ˜ ์ œํ•œ

wget ์›น์—์„œ ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ
wget -O file.txt URL

์ถœ๋ ฅ์„ ํŒŒ์ผ์— ์ €์žฅ

wget URL

ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋‹ค์šด๋กœ๋“œ

wget -c URL

์ค‘๋‹จ๋œ ๋‹ค์šด๋กœ๋“œ ์ด์–ด๋ฐ›๊ธฐ

๐Ÿ” ํŒŒ์ผ ๊ฒ€์ƒ‰ ๋ฐ ๊ด€๋ฆฌ

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

basename ํŒŒ์ผ๋ช…์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ์ ‘๋ฏธ์‚ฌ ์ œ๊ฑฐ
basename /path/to/file

๊ฒฝ๋กœ์—์„œ ํŒŒ์ผ๋ช… ์ถœ๋ ฅ

basename /path/to/file .txt

์ด๋ฆ„์—์„œ ์ ‘๋ฏธ์‚ฌ ์ œ๊ฑฐ

dirname ๊ฒฝ๋กœ์˜ ๋งˆ์ง€๋ง‰ ๊ตฌ์„ฑ ์š”์†Œ ์ œ๊ฑฐ
dirname /path/to/file

๊ฒฝ๋กœ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ถ€๋ถ„ ํ‘œ์‹œ

dirname /etc/passwd

/etc/passwd์˜ ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ํ‘œ์‹œ

du ํŒŒ์ผ ๊ณต๊ฐ„ ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์ •
du -sh folder/

๋””๋ ‰ํ„ฐ๋ฆฌ ํฌ๊ธฐ ํ‘œ์‹œ

du -h *

ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ํ•ญ๋ชฉ ํฌ๊ธฐ ํ‘œ์‹œ

du -c folder1 folder2

์—ฌ๋Ÿฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ˆ„์  ํฌ๊ธฐ ํ‘œ์‹œ

file ํŒŒ์ผ ์œ ํ˜• ํŒ๋ณ„
file some.bin

ํŒŒ์ผ ์œ ํ˜• ๊ฐ์ง€

file *

๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด ๋ชจ๋“  ํŒŒ์ผ ์œ ํ˜• ๊ฐ์ง€

file -i file.txt

MIME ์œ ํ˜• ํ‘œ์‹œ

find ํŒŒ์ผ ๊ฒ€์ƒ‰
find /path -type f -name "*.sh"

์ด๋ฆ„์œผ๋กœ ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฐพ๊ธฐ

find . -size +10M

10MB๋ณด๋‹ค ํฐ ํŒŒ์ผ ์ฐพ๊ธฐ

find /tmp -mtime -1

์ง€๋‚œ ํ•˜๋ฃจ ๋™์•ˆ ์ˆ˜์ •๋œ ํŒŒ์ผ ์ฐพ๊ธฐ

locate ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰
locate filename

ํŒŒ์ผ ์ด๋ฆ„ ์ฐพ๊ธฐ

locate *.conf

์™€์ผ๋“œ์นด๋“œ ๊ฒ€์ƒ‰

locate -i README

๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†๋Š” ๊ฒ€์ƒ‰

realpath ํ•ด๊ฒฐ๋œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ ์ถœ๋ ฅ
realpath file

ํŒŒ์ผ ๊ฒฝ๋กœ ํ™•์ธ

realpath ../relative/path

์ƒ๋Œ€ ๊ฒฝ๋กœ ํ™•์ธ

stat ํŒŒ์ผ ๋˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒํƒœ ํ‘œ์‹œ
stat file

์ž์„ธํ•œ ํŒŒ์ผ ์ƒํƒœ ํ‘œ์‹œ

stat -c %s file

ํŒŒ์ผ ํฌ๊ธฐ๋งŒ ์ถœ๋ ฅ

stat -f file

ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒํƒœ ํ‘œ์‹œ

tree ํŠธ๋ฆฌ ํ˜•์‹์œผ๋กœ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์šฉ ํ‘œ์‹œ
tree

๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ ์ถœ๋ ฅ

tree -L 2

ํ‘œ์‹œ ๊นŠ์ด ์ œํ•œ

tree -a

์ˆจ๊น€ ํŒŒ์ผ ํฌํ•จ

๐Ÿ“Š ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

dmesg ์ปค๋„ ๋ง ๋ฒ„ํผ ์ถœ๋ ฅ ๋˜๋Š” ์ œ์–ด
dmesg | tail

๋งˆ์ง€๋ง‰ ์ปค๋„ ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ

dmesg | grep usb

USB ๋ฉ”์‹œ์ง€ ํ•„ํ„ฐ๋ง

free ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ
free -h

์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ๋‹จ์œ„

free -m

MB ๋‹จ์œ„๋กœ ํ‘œ์‹œ

htop ๋Œ€ํ™”ํ˜• ํ”„๋กœ์„ธ์Šค ๋ทฐ์–ด
htop

htop ์‹คํ–‰

iotop ํ”„๋กœ์„ธ์Šค๋ณ„ I/O ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ
iotop

iotop ์‹คํ–‰

iotop -o

I/O ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋งŒ ํ‘œ์‹œ

lsof ์—ด๋ฆฐ ํŒŒ์ผ ๋ชฉ๋ก ํ‘œ์‹œ
lsof -i :80

ํฌํŠธ 80์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ํ‘œ์‹œ

lsof -u username

ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ์—ฐ ํŒŒ์ผ ํ‘œ์‹œ

uptime ์‹œ์Šคํ…œ ๊ฐ€๋™ ์‹œ๊ฐ„ ๋ฐ ๋ถ€ํ•˜ ํ‰๊ท  ํ‘œ์‹œ
vmstat ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ํ†ต๊ณ„ ๋ณด๊ณ 
vmstat 1

1์ดˆ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ

vmstat 5 3

5์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ 3ํšŒ ๋ณด๊ณ 

watch ์ฃผ๊ธฐ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ›„ ์ถœ๋ ฅ ํ‘œ์‹œ
watch -n 1 df -h

๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ฐ์‹œ

watch -d free -h

์ฐจ์ด ๊ฐ•์กฐ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ์‹œ

๐Ÿ“ฆ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

apt APT ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž (Debian/Ubuntu)
apt install curl

ํŒจํ‚ค์ง€ ์„ค์น˜

apt remove curl

ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

apt update && apt upgrade

ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ ๋ฐ ์—…๊ทธ๋ ˆ์ด๋“œ

dnf ๊ฐœ์„ ๋œ YUM (Fedora/RHEL ๊ณ„์—ด)
dnf install curl

ํŒจํ‚ค์ง€ ์„ค์น˜

dnf upgrade

ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ

rpm RPM ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž
rpm -ivh package.rpm

RPM ํŒจํ‚ค์ง€ ์„ค์น˜

rpm -e package

ํŒจํ‚ค์ง€ ์‚ญ์ œ (์ œ๊ฑฐ)

snap Snappy ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž
snap install app

์Šค๋ƒ… ์„ค์น˜

snap remove app

์Šค๋ƒ… ์ œ๊ฑฐ

yum Yellowdog Updater Modified (RHEL/CentOS)
yum install curl

ํŒจํ‚ค์ง€ ์„ค์น˜

yum remove curl

ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

๐Ÿ’ฝ ํŒŒ์ผ ์‹œ์Šคํ…œ

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

blkid ๋ธ”๋ก ์žฅ์น˜ ์†์„ฑ ์ฐพ๊ธฐ/์ถœ๋ ฅ
blkid

๋ธ”๋ก ์žฅ์น˜์™€ ์†์„ฑ ๋‚˜์—ด

df ํŒŒ์ผ ์‹œ์Šคํ…œ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ณด๊ณ 
df -Th

์œ ํ˜•๋ณ„ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ํฌ๊ธฐ ํ‘œ์‹œ

fsck ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒ€์‚ฌ ๋ฐ ๋ณต๊ตฌ
fsck /dev/sda1

์žฅ์น˜ ๊ฒ€์‚ฌ

lsblk ๋ธ”๋ก ์žฅ์น˜ ์ •๋ณด ๋‚˜์—ด
lsblk

ํŠธ๋ฆฌ ํ˜•์‹์œผ๋กœ ์žฅ์น˜ ๋‚˜์—ด

mkfs ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒ์„ฑ
mkfs.ext4 /dev/sdb1

ext4 ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒ์„ฑ

mount ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ
mount /dev/sdb1 /mnt

์žฅ์น˜๋ฅผ /mnt์— ๋งˆ์šดํŠธ

mount | grep /mnt

๊ฒฝ๋กœ๋กœ ํ•„ํ„ฐ๋ง๋œ ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ ํ‘œ์‹œ

parted ๋””์Šคํฌ ํŒŒํ‹ฐ์…˜ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ
parted /dev/sdb

๋””์Šคํฌ ์—ด์–ด ํŒŒํ‹ฐ์…˜ ๊ด€๋ฆฌ

umount ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ ํ•ด์ œ
umount /mnt

๋งˆ์šดํŠธ ์ง€์  ํ•ด์ œ

๐Ÿค– ์Šคํฌ๋ฆฝํŠธ์™€ ์ž๋™ํ™”

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

alias ์…ธ ๋ณ„์นญ ์ •์˜ ๋˜๋Š” ํ‘œ์‹œ
alias ll='ls -la'

ํŽธ๋ฆฌํ•œ ๋ณ„์นญ ๋งŒ๋“ค๊ธฐ

alias

์ •์˜๋œ ๋ณ„์นญ ๋‚˜์—ด

bash / sh ์…ธ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
bash script.sh

Bash๋กœ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰

sh script.sh

sh๋กœ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰

crontab ์‚ฌ์šฉ์ž๋ณ„ ํฌ๋ก  ํ…Œ์ด๋ธ”
crontab -e

ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ crontab ํŽธ์ง‘

read ์…ธ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ
read name

๋ณ€์ˆ˜์— ๊ฐ’ ์ฝ๊ธฐ

set ์…ธ ์˜ต์…˜/์œ„์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •
set -e

์ฒซ ๋ฒˆ์งธ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์ข…๋ฃŒ

source ํ˜„์žฌ ์…ธ์—์„œ ํŒŒ์ผ์˜ ๋ช…๋ น ์ฝ์–ด ์‹คํ–‰
source ~/.bashrc

์…ธ ์„ค์ • ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

trap ์‹œ๊ทธ๋„์„ ํฌ์ฐฉํ•ด ๋ช…๋ น ์‹คํ–‰
trap "echo 'exit'" EXIT

์…ธ ์ข…๋ฃŒ ์‹œ ๋ช…๋ น ์‹คํ–‰

๐Ÿ›  ๊ฐœ๋ฐœ ๋ฐ ๋””๋ฒ„๊น…

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

gcc GNU C ์ปดํŒŒ์ผ๋Ÿฌ
gcc main.c -o app

C ์†Œ์Šค ํŒŒ์ผ ์ปดํŒŒ์ผ

gdb GNU ๋””๋ฒ„๊ฑฐ
gdb ./app

์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ฒ„๊น…

git ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
git status

์ž‘์—… ํŠธ๋ฆฌ ์ƒํƒœ ํ‘œ์‹œ

git commit -m "msg"

๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•ด ์ปค๋ฐ‹

ltrace ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ ์ถ”์ ๊ธฐ
ltrace ./app

๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ ์ถ”์ 

make ํ”„๋กœ๊ทธ๋žจ ๊ทธ๋ฃน ์œ ์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ
make

Makefile์— ๋”ฐ๋ผ ๋นŒ๋“œ

shellcheck ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ •์  ๋ถ„์„
shellcheck script.sh

์…ธ ์Šคํฌ๋ฆฝํŠธ ๋ฆฐํŠธ

strace ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๋ฐ ์‹œ๊ทธ๋„ ์ถ”์ 
strace ./app

ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ถ”์ 

valgrind ๋™์  ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์œ„ํ•œ ๊ณ„์ธก ํ”„๋ ˆ์ž„์›Œํฌ
valgrind ./app

Valgrind์—์„œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

vim / nano ๋ช…๋ น์ค„ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ
vim file.sh

Vim์œผ๋กœ ํŽธ์ง‘

nano file.sh

Nano๋กœ ํŽธ์ง‘

๐Ÿ“Œ ๊ธฐํƒ€

๋ช…๋ น์–ด

์˜ˆ์‹œ

์„ค๋ช…

cal ๋‹ฌ๋ ฅ ํ‘œ์‹œ
cal 2025

์—ฐ๊ฐ„ ๋‹ฌ๋ ฅ ํ‘œ์‹œ

cal 08 2025

ํŠน์ • ์›” ํ‘œ์‹œ

date ์‹œ์Šคํ…œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ํ‘œ์‹œ ๋˜๋Š” ์„ค์ •
date +%T

ํ˜„์žฌ ์‹œ๊ฐ„ ์ถœ๋ ฅ (HH:MM:SS)

date -d "next friday"

์ƒ๋Œ€์ ์ธ ๋‚ ์งœ ์ถœ๋ ฅ

factor ์ •์ˆ˜ ์†Œ์ธ์ˆ˜ ๋ถ„ํ•ด
factor 100

์ˆซ์ž ์†Œ์ธ์ˆ˜ ๋ถ„ํ•ด

man ์˜จ๋ผ์ธ ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€ ํฌ๋งท ๋ฐ ํ‘œ์‹œ
man tar

man ํŽ˜์ด์ง€ ์—ด๊ธฐ

man -k copy

ํ‚ค์›Œ๋“œ๋กœ ๋งค๋‰ด์–ผ ๊ฒ€์ƒ‰

man 5 passwd

ํŠน์ • ๋งค๋‰ด์–ผ ์„น์…˜ ์—ด๊ธฐ

seq ์ˆซ์ž ์‹œํ€€์Šค ์ถœ๋ ฅ
seq 1 5

1๋ถ€ํ„ฐ 5๊นŒ์ง€ ์„ธ๊ธฐ

seq 1 2 9

๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ์„ธ๊ธฐ

seq -s ',' 1 5

์‚ฌ์šฉ์ž ์ง€์ • ๊ตฌ๋ถ„์ž๋กœ ์ˆซ์ž ์—ฐ๊ฒฐ

yes ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋ฌธ์ž์—ด ๋ฐ˜๋ณต ์ถœ๋ ฅ
yes | rm -r dir

์žฌ๊ท€ ์‚ญ์ œ ์ž๋™ ํ™•์ธ

๐Ÿ“š ์ถ”๊ฐ€ ์ž๋ฃŒ

๐Ÿ“˜ man ํŽ˜์ด์ง€ - ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋งค๋‰ด์–ผ:

man ls
man rm

๐Ÿ“™ TLDR - ์ธ๊ธฐ ๋ช…๋ น์–ด์˜ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ ์˜ˆ์ œ:

๐Ÿง  ํŒ: ์น˜ํŠธ์‹œํŠธ ์Šคํƒ€์ผ ๋„์›€๋ง์„ ์œ„ํ•ด tldr ์„ค์น˜:

sudo apt install tldr   # ๋˜๋Š”: npm install -g tldr
tldr tar                # tar ๋ช…๋ น์–ด์˜ ๊ฐ„๋‹จํ•œ ์š”์•ฝ ์˜ˆ์‹œ

๐ŸŒ ์œ ์šฉํ•œ ๋งํฌ

Linux man ํŽ˜์ด์ง€ ์˜จ๋ผ์ธ โ€” ๋ช…๋ น์–ด ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ๊ณต์‹ ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€:
https://man7.org/linux/man-pages/

๊ฐ„๋‹จํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„์˜ man ํŽ˜์ด์ง€ โ€” ์‹ค์šฉ์ ์ธ ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋œ ๋„์›€๋ง ํŽ˜์ด์ง€:
https://tldr.sh/