IT기초

λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄ λ”± 10개만 μ•Œλ©΄ μ„œλ²„ 운영 κ°€λŠ₯ν•˜λ‹€

πŸ₯„ν…Œν¬ ν•œ μŠ€ν‘Ό 2026. 5. 25. 16:47

λͺ©μ°¨

  1. λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄, λ‹€ μ™ΈμšΈ ν•„μš” μ—†λ‹€
  2. λͺ…λ Ήμ–΄ μ‚¬μš© μ „ μ•Œμ•„μ•Ό ν•  κΈ°λ³Έ κ·œμΉ™
  3. 핡심 λͺ…λ Ήμ–΄ 10개 μ™„μ „ 정볡
  4. λͺ…λ Ήμ–΄λ₯Ό μ‘°ν•©ν•˜λ©΄ 더 κ°•λ ₯ν•΄μ§„λ‹€
  5. 자주 λ°œμƒν•˜λŠ” μ‹€μˆ˜μ™€ 해결법
  6. 정리

1. λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄, λ‹€ μ™ΈμšΈ ν•„μš” μ—†λ‹€

μ„œλ²„λ₯Ό 처음 μ ‘ν•˜λŠ” 뢄듀이 κ°€μž₯ λ‘λ €μ›Œν•˜λŠ” 것 쀑 ν•˜λ‚˜κ°€ λ°”λ‘œ 검은 화면에 κΈ€μžλ§Œ κ°€λ“ν•œ ν„°λ―Έλ„μž…λ‹ˆλ‹€. λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄κ°€ 수백 κ°€μ§€κ°€ λ„˜λŠ”λ‹€λŠ” 이야기λ₯Ό λ“€μœΌλ©΄ 더 λ§‰λ§‰ν•˜κ²Œ λŠκ»΄μ§€κΈ°λ„ ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μ‹€μ œλ‘œ μ„œλ²„λ₯Ό μš΄μ˜ν•˜λ©΄μ„œ 반볡적으둜 μ‚¬μš©ν•˜λŠ” λͺ…λ Ήμ–΄λŠ” 생각보닀 λ§Žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 핡심 λͺ…λ Ήμ–΄ 10개만 ν™•μ‹€νžˆ μ΅ν˜€λ‘λ©΄, 기본적인 μ„œλ²„ 관리 μ—…λ¬΄μ˜ 80% 이상을 ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이 κΈ€μ—μ„œλŠ” 처음 μ„œλ²„λ₯Ό λ‹€λ£¨λŠ” 뢄듀을 μœ„ν•΄ κΌ­ μ•Œμ•„μ•Ό ν•  λͺ…λ Ήμ–΄ 10개λ₯Ό μ‹€μš©μ μΈ μ˜ˆμ‹œμ™€ ν•¨κ»˜ μ„€λͺ…λ“œλ¦½λ‹ˆλ‹€.

2. λͺ…λ Ήμ–΄ μ‚¬μš© μ „ μ•Œμ•„μ•Ό ν•  κΈ°λ³Έ κ·œμΉ™

λͺ…λ Ήμ–΄λ₯Ό 배우기 전에 ν„°λ―Έλ„μ˜ κΈ°λ³Έ κ·œμΉ™ λͺ‡ κ°€μ§€λ₯Ό μ•Œμ•„λ‘λ©΄ 훨씬 μ΄ν•΄ν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€.

ν”„λ‘¬ν”„νŠΈ(prompt) μ½λŠ” 법

ν„°λ―Έλ„μ—μ„œ ubuntu@myserver:~$ ν˜•νƒœμ˜ ν”„λ‘¬ν”„νŠΈκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. 맨 μ•žμ€ ν˜„μž¬ μ‚¬μš©μž 이름(ubuntu), κ·Έ λ‹€μŒμ€ μ„œλ²„ 이름(myserver), 콜둠 λ’€λŠ” ν˜„μž¬ μœ„μΉ˜(~λŠ” ν™ˆ 디렉토리), λ§ˆμ§€λ§‰ κΈ°ν˜Έκ°€ $이면 일반 μ‚¬μš©μž, #이면 root κ³„μ •μž…λ‹ˆλ‹€.

sudoλž€? sudoλŠ” "κ΄€λ¦¬μž κΆŒν•œμœΌλ‘œ μ‹€ν–‰"을 μ˜λ―Έν•©λ‹ˆλ‹€. μ‹œμŠ€ν…œ 섀정을 λ³€κ²½ν•˜κ±°λ‚˜ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•  λ•Œ μ•žμ— λΆ™μ—¬μ•Ό ν•©λ‹ˆλ‹€. 예: sudo apt install nginx

경둜 ν‘œκΈ°λ²•

  • / 둜 μ‹œμž‘ν•˜λ©΄ μ ˆλŒ€ 경둜 (예: /var/www/html)
  • ./ 둜 μ‹œμž‘ν•˜λ©΄ ν˜„μž¬ μœ„μΉ˜ κΈ°μ€€ μƒλŒ€ 경둜
  • ~ λŠ” ν™ˆ 디렉토리 (예: ~/downloads = /home/ubuntu/downloads)

3. 핡심 λͺ…λ Ήμ–΄ 10개 μ™„μ „ 정볡

λͺ…λ Ήμ–΄ 1. pwd – ν˜„μž¬ μœ„μΉ˜ 확인

Print Working Directory의 μ•½μžλ‘œ, ν˜„μž¬ λ‚΄κ°€ μ–΄λ”” μžˆλŠ”μ§€ 전체 경둜λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

pwd

μ„œλ²„μ—μ„œ μž‘μ—…ν•˜λ‹€ 보면 ν˜„μž¬ μœ„μΉ˜λ₯Ό μžŠμ–΄λ²„λ¦¬κΈ° μ‰½μŠ΅λ‹ˆλ‹€. ν—·κ°ˆλ¦΄ λ•Œλ§ˆλ‹€ pwdλ₯Ό μž…λ ₯ν•˜λŠ” μŠ΅κ΄€μ„ 듀이면 μ’‹μŠ΅λ‹ˆλ‹€.

λͺ…λ Ήμ–΄ 2. ls – 파일 및 폴더 λͺ©λ‘ 보기

List의 μ•½μžλ‘œ, ν˜„μž¬ μœ„μΉ˜μ˜ 파일과 폴더 λͺ©λ‘μ„ λ³΄μ—¬μ€λ‹ˆλ‹€. κΈ°λ³Έ λͺ©λ‘μ€ μ•„λž˜μ™€ 같이 μž…λ ₯ν•©λ‹ˆλ‹€.

ls

상세 정보(크기, κΆŒν•œ, λ‚ μ§œ)λ₯Ό ν¬ν•¨ν•΄μ„œ 보렀면 -l μ˜΅μ…˜μ„ λΆ™μž…λ‹ˆλ‹€.

ls -l

μˆ¨κΉ€ 파일(.으둜 μ‹œμž‘ν•˜λŠ” 파일)κΉŒμ§€ ν¬ν•¨ν•΄μ„œ 보렀면 -al μ˜΅μ…˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

ls -al

μ„œλ²„μ—μ„œ κ°€μž₯ 많이 μ“°λŠ” μ˜΅μ…˜μ€ ls -alμž…λ‹ˆλ‹€. 파일 κΆŒν•œ, μ†Œμœ μž, 크기, μˆ˜μ • λ‚ μ§œκΉŒμ§€ ν•œ λ²ˆμ— 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ…λ Ήμ–΄ 3. cd – 폴더 이동

Change Directory의 μ•½μžμž…λ‹ˆλ‹€. μ ˆλŒ€ 경둜둜 이동할 λ•ŒλŠ” μ•„λž˜μ™€ 같이 μž…λ ₯ν•©λ‹ˆλ‹€.

cd /var/www/html

ν˜„μž¬ μœ„μΉ˜μ˜ ν•˜μœ„ ν΄λ”λ‘œ 이동할 λ•Œμž…λ‹ˆλ‹€.

cd myproject

μƒμœ„ ν΄λ”λ‘œ 이동할 λ•ŒλŠ” ..을 μ‚¬μš©ν•©λ‹ˆλ‹€.

cd ..

ν™ˆ λ””λ ‰ν† λ¦¬λ‘œ λ°”λ‘œ μ΄λ™ν•˜λ €λ©΄ ~λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

cd ~

λͺ…λ Ήμ–΄ 4. mkdir – 폴더 λ§Œλ“€κΈ°

Make Directory의 μ•½μžμž…λ‹ˆλ‹€.

mkdir myproject

쀑간 폴더가 없어도 ν•œ λ²ˆμ— μƒμ„±ν•˜λ €λ©΄ -p μ˜΅μ…˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

mkdir -p a/b/c

λͺ…λ Ήμ–΄ 5. rm – 파일 및 폴더 μ‚­μ œ

Remove의 μ•½μžμž…λ‹ˆλ‹€. μ‚­μ œλœ νŒŒμΌμ€ νœ΄μ§€ν†΅ 없이 λ°”λ‘œ 영ꡬ μ‚­μ œλ˜λ―€λ‘œ μ‹ μ€‘ν•˜κ²Œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

νŒŒμΌμ„ μ‚­μ œν•  λ•Œμž…λ‹ˆλ‹€.

rm 파일λͺ…

폴더와 λ‚΄μš©μ„ λͺ¨λ‘ μ‚­μ œν•  λ•ŒλŠ” -r μ˜΅μ…˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

rm -r 폴더λͺ…

rm -rf / 처럼 잘λͺ»λœ 경둜λ₯Ό μž…λ ₯ν•˜λ©΄ μ„œλ²„ 전체가 μ‚­μ œλ  수 μžˆμœΌλ―€λ‘œ, -rf μ˜΅μ…˜μ€ 항상 경둜λ₯Ό 두 번 ν™•μΈν•˜κ³  μ‹€ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λͺ…λ Ήμ–΄ 6. cat – 파일 λ‚΄μš© 보기

Concatenate의 μ•½μžλ‘œ, 파일 λ‚΄μš©μ„ 터미널에 λ°”λ‘œ 좜λ ₯ν•©λ‹ˆλ‹€.

cat config.txt

파일이 κΈΈ 경우 less λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜λ©΄ νŽ˜μ΄μ§€ λ‹¨μœ„λ‘œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. λ°©ν–₯ν‚€λ‘œ μŠ€ν¬λ‘€ν•˜κ³  q둜 μ’…λ£Œν•©λ‹ˆλ‹€.

less /var/log/nginx/access.log

λͺ…λ Ήμ–΄ 7. cp / mv – 볡사 및 이동

νŒŒμΌμ„ 볡사할 λ•ŒλŠ” cpλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

cp μ›λ³ΈνŒŒμΌ λ³΅μ‚¬λ³ΈνŒŒμΌ

ν΄λ”μ§Έλ‘œ 볡사할 λ•ŒλŠ” -r μ˜΅μ…˜μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

cp -r 원본폴더/ 볡사본폴더/

파일 이름을 λ³€κ²½ν•˜κ±°λ‚˜ λ‹€λ₯Έ μœ„μΉ˜λ‘œ 이동할 λ•ŒλŠ” mvλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

mv 파일λͺ… μƒˆνŒŒμΌλͺ… mv 파일λͺ… /var/www/html/

λͺ…λ Ήμ–΄ 8. nano – 파일 νŽΈμ§‘

μ„œλ²„μ—μ„œ νŒŒμΌμ„ 직접 νŽΈμ§‘ν•  λ•Œ μ΄ˆλ³΄μžμ—κ²Œ κ°€μž₯ μ‰¬μš΄ μ—λ””ν„°λŠ” nanoμž…λ‹ˆλ‹€.

nano 파일λͺ…

μ‹œμŠ€ν…œ νŒŒμΌμ„ νŽΈμ§‘ν•  λ•ŒλŠ” sudoλ₯Ό μ•žμ— λΆ™μž…λ‹ˆλ‹€.

sudo nano /etc/hosts

nano μ‹€ν–‰ ν›„ νŽΈμ§‘μ΄ λλ‚˜λ©΄ Ctrl + X → Y → Enter μˆœμ„œλ‘œ μ €μž₯ν•˜κ³  μ’…λ£Œν•©λ‹ˆλ‹€.

λͺ…λ Ήμ–΄ 9. systemctl – μ„œλΉ„μŠ€ 관리

μ„œλ²„μ—μ„œ μ‹€ν–‰ 쀑인 μ„œλΉ„μŠ€(Nginx, MySQL λ“±)λ₯Ό μ‹œμž‘, 쀑지, μž¬μ‹œμž‘ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

μ„œλΉ„μŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.

sudo systemctl start nginx

μ„œλΉ„μŠ€λ₯Ό μ€‘μ§€ν•©λ‹ˆλ‹€.

sudo systemctl stop nginx

μ„œλΉ„μŠ€λ₯Ό μž¬μ‹œμž‘ν•©λ‹ˆλ‹€.

sudo systemctl restart nginx

ν˜„μž¬ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

sudo systemctl status nginx

μ„œλ²„ μž¬λΆ€νŒ… μ‹œ μžλ™ μ‹œμž‘μ„ λ“±λ‘ν•©λ‹ˆλ‹€.

sudo systemctl enable nginx

μ„œλ²„λ₯Ό μš΄μ˜ν•˜λ‹€ 보면 systemctl restart와 systemctl statusλ₯Ό κ°€μž₯ 자주 μ‚¬μš©ν•˜κ²Œ λ©λ‹ˆλ‹€.

λͺ…λ Ήμ–΄ 10. tail – 둜그 μ‹€μ‹œκ°„ 확인

둜그 파일의 졜근 λ‚΄μš©μ„ ν™•μΈν•˜κ±°λ‚˜, μ‹€μ‹œκ°„μœΌλ‘œ μ—…λ°μ΄νŠΈλ˜λŠ” 둜그λ₯Ό λͺ¨λ‹ˆν„°λ§ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. λ§ˆμ§€λ§‰ 50쀄을 좜λ ₯ν•˜λ €λ©΄ μ•„λž˜μ™€ 같이 μž…λ ₯ν•©λ‹ˆλ‹€.

tail -n 50 /var/log/nginx/error.log

μ‹€μ‹œκ°„μœΌλ‘œ 둜그λ₯Ό λͺ¨λ‹ˆν„°λ§ν•  λ•ŒλŠ” -f μ˜΅μ…˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

tail -f /var/log/nginx/access.log

μ„œλ²„μ—μ„œ 였λ₯˜κ°€ 났을 λ•Œ κ°€μž₯ λ¨Όμ € μ‹€ν–‰ν•˜λŠ” λͺ…λ Ήμ–΄ 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. Ctrl + C둜 λͺ¨λ‹ˆν„°λ§μ„ μ’…λ£Œν•©λ‹ˆλ‹€.

4. λͺ…λ Ήμ–΄λ₯Ό μ‘°ν•©ν•˜λ©΄ 더 κ°•λ ₯ν•΄μ§„λ‹€

λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄λŠ” νŒŒμ΄ν”„(|)둜 μ—°κ²°ν•΄μ„œ μ‘°ν•©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. νŒŒμ΄ν”„λŠ” μ•ž λͺ…λ Ήμ–΄μ˜ κ²°κ³Όλ₯Ό λ’€ λͺ…λ Ήμ–΄μ˜ μž…λ ₯으둜 λ„˜κ²¨μ€λ‹ˆλ‹€.

λ‘œκ·Έμ—μ„œ "error"κ°€ ν¬ν•¨λœ μ€„λ§Œ ν•„ν„°λ§ν•΄μ„œ λ³΄λŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.

cat /var/log/nginx/error.log | grep "error"

ν˜„μž¬ ν΄λ”μ˜ 파일 쀑 .conf ν™•μž₯자만 λ³΄λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

ls -al | grep ".conf"

μ‹€μ‹œκ°„ λ‘œκ·Έμ—μ„œ νŠΉμ • IP μ ‘μ†λ§Œ λͺ¨λ‹ˆν„°λ§ν•  λ•Œμž…λ‹ˆλ‹€.

tail -f access.log | grep "123.45.67.89"

5. 자주 λ°œμƒν•˜λŠ” μ‹€μˆ˜μ™€ 해결법

Permission denied 였λ₯˜ κΆŒν•œμ΄ μ—†λŠ” νŒŒμΌμ΄λ‚˜ 폴더에 μ ‘κ·Όν•  λ•Œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. μ•žμ— sudoλ₯Ό λΆ™μ—¬ μ‹€ν–‰ν•˜λ©΄ ν•΄κ²°λ˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.

command not found 였λ₯˜ ν•΄λ‹Ή ν”„λ‘œκ·Έλž¨μ΄ μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•Šκ±°λ‚˜ λͺ…λ Ήμ–΄ μ² μžκ°€ 틀렸을 λ•Œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. sudo apt install ν”„λ‘œκ·Έλž¨λͺ…μœΌλ‘œ μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

No such file or directory 였λ₯˜ μž…λ ₯ν•œ κ²½λ‘œλ‚˜ 파일λͺ…이 μ‘΄μž¬ν•˜μ§€ μ•Šμ„ λ•Œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. ls둜 파일 λͺ©λ‘μ„ ν™•μΈν•˜κ³  경둜λ₯Ό λ‹€μ‹œ μž…λ ₯ν•΄ λ³΄μ„Έμš”.

6. 정리

였늘 배운 10개의 핡심 λͺ…λ Ήμ–΄λ₯Ό ν•œλˆˆμ— μ •λ¦¬ν•©λ‹ˆλ‹€.

λͺ…λ Ήμ–΄κΈ°λŠ₯
pwd ν˜„μž¬ μœ„μΉ˜ 확인
ls 파일·ν΄λ” λͺ©λ‘ 보기
cd 폴더 이동
mkdir 폴더 생성
rm 파일·ν΄λ” μ‚­μ œ
cat / less 파일 λ‚΄μš© 보기
cp / mv 볡사·μ΄λ™·μ΄λ¦„λ³€κ²½
nano 파일 νŽΈμ§‘
systemctl μ„œλΉ„μŠ€ 관리
tail 둜그 확인

이 10개 λͺ…λ Ήμ–΄λ₯Ό 직접 νƒ€μ΄ν•‘ν•˜λ©° μ—°μŠ΅ν•˜λŠ” 것이 κ°€μž₯ λΉ λ₯Έ λ°©λ²•μž…λ‹ˆλ‹€.