๊ฐœ๋ฐœ๋…ธํŠธ/Linux

[Linux] rmdir ๋ช…๋ น์–ด ๊ฐ€์ด๋“œ – ์•ˆ์ „ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํด๋” ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ• ๐Ÿ’ก

๋กœ๋กœ๋ฝœ 2025. 12. 3. 07:30

Linux rmdir ๋ช…๋ น์–ด๋Š” ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด์ž ํ•„์ˆ˜ ๋ช…๋ น์ด๋‹ค. ์‚ฌ์šฉ๋ฒ•, ์˜ต์…˜, ์‹ค์ „ ์˜ˆ์ œ, ์ฃผ์˜์ , ์—๋Ÿฌ ํ•ด๊ฒฐ๊นŒ์ง€ ์™„์ „ ์ •๋ฆฌํ–ˆ๋‹ค.

1. Linux rmdir ๋ช…๋ น์–ด๋ฅผ ๋ฐฐ์šฐ๋ฉด ์–ด๋–ค ์ ์ด ๋‹ฌ๋ผ์งˆ๊นŒ?

Linux์—์„œ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์„ ๊ด€๋ฆฌํ•˜๋‹ค ๋ณด๋ฉด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•˜๋Š” ์ˆœ๊ฐ„์ด ๋งค์ผ ์ƒ๊ธด๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์Šต๊ด€์ ์œผ๋กœ rm -rf๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
์ด ๋ช…๋ น์ด ์–ผ๋งˆ๋‚˜ ์œ„ํ—˜ํ•œ์ง€ ์•Œ๊ณ  ์žˆ์–ด๋„ ์†์ด ๋จผ์ € ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

ํ•˜์ง€๋งŒ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ณ  ์‹ถ๋‹ค๋ฉด,
๊ทธ๋ฆฌ๊ณ  ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ์—์„œ “์‹ค์ˆ˜๋กœ ๋ฐ์ดํ„ฐ ๋‚ ๋ฆด ๊ฐ€๋Šฅ์„ฑ 0%”๋ฅผ ์›ํ•œ๋‹ค๋ฉด,
๊ฐ€์žฅ ๋จผ์ € ๋ฐฐ์›Œ์•ผ ํ•  ๋ช…๋ น์€ ๋ฐ”๋กœ rmdir์ด๋‹ค.

rmdir๋Š” “๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์‚ญ์ œํ•œ๋‹ค”๋Š” ๋‹จ์ˆœํ•œ ์›์น™ ๋•๋ถ„์—
๊ฐ€์žฅ ์•ˆ์ „ํ•˜๊ณ , ๊ตฌ์กฐ์ ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ ๋„๊ตฌ๋กœ ํ‰๊ฐ€๋œ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” rmdir์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ์˜ต์…˜, ์‹ค์ „ ํ™œ์šฉ, rm -rf์™€์˜ ๋น„๊ต, ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ,
์ž„๋ฒ ๋””๋“œ·OpenWrt ํ™˜๊ฒฝ ์ ์šฉ๊นŒ์ง€ ๋ชจ๋“  ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ•œ๋‹ค.


2. rmdir ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ์™€ ๊ธฐ๋ณธ ๊ฐœ๋… ์ •๋ฆฌ

1) rmdir ํ•ต์‹ฌ ์š”์•ฝ

  • ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅ
  • ์‹ค์ˆ˜๋กœ ํŒŒ์ผ ์‚ญ์ œํ•  ์œ„ํ—˜์ด ๊ฑฐ์˜ ์—†์Œ
  • rm๋ณด๋‹ค ํ›จ์”ฌ ์•ˆ์ „ํ•จ
  • CI/CD, ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ, ๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉ๋จ
  • ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ ์ •๋ฆฌ ์‹œ ์•ˆ์ „์„ฑ·๋ช…ํ™•์„ฑ ๋†’์Œ

2) ์™œ ๋น„์–ด ์žˆ์–ด์•ผ๋งŒ ์‚ญ์ œํ• ๊นŒ?

Linux ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ํŠธ๋ฆฌ ๊ตฌ์กฐ์ด๋ฉฐ,
rmdir๋Š” ์žŽ(leaf) ์—ญํ• ์„ ํ•˜๋Š” ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ์›์น™์œผ๋กœ ํ•œ๋‹ค.

์ด๋Š” ๊ณง ๋‹ค์Œ์„ ์˜๋ฏธํ•œ๋‹ค:

  • ์˜๋„ํ•˜์ง€ ์•Š์€ ํŒŒ์ผ ์‚ญ์ œ๊ฐ€ ์ ˆ๋Œ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ
  • ์œ„ํ—˜ํ•œ ์žฌ๊ท€ ์‚ญ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Œ
  • ๋””๋ ‰ํ„ฐ๋ฆฌ ์ •๋ฆฌ๊ฐ€ “์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ „ํ•จ”

rmdir๊ฐ€ ๋น„์–ด์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์‚ญ์ œํ•˜๋Š” ๊ตฌ์กฐ
rmdir์˜ ํŒŒ์ผ์‹œ์Šคํ…œ ์•ˆ์ „ ์‚ญ์ œ ์›๋ฆฌ


3. rmdir ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•

Linux ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ํŠธ๋ฆฌ ๊ตฌ์กฐ์ด๋ฉฐ, ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ๊ฐ€์ง€(branch)๋‚˜ ์žŽ(leaf) ์—ญํ• ์„ ํ•œ๋‹ค.
rmdir๋Š” ์ด ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ์žŽ(leaf) ๋ถ€๋ถ„, ์ฆ‰ ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์ œ๊ฑฐํ•œ๋‹ค.

๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

rmdir [์˜ต์…˜] ๋””๋ ‰ํ„ฐ๋ฆฌ๋ช…
 

์˜ˆ:

rmdir logs
 

๋‹จ, logs ํด๋”๊ฐ€ ์™„์ „ํžˆ ๋น„์–ด ์žˆ์–ด์•ผ ์‚ญ์ œ ์„ฑ๊ณตํ•œ๋‹ค.


4. rmdir ๋ช…๋ น์–ด ์ „์ฒด ์˜ต์…˜ ์ •๋ฆฌ

1) ๊ธฐ๋ณธ ์‚ฌ์šฉ ์˜ˆ์ œ

rmdir build/
 

๋น„์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ญ์ œ ์„ฑ๊ณต.

2) ์—ฌ๋Ÿฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋™์‹œ ์‚ญ์ œ

rmdir dir1 dir2 dir3
 

๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋‚˜์—ดํ•˜๋ฉด ๋ชจ๋‘ ์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋‹ค.

3) ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๊นŒ์ง€ ์—ฐ์† ์‚ญ์ œ (-p ์˜ต์…˜)

๊ฐ€์žฅ ์œ ์šฉํ•œ ์˜ต์…˜์ด๋‹ค.

rmdir -p backup/2025/11/target
 

์‚ญ์ œ ๋™์ž‘ ์ˆœ์„œ:

  • target ์‚ญ์ œ
  • 11 ์‚ญ์ œ
  • 2025 ์‚ญ์ œ
  • backup ์‚ญ์ œ

๋‹จ, ๊ฐ ๋‹จ๊ณ„๊ฐ€ ๋น„์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

rmdir -p ์˜ต์…˜์˜ ์—ฐ์† ์‚ญ์ œ ๊ตฌ์กฐ
์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๊นŒ์ง€ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ญ์ œํ•˜๋Š” rmdir -p


4) --ignore-fail-on-non-empty : ์‹คํŒจ ๋ฉ”์‹œ์ง€ ๋ฌด์‹œ

rmdir --ignore-fail-on-non-empty logs/
 

๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š์•„๋„ ๊ฒฝ๊ณ  ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค.
CI/CD, ๋ฐ˜๋ณต ๋นŒ๋“œ ํ™˜๊ฒฝ์—์„œ ๋กœ๊ทธ ์ŠคํŒธ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.


5. rmdir์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ & ํ•ด๊ฒฐ๋ฒ•

1) Directory not empty

๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€:

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

ํ•ด๊ฒฐ๋ฒ•

  • ๋‚ด๋ถ€ ํŒŒ์ผ ํ™•์ธ
ls -al build/
  • ์ˆจ๊น€ ํŒŒ์ผ ํ™•์ธ
ls -a build/

์ˆจ๊น€ ํŒŒ์ผ ๋•Œ๋ฌธ์— ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งค์šฐ ๋งŽ๋‹ค.
.gitkeep, .DS_Store, .config ๋“ฑ์ด ๋Œ€ํ‘œ์  ์›์ธ.

 

2) Permission denied

๊ถŒํ•œ ๋ฌธ์ œ์ผ ๊ฒฝ์šฐ:

sudo rmdir dirname
 

ํ˜น์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์†Œ์œ ๊ถŒ ์กฐ์ •:

sudo chown -R user:user dirname
 

3) Device or resource busy (๋งˆ์šดํŠธ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ)

์˜ˆ:

rmdir: failed to remove 'mnt': Device or resource busy
 

์–ธ๋งˆ์šดํŠธํ•˜๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.

umount mnt
 

rmdir ์˜ค๋ฅ˜ ๋ฐ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ
Directory not empty, Permission denied ํ•ด๊ฒฐ ํ๋ฆ„


6. rm -rf vs rmdir๋ฅผ ํ™•์‹คํžˆ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋‘ ๋ช…๋ น์˜ ์ฐจ์ด๋Š” ๋‹จ์ˆœ ๊ธฐ๋Šฅ์„ ๋„˜์–ด ์‚ฌ๊ณ  ๊ฐ€๋Šฅ์„ฑ์—๋„ ํฐ ์ฐจ์ด๋ฅผ ๋งŒ๋“ ๋‹ค.

๊ตฌ๋ถ„ rmdir rm -rf
์‚ญ์ œ ๊ฐ€๋Šฅ ๋Œ€์ƒ ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชจ๋“  ํŒŒ์ผ·๋””๋ ‰ํ„ฐ๋ฆฌ
์•ˆ์ „์„ฑ ๋งค์šฐ ์•ˆ์ „ ๋งค์šฐ ์œ„ํ—˜
์‹ค์ˆ˜ ๊ฐ€๋Šฅ์„ฑ ๋‚ฎ์Œ ๋งค์šฐ ๋†’์Œ
๋ฐฑ์—…/์šด์˜ํ™˜๊ฒฝ ์‚ฌ์šฉ ์•ˆ์ „ ์œ„ํ—˜
์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ์ ๊ทน ๊ถŒ์žฅ ์‹ ์ค‘ํ•˜๊ฒŒ

์š”์•ฝํ•˜๋ฉด,

rm -rf๋Š” ๊ฐ•์ œ๋กœ ์‚ญ์ œํ•˜๋Š” ๋„๊ตฌ,
rmdir๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ์‚ญ์ œํ•˜๋Š” ๋„๊ตฌ.


7. ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ์—์„œ rmdir ํ™œ์šฉํ•˜๊ธฐ

์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐ˜๋ณต ๋นŒ๋“œํ•˜๋‹ค ๋ณด๋ฉด build/, tmp/, dist/ ๋“ฑ ์ž„์‹œ ํด๋”๊ฐ€ ๊ณ„์† ์Œ“์ธ๋‹ค.
์ด๋•Œ rm -rf ๋Œ€์‹  rmdir๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์ˆ˜ ์œ„ํ—˜์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

#!/bin/sh

# ๋น„์–ด ์žˆ๋Š” build ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ
[ -d build ] && rmdir build 2>/dev/null

# ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๊นŒ์ง€ ๋น„์–ด ์žˆ์œผ๋ฉด ํ•จ๊ป˜ ์‚ญ์ œ
rmdir -p output/2025/11/ 2>/dev/null

# ์—ฌ๋Ÿฌ ๋กœ๊ทธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž๋™ ์ •๋ฆฌ
for d in logs old tmp; do
    rmdir $d 2>/dev/null
done
 

์žฅ์  ์š”์•ฝ

  • rm -rf๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์•ˆ์ „์„ฑ ๋†’์Œ
  • ์ž๋™ํ™”๋œ ๋นŒ๋“œ์—์„œ ๋น ๋ฅด๊ฒŒ ์ •๋ฆฌ ๊ฐ€๋Šฅ
  • ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ CI/CD ๋กœ๊ทธ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ

8. ์ž„๋ฒ ๋””๋“œ·OpenWrt ํ˜„์žฅ์—์„œ rmdir๋ฅผ ์“ฐ๋ฉด ์ข‹์€ ์ด์œ 

OpenWrt·์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ๊ณ ์ •์ ์ด๋ฉฐ, ์‹ค์ˆ˜ ํ•˜๋‚˜๊ฐ€ ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์ „์ฒด๋ฅผ ๋ง๊ฐ€๋œจ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

rmdir๊ฐ€ ํŠนํžˆ ์œ ์šฉํ•œ ์ƒํ™ฉ

  • staging_dir ๊ตฌ์กฐ ์ •๋ฆฌ
  • download/ ๋‚ด๋ถ€์˜ ๋น„์–ด ์žˆ๋Š” ํŒจํ‚ค์ง€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ œ๊ฑฐ
  • rootfs ์ด๋ฏธ์ง€ ๋นŒ๋“œ ํ›„ ๋‚จ๋Š” ์ž”์—ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ œ๊ฑฐ
  • /etc/init.d, /etc/rc.d ์ž‘์—… ํ›„ ๋‚จ๋Š” ๋นˆ ํด๋” ์ •๋ฆฌ

์˜ˆ:

rmdir -p build_dir/target*/tmp_pkg/

rmdir์˜ ์žฅ์ ์€ “์ ˆ๋Œ€ ์œ„ํ—˜ํ•œ ์‚ญ์ œ๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค”๋Š” ์ ์ด๋‹ค.
์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ ์ด๋Š” ๋งค์šฐ ํฐ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.

OpenWrt ๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ rmdir ์‚ฌ์šฉ ์˜ˆ
์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ rmdir๊ฐ€ ์•ˆ์ „ํ•œ ์ด์œ 

9. Git ํ”„๋กœ์ ํŠธ ์ž‘์—… ์‹œ rmdir ํ™œ์šฉํ•˜๊ธฐ

Git ๋ธŒ๋žœ์น˜ ์ „ํ™˜ ์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด rmdir๋Š” ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

์˜ˆ:

rmdir build-output/test/
rmdir -p dist/2025/11/
 
  • ์‹ค์ˆ˜๋กœ ์ค‘์š”ํ•œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜์ง€ ์•Š์Œ
  • ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์ •๋ฆฌ๋˜๋ฏ€๋กœ ์•ˆ์ „

10. Docker ๋นŒ๋“œ ํ™˜๊ฒฝ์—์„œ rmdir์˜ ์žฅ์ 

Docker ๋ฉ€ํ‹ฐ์Šคํ…Œ์ด์ง€ ๋นŒ๋“œ ์ค‘ ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋‚จ์•„ ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰์„ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
ํŠนํžˆ /tmp, /build ๋‚ด๋ถ€๊ฐ€ ๋น„์–ด ์žˆ๋Š” ์ƒํ™ฉ์—๋Š” rmdir๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Dockerfile ์˜ˆ:

RUN rmdir /tmp/build_stage 2>/dev/null || true
 

11. rmdir๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ๊ธฐ์–ตํ•ด์•ผ ํ•  ํ•ต์‹ฌ 5๊ฐ€์ง€

  1. ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์‚ญ์ œํ•œ๋‹ค.
  2. -p ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋„ ์—ฐ์† ์‚ญ์ œ๋œ๋‹ค.
  3. rm -rf๋ณด๋‹ค ํ›จ์”ฌ ์•ˆ์ „ํ•˜๋‹ค.
  4. ์ž๋™ํ™”/์Šคํฌ๋ฆฝํŠธ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค.
  5. Directory not empty๋Š” ์ˆจ๊น€ ํŒŒ์ผ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

12. ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ(FAQ)

Q1. ๋น„์–ด ์žˆ์ง€ ์•Š์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” rmdir๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‚˜์š”?

๋„ค. ์ ˆ๋Œ€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ด ์ฒ ํ•™ ๋•๋ถ„์— rmdir๋Š” ๋งค์šฐ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

Q2. ๊ทธ๋Ÿผ rm -rf๋ž‘ rmdir๋ฅผ ์„ž์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€?

์•ˆ์ „ ํŒจํ„ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์š”.

rmdir dir 2>/dev/null || rm -rf dir
 

๊ฐ€๋Šฅํ•˜๋ฉด ๋จผ์ € rmdir๋กœ ์‚ญ์ œ๋ฅผ ์‹œ๋„ํ•˜๊ณ , ์‹คํŒจํ•˜๋ฉด rm -rf๋กœ ๋„˜์–ด๊ฐ€๋Š” ๋ฐฉ์‹.

Q3. ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด?

ls -A dirname
 

๋น„์–ด ์žˆ์œผ๋ฉด ์•„๋ฌด ์ถœ๋ ฅ์ด ์—†๋‹ค.

Q4. ๋น„์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์„ ํ•œ ๋ฒˆ์— ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด?

find . -type d -empty
 

Q5. rmdir๋Š” ํŒŒ์ผ ์‚ญ์ œ์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‚˜์š”?

๋„ค. ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž์ฒด๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํŒŒ์ผ ์‚ญ์ œ ๊ธฐ๋Šฅ์€ ์—†๋‹ค.


13. ๊ฒฐ๋ก  - Linux์—์„œ rmdir๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ฃผ๋Š” ๋ณ€ํ™”

Linux์—์„œ ์‹ค์ˆ˜๋Š” ๊ณง ๋ฐ์ดํ„ฐ ์†์‹ค๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
ํŠนํžˆ ์šด์˜ํ™˜๊ฒฝ·์ž„๋ฒ ๋””๋“œ·๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ๋Š” rm -rf ํ•œ ์ค„์ด ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ๋ง๊ฐ€๋œจ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

rmdir๋Š” ์ž‘๊ณ  ๋‹จ์ˆœํ•˜์ง€๋งŒ,
์‚ญ์ œ ๊ณผ์ •์„ “์•ˆ์ „ํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ” ๋งŒ๋“ค์–ด ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ํฌ๊ฒŒ ์˜ฌ๋ ค์ค€๋‹ค.

“์ž‘์€ ๋ช…๋ น์–ด ํ•˜๋‚˜๊ฐ€, ํฐ ์‚ฌ๊ณ ๋ฅผ ๋ง‰๋Š”๋‹ค.”
์ด์ œ rm -rf๋ฅผ ๋ˆ„๋ฅด๊ธฐ ์ „์— ํ•œ ๋ฒˆ ๋” ์ƒ๊ฐํ•ด๋ณด์ž.
“ํ˜น์‹œ ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ, rmdir๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ง€์šธ ์ˆ˜ ์žˆ๋Š”๊ฐ€?”