๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
6. CS ๊ธฐ์ดˆ ๐Ÿ“š/Linux & Unix ๐Ÿง

[Linux/Unix][2-1] Unix ๋ช…๋ น์–ด์˜ manual, ๋ช…๋ น ์‹คํ–‰ ์˜ˆ์‹œ

by lxvxxu 2025. 10. 20.

 - ls (list)

ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๋“ค์„ ๋ชฉ๋ก ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

·       ํ˜•์‹: ls [์˜ต์…˜][ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ]

·       ์ฃผ์š” ์˜ต์…˜

-a (all): ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ถœ๋ ฅ

-l (long): ํŒŒ์ผ์˜ ์ž์„ธํ•œ ์ •๋ณด(ํผ๋ฏธ์…˜, ์†Œ์œ ์ž, ๊ทธ๋ฃน, ํŒŒ์ผํฌ๊ธฐ, ์ˆ˜์ •์ผ์ž ๋“ฑ)์ถœ๋ ฅ

-S (size): ํŒŒ์ผ ํฌ๊ธฐ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅ

-r (reverse): ํŒŒ์ผ ํฌ๊ธฐ ์—ญ ์ˆœ์œผ๋กœ ์ถœ๋ ฅ

-R (recursive): ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅ

-h (human): K, M, G ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ๊ฐ€๋…์„ฑ ์žˆ๊ฒŒ ์ถœ๋ ฅ

 

 

- mkdir (make directory)

์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

·       ํ˜•์‹: mkdir [๋””๋ ‰ํ„ฐ๋ฆฌ๋ช…]

 

 

- rm (remove) / rmdir

ํŒŒ์ผ ํ˜น์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•œ๋‹ค. ํœด์ง€ํ†ต์ด ๋”ฐ๋กœ ์—†๊ณ  ์˜๊ตฌ์ ์œผ๋กœ ๋‹จ๋ฒˆ์— ์‚ญ์ œ๋˜๋ฏ€๋กœ ์œ ์˜ํ•ด์•ผ ํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค.

·       ํ˜•์‹: rm [์˜ต์…˜] [ํŒŒ์ผ๋ช…]

  • ์ฃผ์š” ์˜ต์…˜

- ๊ธฐ๋ณธ rm : ํŒŒ์ผ์€ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์‚ญ์ œํ•˜์ง€ ๋ชปํ•œ๋‹ค.

- r : ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ทธ ๋‚ด์šฉ๋ฌผ์„ ๋ชจ๋‘ ์‚ญ์ œํ•œ๋‹ค.

- rf : ํ™•์ธ์ ˆ์ฐจ ์—†์ด ์‚ญ์ œ. ์กฐ์‹ฌํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

+) rmdir ๋ช…๋ น์–ด๋Š” ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋งŒ์„ ์ œ๊ฑฐ

 

rm๊ณผ rmdir์€ ๋ชจ๋‘ ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด์ธ๋ฐ,
ํŠนํžˆ -r๊ณผ -rf ์˜ต์…˜์€ ๊ฐ•๋ ฅํ•˜๊ณ  ์ฃผ์˜ํ•ด์„œ ์จ์•ผ ํ•˜๋Š” ์˜ต์…˜์ด์—์š”.

์•„๋ž˜์— ๋‘ ๋ช…๋ น์–ด์˜ ์ฐจ์ด, ์˜ต์…˜ ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ ์˜ˆ์‹œ ์ฝ”๋“œ์™€ ์˜ˆ์ƒ ๊ฒฐ๊ณผ๋ฅผ ์ž์„ธํžˆ ๋ณด์—ฌ์ค„๊ฒŒ ๐Ÿ‘‡


๐Ÿงพ 1๏ธโƒฃ rm ๋ช…๋ น์–ด

โœ… ๊ธฐ๋ณธ ์„ค๋ช…

ํ•ญ๋ชฉ์„ค๋ช…
๋ช…๋ น์–ด rm (remove)
์—ญํ•  ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ
๊ธฐ๋ณธ ๋™์ž‘ ํŒŒ์ผ๋งŒ ์‚ญ์ œ (๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ๋Š” ๋ถˆ๊ฐ€)
์ฃผ์š” ์˜ต์…˜ -r (recursive), -f (force)

โš™๏ธ ์˜ต์…˜ ์„ค๋ช…

์˜ต์…˜์˜๋ฏธ
-r ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๊ทธ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ํŒŒ์ผ/ํด๋”๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ์‚ญ์ œ
-f ์‚ญ์ œ ์ „ ํ™•์ธ ๋ฉ”์‹œ์ง€ ์—†์ด ๊ฐ•์ œ ์‚ญ์ œ

๐Ÿšจ ์กฐ์‹ฌ!
rm -rf / → ์ „์ฒด ์‹œ์Šคํ…œ ์‚ญ์ œ (์‹ค์ œ ์‹œ์Šคํ…œ ์†์ƒ ๊ฐ€๋Šฅ)
⇒ ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ ˆ๋Œ€ ์ž…๋ ฅํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ๋ช…๋ น์–ด์˜ˆ์š”.


๐Ÿงฉ ์˜ˆ์‹œ 1: -r ์˜ต์…˜ ์‚ฌ์šฉ

๋ช…๋ น

$ ls
project report.txt
$ ls project
main.c data.txt result.log

$ rm -r project
 
 

๊ฒฐ๊ณผ

project ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๊ทธ ์•ˆ์˜ ํŒŒ์ผ๋“ค์ด ๋ชจ๋‘ ์‚ญ์ œ๋จ
 
 

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

$ ls
report.txt

๐Ÿ“˜ → project ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์‚ฌ๋ผ์กŒ์–ด์š”.


๐Ÿงฉ ์˜ˆ์‹œ 2: -rf ์˜ต์…˜ ์‚ฌ์šฉ (๊ฐ•์ œ ์‚ญ์ œ)

๋ช…๋ น

$ ls
oldfiles report.txt
$ ls oldfiles
a.txt b.txt c.txt

$ rm -rf oldfiles
 

๊ฒฐ๊ณผ

(์•„๋ฌด ๋ฉ”์‹œ์ง€๋„ ์—†์ด ์ฆ‰์‹œ ์‚ญ์ œ ์™„๋ฃŒ)
 

 

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

$ ls
report.txt

๐Ÿ“˜ → oldfiles ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๋‚ด๋ถ€ ํŒŒ์ผ a.txt, b.txt, c.txt ๋ชจ๋‘ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.
โ— ์‚ญ์ œ ์ „ ํ™•์ธ ๋ฉ”์‹œ์ง€๋„ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Œ.


๐Ÿ“‚ 2๏ธโƒฃ rmdir ๋ช…๋ น์–ด

โœ… ๊ธฐ๋ณธ ์„ค๋ช…

ํ•ญ๋ชฉ์„ค๋ช…
๋ช…๋ น์–ด rmdir (remove directory)
์—ญํ•  ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅ
์ œํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ์—๋Ÿฌ ๋ฐœ์ƒ

๐Ÿงฉ ์˜ˆ์‹œ 3: rmdir ์ •์ƒ ์‚ฌ์šฉ

๋ช…๋ น

$ ls
empty_dir work
$ ls empty_dir
(๋น„์–ด ์žˆ์Œ)

$ rmdir empty_dir
 

๊ฒฐ๊ณผ

empty_dir ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ๋จ
 

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

$ ls
work
 

 

๐Ÿงฉ ์˜ˆ์‹œ 4: rmdir ์‹คํŒจ ์‚ฌ๋ก€

๋ช…๋ น

$ ls work
a.txt b.txt
$ rmdir work
 

๊ฒฐ๊ณผ

rmdir: failed to remove 'work': Directory not empty

๐Ÿ“˜ → rmdir์€ ๋‚ด๋ถ€์— ํŒŒ์ผ์ด ์žˆ์„ ๊ฒฝ์šฐ ์‚ญ์ œ ๋ถˆ๊ฐ€.


๐Ÿง  ์š”์•ฝ ์ •๋ฆฌ


 

๋ช…๋ น์–ด ์‚ฌ์šฉ ๋ชฉ์  ์‚ญ์ œ ๋Œ€์ƒ ์˜ต์…˜ ์„ค๋ช…
rm ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ ํŒŒ์ผ or ํด๋” -r ๋””๋ ‰ํ„ฐ๋ฆฌ ํฌํ•จ ๋ชจ๋“  ํ•˜์œ„ ํ•ญ๋ชฉ ์žฌ๊ท€ ์‚ญ์ œ
rm ๊ฐ•์ œ ์‚ญ์ œ ํŒŒ์ผ or ํด๋” -rf ํ™•์ธ ์—†์ด ๋ชจ๋‘ ์‚ญ์ œ (์œ„ํ—˜)
rmdir ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ ๋น„์–ด ์žˆ๋Š” ํด๋”๋งŒ ์—†์Œ ๋‚ด๋ถ€ ํŒŒ์ผ ์กด์žฌ ์‹œ ์‹คํŒจ

โš ๏ธ ์‹ค์Šต ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • rm -rf ๋Š” ์ •๋ง ์กฐ์‹ฌํ•ด์•ผ ํ•จ (๋ฃจํŠธ๋‚˜ ์ค‘์š”ํ•œ ๊ฒฝ๋กœ์—์„œ ์ ˆ๋Œ€ ์‹คํ–‰ X)
  • ์•ˆ์ „ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•  ๋• ์ž„์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ๋งŒ ์‹คํ–‰
     
mkdir testdir
cd testdir
echo "data" > temp.txt
rm -rf .

โœ… ์ •๋ฆฌ ํ•œ ์ค„ ์š”์•ฝ

rm -r dir → ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๋‚ด๋ถ€ ํŒŒ์ผ ์‚ญ์ œ
rm -rf dir → ํ™•์ธ ์—†์ด ๊ฐ•์ œ ์‚ญ์ œ (๋งค์šฐ ์œ„ํ—˜!)
rmdir dir → ๋น„์–ด ์žˆ์„ ๋•Œ๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅ

 

 

 

 

 

 


- cat (concatenate)

ํŒŒ์ผ ๋‚ด์šฉ์„ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์ด์–ด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

·       ํ˜•์‹ : cat [ํŒŒ์ผ๋ช…]

 

 

- cd (change directory)

ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

·       ํ˜•์‹

- cd [๊ฒฝ๋กœ] : ์ง€์ •๋œ ๊ฒฝ๋กœ๋กœ ์ž‘์—… ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

- cd .. : ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค.

- cd - : ๋ฐ”๋กœ ์ด์ „ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค.

- cd ~ : ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค.

 

- cp (copy)

ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค.

·       ํ˜•์‹: cp [์›๋ณธํŒŒ์ผ] [๋ชฉ์ ์ง€]

·       ์ฃผ์š” ์˜ต์…˜

- ๊ธฐ๋ณธ cp : ๋‹จ์ผ ํŒŒ์ผ ๋ณต์‚ฌ

-r : ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ชจ๋“  ํŒŒ์ผ๊ณผ ์„œ๋ธŒ ๋””๋ ‰ํ† ํ„ฐ๋ฅผ ์›ํ•˜๋Š” ๊ณณ์œผ๋กœ ๋ณต์‚ฌํ•œ๋‹ค. ์ƒˆ๋กœ ๋ณต์‚ฌํ•  ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค.