Linux (Cent OS 7) ๊ธฐ์ดˆ

Acorn Academy ๊ตฌ๋ผ์Œคยท2025๋…„ 4์›” 15์ผ

๐Ÿ“‚ Linux ๋ช…๋ น์–ด ์ •๋ฆฌ: ls์™€ cd


๐Ÿ“ ls : ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ ๋‚˜์—ด

๐Ÿ”น ์—ญํ• 

  • ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ํŒŒ์ผ ๋ฐ ํด๋” ๋ชฉ๋ก์„ ๋ณด์—ฌ์คŒ

โœ… ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

ls [์˜ต์…˜] [๊ฒฝ๋กœ]

๐Ÿ“Œ ์˜ˆ์‹œ

ls              # ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชฉ๋ก
ls /home/user   # ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ๋ชฉ๋ก ์ถœ๋ ฅ

๐Ÿ› ๏ธ ์ž์ฃผ ์“ฐ๋Š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-l์ž์„ธํ•œ ์ •๋ณด ํ‘œ์‹œ (ํŒŒ์ผ ํฌ๊ธฐ, ๊ถŒํ•œ, ์ˆ˜์ •์ผ ๋“ฑ)
-a์ˆจ๊น€ ํŒŒ์ผ ํฌํ•จ (์˜ˆ: .bashrc)
-h์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ํฌ๊ธฐ๋กœ ํ‘œ์‹œ (-l๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ)
-t์ˆ˜์ • ์‹œ๊ฐ„ ์ˆœ์œผ๋กœ ์ •๋ ฌ
-r์—ญ์ˆœ ์ •๋ ฌ
-Rํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ์žฌ๊ท€์ ์œผ๋กœ ์ถœ๋ ฅ

๐Ÿ“Œ ์˜ˆ์‹œ - ์˜ต์…˜ ์กฐํ•ฉ

ls -la          # ์ˆจ๊น€ ํŒŒ์ผ ํฌํ•จ + ์ƒ์„ธ ์ •๋ณด
ls -lh          # ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ์šฉ๋Ÿ‰์œผ๋กœ ํ‘œ์‹œ
ls -ltr         # ์˜ค๋ž˜๋œ ์ˆœ์œผ๋กœ ์ •๋ ฌ

๐Ÿ“‚ cd : ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

๐Ÿ”น ์—ญํ• 

  • ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ(Working Directory)๋ฅผ ๋ณ€๊ฒฝ

โœ… ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

cd [๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ]

๐Ÿ“Œ ์˜ˆ์‹œ

cd /home/user           # ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ด๋™
cd Documents            # ์ƒ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ด๋™
cd ..                   # ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
cd ~                    # ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
cd                      # ์•„๋ฌด ๊ฒฝ๋กœ ์—†์ด ์ž…๋ ฅํ•˜๋ฉด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

๐Ÿ“Œ ๊ด€๋ จ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์„ค๋ช…
pwdํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ์ถœ๋ ฅ
ls๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ๋‚ด์šฉ ๋‚˜์—ด
cd๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

โœ… ์‹ค์ „ ์˜ˆ์‹œ

pwd                    # ํ˜„์žฌ ๊ฒฝ๋กœ ํ™•์ธ
ls -al /etc            # /etc ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ „์ฒด ๋ชฉ๋ก ๋ณด๊ธฐ
cd /var/log            # ๋กœ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
ls -lh                 # ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ํ˜•์‹์œผ๋กœ ๋ชฉ๋ก ๋ณด๊ธฐ
cd ..                  # ํ•œ ๋‹จ๊ณ„ ์œ„๋กœ ์ด๋™

๐Ÿ“ ์ฐธ๊ณ 

  • cd๋Š” ์‰˜ ๋‚ด์žฅ ๋ช…๋ น์–ด์ด๋ฉฐ, ls๋Š” ์™ธ๋ถ€ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
  • ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ~๋กœ, ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋Š” .๋กœ, ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ..์œผ๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ Linux ๋ช…๋ น์–ด: mkdir (๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ)


๐Ÿงฑ mkdir : Make Directory

๐Ÿ”น ์—ญํ• 

  • ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ(ํด๋”)๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ

โœ… ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

mkdir [์˜ต์…˜] ๋””๋ ‰ํ† ๋ฆฌ๋ช…

๐Ÿ“Œ ๊ธฐ๋ณธ ์˜ˆ์‹œ

mkdir myfolder         # ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— 'myfolder' ์ƒ์„ฑ
mkdir /home/user/test  # ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

๐Ÿ› ๏ธ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-p์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด ์ž๋™์œผ๋กœ ํ•จ๊ป˜ ์ƒ์„ฑ (๋ถ€๋ชจ ๋””๋ ‰ํ† ๋ฆฌ ํฌํ•จ)
-v์ƒ์„ฑ ๊ณผ์ •์„ ์ถœ๋ ฅ (verbose)
--mode=777์ƒ์„ฑ๋  ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ถŒํ•œ์„ ์ง€์ •

๐Ÿ“Œ ์˜ˆ์‹œ - ์‹ค์ „ ์‚ฌ์šฉ

mkdir project                # ๋‹จ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
mkdir project1 project2      # ์—ฌ๋Ÿฌ ๋””๋ ‰ํ† ๋ฆฌ ํ•œ ๋ฒˆ์— ์ƒ์„ฑ
mkdir -p a/b/c               # ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ์ž๋™ ์ƒ์„ฑ
mkdir -v newdir              # ์ƒ์„ฑ ๊ฒฐ๊ณผ ์ถœ๋ ฅ
mkdir --mode=755 myapp       # ๊ถŒํ•œ ์ง€์ •ํ•˜์—ฌ ์ƒ์„ฑ

๐Ÿ“ ์ฐธ๊ณ  ์‚ฌํ•ญ

  • mkdir๋กœ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • -p ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์กด์žฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ผ๋„ ๋ฌด์‹œํ•˜๊ณ  ๋„˜์–ด๊ฐ (์˜ค๋ฅ˜ ์—†์Œ)
  • ๊ถŒํ•œ ์„ค์ •์€ chmod ๋ช…๋ น์–ด๋กœ ๋‚˜์ค‘์— ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅ

โœ… ๊ด€๋ จ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์„ค๋ช…
rmdir๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
rm -r๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํ•˜์œ„ ํ•ญ๋ชฉ๊นŒ์ง€ ์‚ญ์ œ
ls๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ ๋ณด๊ธฐ

๐ŸŽฏ ์‹ค์Šต ์˜ˆ์ œ

mkdir -p ~/work/project1/src      # ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜ ๊ฒฝ๋กœ ์ „์ฒด ์ƒ์„ฑ
ls -l ~/work/project1             # ์ƒ์„ฑ๋œ ํด๋” ๊ตฌ์กฐ ํ™•์ธ

๐Ÿ“ Linux ๋ช…๋ น์–ด: vi (๋˜๋Š” vim) ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ ์‚ฌ์šฉ๋ฒ•


๐Ÿ“š vi ๋ž€?

  • Unix/Linux ๊ธฐ๋ณธ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ
  • ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ฐ˜์—์„œ ํŒŒ์ผ์„ ์—ด๊ณ  ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ณ ๊ธ‰ ๋ฒ„์ „: vim (Vi IMproved)

โœ… ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

vi [์˜ต์…˜] ํŒŒ์ผ๋ช…

๐Ÿ“Œ ์˜ˆ์‹œ

vi memo.txt         # memo.txt ํŒŒ์ผ ์—ด๊ธฐ (์—†์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑ)
vi /etc/hosts       # ์‹œ์Šคํ…œ ํŒŒ์ผ ํŽธ์ง‘ (root ๊ถŒํ•œ ํ•„์š”)

๐Ÿšฆ ๊ธฐ๋ณธ ๋ชจ๋“œ 3๊ฐ€์ง€

๋ชจ๋“œ์„ค๋ช…์ „ํ™˜ ๋ฐฉ๋ฒ•
๋ช…๋ น ๋ชจ๋“œ๊ธฐ๋ณธ ์ƒํƒœ, ๋ช…๋ น ์ž…๋ ฅEsc
์ž…๋ ฅ ๋ชจ๋“œ๊ธ€์ž ์ž…๋ ฅi, a, o ๋“ฑ
๋งˆ์ง€๋ง‰ ์ค„ ๋ชจ๋“œ์ €์žฅ, ์ข…๋ฃŒ ๋“ฑ ๋ช…๋ น: ํ‚ค

๐Ÿ–‹ ์ž…๋ ฅ ๋ชจ๋“œ๋กœ ์ „ํ™˜

๋ช…๋ น์„ค๋ช…
iํ˜„์žฌ ์œ„์น˜์—์„œ ์ž…๋ ฅ ์‹œ์ž‘
aํ˜„์žฌ ์œ„์น˜ ๋‹ค์Œ์—์„œ ์ž…๋ ฅ ์‹œ์ž‘
o๋‹ค์Œ ์ค„์—์„œ ์ƒˆ ์ค„ ์ž…๋ ฅ ์‹œ์ž‘

๐Ÿ’พ ์ €์žฅ ๋ฐ ์ข…๋ฃŒ (๋งˆ์ง€๋ง‰ ์ค„ ๋ชจ๋“œ์—์„œ)

๋ช…๋ น์„ค๋ช…
:w์ €์žฅ (write)
:q์ข…๋ฃŒ (quit)
:wq ๋˜๋Š” ZZ์ €์žฅ ํ›„ ์ข…๋ฃŒ
:q!์ €์žฅ ์—†์ด ๊ฐ•์ œ ์ข…๋ฃŒ

โœ‚๏ธ ๋ช…๋ น ๋ชจ๋“œ์—์„œ์˜ ์ฃผ์š” ๋ช…๋ น์–ด

๋ช…๋ น์„ค๋ช…
ddํ˜„์žฌ ์ค„ ์‚ญ์ œ
yyํ˜„์žฌ ์ค„ ๋ณต์‚ฌ (yank)
p๋ถ™์—ฌ๋„ฃ๊ธฐ (paste)
x์ปค์„œ ์œ„์น˜์˜ ๋ฌธ์ž ์‚ญ์ œ
u์‹คํ–‰ ์ทจ์†Œ (undo)
/๋ฌธ์ž์—ด๋ฌธ์ž์—ด ๊ฒ€์ƒ‰
n๋‹ค์Œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ์ด๋™
GํŒŒ์ผ ๋์œผ๋กœ ์ด๋™
ggํŒŒ์ผ ์ฒ˜์Œ์œผ๋กœ ์ด๋™

โœ… ์‹ค์Šต ์˜ˆ์‹œ

  1. ํŒŒ์ผ ์—ด๊ธฐ
vi memo.txt
  1. ์ž…๋ ฅ ๋ชจ๋“œ๋กœ ์ „ํ™˜
  • i ๋ˆ„๋ฅด๊ณ  ๋‚ด์šฉ ์ž…๋ ฅ
  1. ์ €์žฅ ๋ฐ ์ข…๋ฃŒ
  • Esc โ†’ :wq โ†’ Enter

๐Ÿ“ ์ฐธ๊ณ  ํŒ

  • ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๋‚˜๊ฐ€๋ ค๋ฉด: Esc โ†’ :q! โ†’ Enter
  • vi๋Š” ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐ ์ตœ์ ํ™”๋จ
  • vim์€ ๋ฌธ๋ฒ• ๊ฐ•์กฐ, ํŽธ๋ฆฌํ•œ ํƒ์ƒ‰ ๋“ฑ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ ์ œ๊ณต

๐Ÿ”— ๊ด€๋ จ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์„ค๋ช…
nano๋” ์‰ฌ์šด ํŽธ์ง‘๊ธฐ
cat / lessํŒŒ์ผ ๋‚ด์šฉ ๋ณด๊ธฐ ์ „์šฉ
vimvi์˜ ํ–ฅ์ƒ๋œ ๋ฒ„์ „ (๋Œ€๋ถ€๋ถ„ ์‹œ์Šคํ…œ์— ์„ค์น˜๋˜์–ด ์žˆ์Œ)

๐Ÿ”„ Linux ๋ช…๋ น์–ด: yum ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ


๐Ÿฝ๏ธ yum ์ด๋ž€?

  • RHEL, CentOS, Amazon Linux ๋“ฑ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž
  • rpm ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์น˜, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ, ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ
  • ์ž๋™ ์˜์กด์„ฑ ํ•ด๊ฒฐ ๊ธฐ๋Šฅ ํฌํ•จ

โœ… ์‹œ์Šคํ…œ ์ „์ฒด ์—…๋ฐ์ดํŠธ

๐Ÿ“Œ ์ „์ฒด ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ

sudo yum update
  • ์„ค์น˜๋œ ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ
  • ์ปค๋„๊นŒ์ง€ ํฌํ•จ๋˜๋ฏ€๋กœ ์žฌ๋ถ€ํŒ…์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์Œ

๐Ÿ”„ ํŠน์ • ํŒจํ‚ค์ง€๋งŒ ์—…๋ฐ์ดํŠธ

๐Ÿ“Œ ํŠน์ • ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ

sudo yum update ํŒจํ‚ค์ง€๋ช…

์˜ˆ:

sudo yum update httpd
  • httpd ํŒจํ‚ค์ง€๋งŒ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

๐Ÿ› ๏ธ ๊ด€๋ จ ์˜ต์…˜ ์ •๋ฆฌ

์˜ต์…˜์„ค๋ช…
-y์‚ฌ์šฉ์ž ํ™•์ธ ์—†์ด ์ž๋™ ์ง„ํ–‰ (yes ์ž๋™ ์‘๋‹ต)
--security๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋งŒ ์„ค์น˜
--exclude=ํŒจํ„ดํŠน์ • ํŒจํ‚ค์ง€๋Š” ์ œ์™ธํ•˜๊ณ  ์—…๋ฐ์ดํŠธ
--skip-broken์†์ƒ๋œ ์˜์กด์„ฑ ๋ฌด์‹œํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋งŒ ์—…๋ฐ์ดํŠธ

โœ… ์˜ˆ์‹œ

sudo yum update -y                    # ์ž๋™ ์‘๋‹ต์œผ๋กœ ์ „์ฒด ์—…๋ฐ์ดํŠธ
sudo yum update --security           # ๋ณด์•ˆ ๊ด€๋ จ ์—…๋ฐ์ดํŠธ๋งŒ
sudo yum update --exclude=kernel*    # ์ปค๋„์€ ์ œ์™ธํ•˜๊ณ  ์—…๋ฐ์ดํŠธ

๐Ÿงพ ์—…๋ฐ์ดํŠธ ์ „ ์ •๋ณด ํ™•์ธ

๐Ÿ“Œ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅํ•œ ๋ชฉ๋ก ํ™•์ธ

yum check-update

๐Ÿ“Œ ํŠน์ • ํŒจํ‚ค์ง€ ์ •๋ณด ํ™•์ธ

yum info ํŒจํ‚ค์ง€๋ช…

๐Ÿงผ ์บ์‹œ ์ •๋ฆฌ

sudo yum clean all
  • ๋‹ค์šด๋กœ๋“œ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ์บ์‹œ ์‚ญ์ œ
  • ์ €์žฅ์†Œ๋ฅผ ์žฌ๊ฒ€์‚ฌํ•  ๋•Œ ์œ ์šฉ

๐Ÿ”— ๊ด€๋ จ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์„ค๋ช…
yum install ํŒจํ‚ค์ง€์ƒˆ ํŒจํ‚ค์ง€ ์„ค์น˜
yum remove ํŒจํ‚ค์ง€ํŒจํ‚ค์ง€ ์‚ญ์ œ
yum list installed์„ค์น˜๋œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก
yum history์„ค์น˜/์—…๋ฐ์ดํŠธ ์ด๋ ฅ ํ™•์ธ

๐Ÿง Linux ๋ช…๋ น์–ด: mv์™€ cp ์ •๋ฆฌ


๐Ÿ“ฆ mv (move ๋˜๋Š” rename)

๐Ÿ”น ์—ญํ• 

  • ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉ
  • ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„ ๋ณ€๊ฒฝ ์‹œ์—๋„ ์‚ฌ์šฉ

โœ… ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

mv [์˜ต์…˜] ์›๋ณธ ๋Œ€์ƒ

๐Ÿ“Œ ์˜ˆ์‹œ

mv file1.txt /home/user/docs/     # file1.txt ๋ฅผ docs ํด๋”๋กœ ์ด๋™
mv file1.txt file2.txt            # file1.txt ์˜ ์ด๋ฆ„์„ file2.txt ๋กœ ๋ณ€๊ฒฝ

๐Ÿ› ๏ธ ์ž์ฃผ ์“ฐ๋Š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-i๋Œ€์ƒ ํŒŒ์ผ์ด ์žˆ์„ ๊ฒฝ์šฐ ๋ฎ์–ด์“ฐ๊ธฐ ์ „์— ๋ฌผ์–ด๋ด„ (interactively)
-f๊ฐ•์ œ๋กœ ๋ฎ์–ด์“ฐ๊ธฐ, ๋ฌผ์–ด๋ณด์ง€ ์•Š์Œ (force)
-u๋Œ€์ƒ๋ณด๋‹ค ์ƒˆ ํŒŒ์ผ๋งŒ ์ด๋™ํ•จ (update)
-v์ˆ˜ํ–‰ ๋‚ด์šฉ์„ ์ž์„ธํžˆ ์ถœ๋ ฅํ•จ (verbose)

๐Ÿ“Œ ์˜ˆ์‹œ - ์˜ต์…˜ ์‚ฌ์šฉ

mv -i report.txt backup/report.txt    # ๊ธฐ์กด ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ๋ฎ์–ด์“ฐ๊ธฐ ์ „์— ๋ฌผ์–ด๋ด„
mv -v *.txt /tmp/                     # txt ํŒŒ์ผ๋“ค ์ด๋™ํ•˜๋ฉฐ ์ถœ๋ ฅํ•จ

๐Ÿ“„ cp (copy)

๐Ÿ”น ์—ญํ• 

  • ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณต์‚ฌํ•  ๋•Œ ์‚ฌ์šฉ

โœ… ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

cp [์˜ต์…˜] ์›๋ณธ ๋Œ€์ƒ

๐Ÿ“Œ ์˜ˆ์‹œ

cp file1.txt file2.txt          # file1.txt๋ฅผ file2.txt๋กœ ๋ณต์‚ฌ
cp file1.txt /home/user/        # file1.txt๋ฅผ ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ณต์‚ฌ

๐Ÿ› ๏ธ ์ž์ฃผ ์“ฐ๋Š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-r ๋˜๋Š” -R๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ๋ณต์‚ฌ (recursive)
-i๋Œ€์ƒ์ด ์กด์žฌํ•˜๋ฉด ๋ฎ์–ด์“ฐ๊ธฐ ์ „์— ๋ฌผ์–ด๋ด„
-f๊ฐ•์ œ๋กœ ๋ฎ์–ด์“ฐ๊ธฐ
-u๋Œ€์ƒ๋ณด๋‹ค ์ƒˆ ํŒŒ์ผ๋งŒ ๋ณต์‚ฌ
-v๋ณต์‚ฌ ๊ณผ์ •์„ ์ž์„ธํžˆ ์ถœ๋ ฅ
-a๋ณด์กด ๋ชจ๋“œ๋กœ ๋ชจ๋“  ์†์„ฑ ํฌํ•จ (๋””๋ ‰ํ† ๋ฆฌ + ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋“ฑ ํฌํ•จ, -Rdp์™€ ์œ ์‚ฌ)

๐Ÿ“Œ ์˜ˆ์‹œ - ๋””๋ ‰ํ† ๋ฆฌ ๋ณต์‚ฌ

cp -r project1/ backup/         # project1 ๋””๋ ‰ํ† ๋ฆฌ ์ „์ฒด๋ฅผ backup ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌ
cp -a mydir /mnt/backup/        # ์†์„ฑ๊นŒ์ง€ ๋ชจ๋‘ ์œ ์ง€ํ•˜๋ฉฐ ๋ณต์‚ฌ (๋ณด์กด ๋ชจ๋“œ)

๐Ÿ“Œ mv vs cp ์ฐจ์ด์  ์ •๋ฆฌ

๊ตฌ๋ถ„mvcp
๋™์ž‘์ด๋™ ๋˜๋Š” ์ด๋ฆ„ ๋ณ€๊ฒฝ๋ณต์‚ฌ
์›๋ณธ ํŒŒ์ผ์‚ญ์ œ๋จ์œ ์ง€๋จ
์†๋„์ผ๋ฐ˜์ ์œผ๋กœ ๋น ๋ฆ„์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆด ์ˆ˜ ์žˆ์Œ (ํŒŒ์ผ ํฌ๊ธฐ์— ๋”ฐ๋ผ)

๐Ÿ“ฆ Linux tar ๋ช…๋ น์–ด ์ •๋ฆฌ - ์••์ถ• ๋ฐ ์••์ถ• ํ•ด์ œ


๐Ÿงญ tar ์ด๋ž€?

  • ์—ฌ๋Ÿฌ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋ฌถ๋Š” ๋„๊ตฌ
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์••์ถ•ํ•˜์ง€ ์•Š๊ณ  "๋ฌถ๊ธฐ(tape archive)"๋งŒ ์ˆ˜ํ–‰
  • gzip (.gz), bzip2 (.bz2), xz (.xz) ๋“ฑ์˜ ์••์ถ• ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๐Ÿ“Œ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

tar [์˜ต์…˜] [ํŒŒ์ผ๋ช….tar] [๋Œ€์ƒ ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ]

๐Ÿ“ฅ ๋ฌถ๊ธฐ (์••์ถ• ์—†์ด ์•„์นด์ด๋ธŒ ์ƒ์„ฑ)

tar -cf archive.tar file1 file2 dir/
  • -c : ์ƒˆ ์•„์นด์ด๋ธŒ ์ƒ์„ฑ(create)
  • -f : ํŒŒ์ผ ์ด๋ฆ„ ์ง€์ •(file)

๐Ÿ“ฆ ์••์ถ•ํ•˜๋ฉด์„œ ๋ฌถ๊ธฐ

์••์ถ• ํ˜•์‹๋ช…๋ น์–ด ์˜ˆ์‹œ์„ค๋ช…
gzip (.tar.gz)tar -czf archive.tar.gz dir/gzip ์••์ถ•๊ณผ ํ•จ๊ป˜ ๋ฌถ๊ธฐ
bzip2 (.tar.bz2)tar -cjf archive.tar.bz2 dir/๋” ๋†’์€ ์••์ถ•๋ฅ 
xz (.tar.xz)tar -cJf archive.tar.xz dir/๋งค์šฐ ๋†’์€ ์••์ถ•๋ฅ 

๐Ÿ“ค ์••์ถ• ํ•ด์ œ (๋ฌถ์Œ ํ•ด์ œ)

์ผ๋ฐ˜ .tar ํŒŒ์ผ ํ•ด์ œ

tar -xf archive.tar

.tar.gz ํ•ด์ œ (gzip)

tar -xzf archive.tar.gz

.tar.bz2 ํ•ด์ œ (bzip2)

tar -xjf archive.tar.bz2

.tar.xz ํ•ด์ œ (xz)

tar -xJf archive.tar.xz

๐Ÿ“ ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— ์••์ถ• ํ•ด์ œ

tar -xzf archive.tar.gz -C /path/to/target/
  • -C ์˜ต์…˜: ์••์ถ•์„ ์ง€์ •ํ•œ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— ํ•ด์ œ

๐Ÿงฐ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜ ์ •๋ฆฌ

์˜ต์…˜์˜๋ฏธ
-c์ƒˆ ์•„์นด์ด๋ธŒ ์ƒ์„ฑ (create)
-x์••์ถ• ํ•ด์ œ (extract)
-fํŒŒ์ผ ์ด๋ฆ„ ์ง€์ • (file)
-v์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์ž์„ธํžˆ ์ถœ๋ ฅ (verbose)
-zgzip ์‚ฌ์šฉ
-jbzip2 ์‚ฌ์šฉ
-Jxz ์‚ฌ์šฉ
-C๋””๋ ‰ํ† ๋ฆฌ ์ง€์ •ํ•˜์—ฌ ์••์ถ• ํ•ด์ œ

โœ… ์‹ค์ „ ์˜ˆ์‹œ ๋ชจ์Œ

# 1. ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ gzip ์••์ถ•ํ•œ tar ํŒŒ์ผ๋กœ ๋งŒ๋“ค๊ธฐ
tar -czvf backup.tar.gz myfolder/

# 2. ์••์ถ• ํŒŒ์ผ ํ•ด์ œ (ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—)
tar -xzvf backup.tar.gz

# 3. ํŠน์ • ํด๋”์— ์••์ถ• ํ•ด์ œ
tar -xzvf backup.tar.gz -C /tmp/extracted/

๐Ÿ“ ์ฐธ๊ณ 

  • .tar๋Š” ๋ฌถ๊ธฐ๋งŒ ํ•˜๊ณ  ์••์ถ•์€ ํ•˜์ง€ ์•Š์Œ
  • .tar.gz, .tgz๋Š” gzip ์••์ถ• + tar
  • .tar.bz2, .tar.xz๋Š” ์••์ถ•๋ฅ ์ด ๋” ๋†’์ง€๋งŒ ์••์ถ•/ํ•ด์ œ ์‹œ๊ฐ„์ด ๊ธธ ์ˆ˜ ์žˆ์Œ

๐Ÿณ Docker๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

1. ํ•œ ์ค„ ์ •์˜

Docker๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.


2. ๊ฐ€์ƒ๋จธ์‹ (VM)๊ณผ Docker์˜ ์ฐจ์ด์ 

ํ•ญ๋ชฉ์ „ํ†ต์ ์ธ ๊ฐ€์ƒ ๋จธ์‹  (VM)Docker (์ปจํ…Œ์ด๋„ˆ)
์šด์˜์ฒด์ œ ํฌํ•จ ์—ฌ๋ถ€โœ… ๊ฒŒ์ŠคํŠธ OS ํฌํ•จ (๋ฌด๊ฑฐ์›€)โŒ OS ์—†์ด, ์ปค๋„๋งŒ ๊ณต์œ  (๊ฐ€๋ฒผ์›€)
์‹คํ–‰ ์†๋„๋А๋ฆผ (์ˆ˜์‹ญ ์ดˆ~์ˆ˜ ๋ถ„)๋งค์šฐ ๋น ๋ฆ„ (์ˆ˜ ์ดˆ ์ด๋‚ด)
๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์ˆ˜ GB ์ด์ƒ์ˆ˜ MB ์ˆ˜์ค€
์‹คํ–‰ ๋‹จ์œ„์ „์ฒด ์‹œ์Šคํ…œํ•˜๋‚˜์˜ ์•ฑ ๋˜๋Š” ์„œ๋น„์Šค ๋‹จ์œ„
์„ฑ๋Šฅํ•˜๋“œ์›จ์–ด ๊ฐ€์ƒํ™”๋กœ ๋А๋ ค์ง๊ฑฐ์˜ ๋„ค์ดํ‹ฐ๋ธŒ ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ
๊ฒฉ๋ฆฌ ๋ฐฉ์‹Hypervisor (ํ•˜๋“œ์›จ์–ด ๊ฐ€์ƒํ™”)Namespace + cgroups (์ปค๋„ ๋ ˆ๋ฒจ ๊ฒฉ๋ฆฌ)

3. Docker๋Š” ์™œ ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์šด๊ฐ€?

โœ… ํ•ต์‹ฌ ์ด์œ : ํ˜ธ์ŠคํŠธ์˜ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • ์ปจํ…Œ์ด๋„ˆ๋Š” ์ƒˆ๋กœ์šด OS๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ ,
  • ๋‹จ์ง€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฉ๋ฆฌํ•ด์„œ ๋ถ„๋ฆฌํ•ด์ฃผ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

๐Ÿง  Docker ํ•ต์‹ฌ ๊ธฐ์ˆ 

  • Namespaces: ํ”„๋กœ์„ธ์Šค, ๋„คํŠธ์›Œํฌ, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ถ„๋ฆฌ
  • cgroups: CPU/๋ฉ”๋ชจ๋ฆฌ ๋“ฑ ๋ฆฌ์†Œ์Šค ์ œํ•œ
  • UnionFS: ๊ณ„์ธต์  ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ (Dockerfile ์ด๋ฏธ์ง€ ๊ตฌ์กฐ)

4. ๊ตฌ์กฐ ๋น„๊ต: VM vs Docker

5. Docker ์‹คํ–‰ ํ๋ฆ„

  1. Dockerfile๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ ์ •์˜
  2. docker build โ†’ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑ
  3. docker run โ†’ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ (์•ฑ ๋™์ž‘)
  4. -p ์˜ต์…˜์œผ๋กœ ํฌํŠธ ์—ฐ๊ฒฐ
  5. -v ์˜ต์…˜์œผ๋กœ ํŒŒ์ผ ๊ณต์œ 
  6. -e ์˜ต์…˜์œผ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ „๋‹ฌ

6. ๋น„์œ ๋กœ ์ดํ•ดํ•˜๊ธฐ ๐ŸŽ’

  • VM: ์บ ํ•‘ํ•  ๋•Œ ์ง‘ ํ•œ ์ฑ„๋ฅผ ํ†ต์งธ๋กœ ๋“ค๊ณ  ๊ฐ€๋Š” ๊ฒƒ
  • Docker: ๋ฐฑํŒฉ ํ•˜๋‚˜์— ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์ฑ™๊ฒจ ๊ฐ€๋ณ๊ฒŒ ์ด๋™ํ•˜๋Š” ๊ฒƒ

7. Docker์˜ ์žฅ์ 

โœ… ๋น ๋ฅธ ์‹คํ–‰ (์ดˆ ๋‹จ์œ„)
โœ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„ ๊ฒฉ๋ฆฌ
โœ… ์šด์˜์ฒด์ œ ์˜์กด์„ฑ ์—†์Œ
โœ… ์–ด๋””์„œ๋‚˜ ๊ฐ™์€ ํ™˜๊ฒฝ (๊ฐœ๋ฐœ โ†’ ํ…Œ์ŠคํŠธ โ†’ ๋ฐฐํฌ ๋™์ผ)
โœ… CI/CD, ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ์— ์ตœ์ ํ™”


8. ์‹ค์ „์—์„œ Docker๊ฐ€ ์“ฐ์ด๋Š” ๊ณณ

  • Spring Boot, Node.js, Python ๋“ฑ ์•ฑ ๋ฐฐํฌ
  • DB ์„œ๋ฒ„ (MySQL, Redis, Oracle) ์ปจํ…Œ์ด๋„ˆํ™”
  • Jenkins, GitLab ๋“ฑ DevOps ๋„๊ตฌ ์‹คํ–‰
  • Nginx, ์›น์„œ๋ฒ„ ํ”„๋ก์‹œ ์„ค์ •
  • Kubernetes์™€ ํ•จ๊ป˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์šด์˜

9. ์š”์•ฝ โœจ

ํ‚ค์›Œ๋“œ์˜๋ฏธ
์ด๋ฏธ์ง€์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์„ ์œ„ํ•œ ์„ค๊ณ„๋„
์ปจํ…Œ์ด๋„ˆ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค
Dockerfile์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ช…์„ธ์„œ
๋นŒ๋“œDockerfile๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •
์‹คํ–‰์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์šฐ๋Š” ๊ฒƒ

0๊ฐœ์˜ ๋Œ“๊ธ€