linux中创建目录用mkdir(支持单级、多级、多目录及权限设置),删除空目录用rmdir(支持单个、多个及递归删除),非空目录必须用rm -r(加-f跳过确认但风险高),操作时需警惕路径错误和特殊字符问题。

Linux 里创建和删除目录,核心就两个命令:mkdir 负责建目录,rmdir 和 rm -r 负责删目录。关键区别在于:rmdir 只能删空目录,非空目录必须用 rm -r —— 这个操作不可逆,得格外小心。
用 mkdir 创建目录
mkdir 是“make directory”的缩写,最常用也最灵活:
-
建单个目录:直接输入
mkdir myfolder,就在当前目录下新建一个叫 myfolder 的空目录; -
建多级嵌套目录:比如要建
a/b/c,但 a 和 b 还不存在,就得加-p参数:mkdir -p a/b/c,系统会自动把 a、b、c 全部创建出来; -
一次性建多个同级目录:如
mkdir logs config data,会在当前目录下同时生成三个并列的空目录; -
建目录时指定权限:用
-m设置,例如mkdir -m 750 private,让所有者可读写执行、组用户可读执行、其他人无权限。
用 rmdir 删除空目录
rmdir 安全性高,只删真正空的目录,避免误删内容:
-
删单个空目录:
rmdir empty_dir; -
删多个同级空目录:
rmdir dir1 dir2 dir3; -
递归删空的多级目录:比如
a/b/c全是空的,用rmdir -p a/b/c,它会从 c 开始删,删完 c 后 b 变空,接着删 b,最后删 a。
用 rm -r 删除非空目录
目录里有文件或子目录时,rmdir 就失效了,必须用 rm -r(-r 表示递归):
-
rm -r myproject会删掉 myproject 目录及其里面所有文件、子目录; - 加
-f可跳过确认提示,变成rm -rf myproject,操作更快但风险更高; - 建议删之前先用
ls -R myproject或tree myproject确认目标路径,尤其注意别漏掉/或输错路径,否则可能误删系统关键目录。
常见问题提醒
新手容易卡在这几个地方:
- mkdir 创建多级目录不加
-p,报错 “No such file or directory”; - 想删非空目录却只用
rmdir,提示 “Directory not empty”; - 用
rm -rf时路径写错,比如多打一个/成了rm -rf /home/xxx/写成rm -rf / home/xxx/,可能触发严重误删; - 目录名含空格或特殊字符(如
*、?、$),命令会出错,建议用英文下划线或短横线命名。











