mkdir test,遇到多级目录、批量建目录、创建即指定权限等场景就束手无策,今天一文吃透mkdir全部实战用法,覆盖90%工作场景。mkdir [参数] 目录名称常用参数:
-p:递归创建多级目录,父目录不存在自动生成(最常用)-m:创建目录同时直接设置权限,无需后续 chmod-v:打印创建日志,可视化看到创建过程,脚本调试必备二、基础实战用法1. 创建单个普通目录最简单用法,直接指定文件夹名称mkdir data
执行后当前目录生成data文件夹。mkdir logs tmp backup
-p会报错 “没有那个文件或目录”。示例:创建/opt/spark/data/shuffle三级目录。。#正确写法,自动补全不存在的父级文件夹mkdir -p /opt/spark/data/shuffle

搭配-v打印创建日志,清晰看到每一层创建记录:
mkdir -pv /opt/spark/data/shuffle
四、创建目录同时指定权限 -m 参数
常规流程:创建目录→chmod 修改权限,两步操作;-m一步到位,创建时直接赋予权限。
场景 1:创建目录权限755(所有者读写执行,组和其他用户读、执行)
mkdir -m 755 project
场景 2:创建共享目录,权限777,所有用户可读写
mkdir -m 777 share_dir
mkdir -pm 700 /root/secret/logs#备注:仅当前新建目录生效,父目录不生效。

#创建day01~day09 9个文件夹mkdir -p data/day{01..09}#创建202601~202603月度目录mkdir -p logs/2026{01..03}

mkdir -p project/{src,logs,conf,bin}
mkdir -pv /data/hadoop/{tmp,data,logs,name,dataNode}mkdir -pv /data/spark/shuffle /data/yarn/local
mkdir -pm 700 /opt/agent/secretmkdir -p /var/log/app/$(date +%Y%m%d)
报错:No such file or directory原因:创建多级目录未加-p,父文件夹不存在解决:命令追加-p参数
权限不足:Permission denied原因:系统根目录、/opt 等系统目录无写入权限解决:加sudo执行,或切换 root 用户
目录已存在提示加-p参数后,目录存在不会抛出报错,脚本执行不会中断,线上脚本强制推荐带-p
mkdir是linux最基础但使用频率极高的命令,尤其是自动化脚本、集群初始化场景,用好-p、-m、批量创建语法,能大幅减少重复操作,提升运维效率。如果你觉得文章对你的运维工作有帮助,记得点赞加关注。