C.W.K.
Stream
Lesson 07 of 12 · published

mkdir, rmdir, rm — 만들고 지우기

~12 min · mkdir, rmdir, rm, trash

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

만들기

mkdir foo 가 디렉터리 하나. mkdir -p a/b/c 는 체인 전부 한 번에, 이미 있으면 조용히 성공 — 스크립트에 최적. mkdir -m 700 secret 으로 권한까지 atomic 설정.

비어 있을 때만 지우기

rmdir foo 는 빈 디렉터리만 삭제. 안에 뭐 있으면 거부. 그게 안전망. 일상적으로는 rm -r 을 더 자주 쓰지만, 안전망 원할 땐 rmdir 이 정답.

진짜 삭제

  • rm file — 파일 하나. 휴지통 없음, 되돌리기 없음.
  • rm -i file — interactive. 매 파일마다 물어봄.
  • rm -r dir/ — 재귀. 안 거 다 지움.
  • rm -f file — force. 없어도 안 따지고, read-only 도 안 물어봄.
  • rm -rf dir/ — 핵폭탄 콤보. 조심.

휴지통 없음. rm = 백업 없으면 끝. macOS 면 brew install trashtrash command 받아서 GUI 휴지통으로 보낼 수 있어 — 진짜 되돌리기 가능.

두려워해야 할 패턴

rm -rf $VAR/* — bash 에서 $VAR 가 비어 있으면 rm -rf /* 로 변신. 무조건 인용: rm -rf "$VAR/"* 하고 $VAR 설정 먼저 검증. Steam 의 Linux 설치 프로그램이 이 버그로 사용자 홈을 삭제한 사고가 있었어.

Code

깊이 생성 / 삭제·bash
mkdir -p ~/work/2026/may/notes
ls ~/work/2026/may/
rmdir ~/work/2026/may/notes      # only if empty
rm -r ~/work                     # everything under work
trash 로 안전하게·bash
brew install trash
trash ~/Downloads/old.pdf        # goes to macOS Trash
# Recover from Finder, or empty for real later

External links

Exercise

mkdir -p ~/sandbox/a/b/c 로 깊은 트리 생성. tree ~/sandbox 로 확인. rmdir ~/sandbox/a/b/c 으로 leaf 만 삭제 (비어 있으니 OK). 나머지 rm -rf ~/sandbox. brew install trashtrash ~/sandbox 도 해 보고 차이 느껴봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.